信息系统项目管理师含金量及证书作用?
1、软考以考代评,软考证书可以只用用来评相应的级别的职称,高项高级证书可以用于聘任高级工程师职务。这也是全国唯一能以考代评获取职称的资格考试!
2、软考证书可以用于积分落户,加分可以实现更快速的落户,高级证书加的最多。
3、升职加薪,软考证书也是成为了衡量员工的项目管理能力的标准,也有明码标价的企业会直接给有高级证书薪资涨多少或者奖励多少。
4、个人提升扩张知识面,信息系统项目管理师除了IT的基础技术外,同时有项目管理的5大过程组,10大知识领域的内容,内容覆盖面广泛提升IT人士的综合能力。
5、国际互相认证,部分级别的考试已与日本、韩国相应级别的考试互认。
话不多说 直接上干货 喜欢 就点点关注,
1.1信息系统与信息化
1.1.1信息的基本概念
1、信息的质量属性:
(1)精确性,对事务状态描述的精准程度。
(2)完整性,对事务状态描述的全面程度,完整信息应包含所有重要事实
(3)可靠性,指信息的来源、采集方法、传输过程是可以信任的,符合预期。
(4)及时性,指获得信息的时刻与事件发生时刻的间隔长短。昨天的天气信息不论怎样精确、完整,对指导明天的穿衣并无帮助,从这个角度出发,这个信息的价值为零。
(5)经济性,指信息获取、传输带来的成本在可以接受的范围之内。
(6)可验证性,指信息的主要质量属性可以被证实或者证伪的程度。
(7)安全性,指在信息的生命周期中,信息可以被非授权访问的可能性,可能性越低,安全性越高。
2、信息是有价值的一种客观存在。信息技术主要为解决信息的采集、加工、存储、传输、处理、计算、转换、表现等问题而不断繁荣发展。信息只有流动起来,才能体现其价值,因此信息的传输技术(通常指通信、网络等)是信息技术的核心。信息的传输模型,如图
(1)信源:产生信息的实体
(2)信宿:信息的归宿或接收者
(3)信道:传送信息的通道,如TCP/IP网络。
(4)编码器:在信息论中是泛指所有变换信号的设备
(5)译码器:译码器是编码器的逆变换设备
(6)噪声:噪声可以理解为干扰,干扰可以来自于信息系统分层结构的任何一层,当噪声携带的信息大到一定程度的时候,在信道中传输的信息可以被噪声掩盖导致传输失败。
3、一般情况下,信息系统的主要性能指标是它的有效性和可靠性。有效性就是在系统中传送尽可能多的信息;而可靠性是要求信宿收到的信息尽可能地与信源发出的信息一致,或者说失真尽可能小。
1.1.2信息系统的基本概念
无重要考点
1.1.3信息化的基本概念
1、信息化从“小”到“大”分为以下五个层次:
(1)产品信息化。产品信息化是信息化的基础。
(2)企业信息化。企业信息化是指企业在产品的设计、开发、生产、管理、经营等多个环节中广泛利用信息技术。
(3)产业信息化。
(4)国民经济信息化。
(5)社会生活信息化。
2、信息化的主体是全体社会成员,包括政府、企业、事业、团体和个人;它的时域是一个长期的过程;它的空域是政治、经济、文化、军事和社会的一切领域;它的手段是基于现代信息技术的先进社会生产工具;它的途径是创建信息时代的社会生产力,推动社会生产关系及社会上层建筑的改革;它的目标是使国家的综合实力、社会的文明素质和人民的生活质量全面提升。
3、两网是指政务内网和政务外网。“一站”,是指政府门户网站。
4、国家信息化体系6要素
(1)信息资源。信息资源的开发和利用是国家信息化的核心任务,是国家信息化建设取得实效的关键,也是我国信息化的薄弱环节。
(2)信息网络。信息网络是信息资源开发和利用的基础设施
(3)信息技术应用。信息技术应用是信息化体系六要素中的龙头,是国家信息化建设的主阵地,集中体现了国家信息化建设的需求和效益。
(4)信息技术和产业。信息产业是信息化的物质基础
(5)信息化人才。人才是信息化的成功之本
(6)信息化政策法规和标准规范。信息化政策和法规、标准、规范用于规范和协调信息化体系各要素之间的关系,是国家信息化快速、有序、健康和持续发展的保障。
1.1.4信息系统生命周期
1、信息系统的生命周期可以简化为系统规划(可行性分析与项目开发计划)、系统分析(需求分析)、系统设计(概要设计、详细设计)、系统实施(编码、测试)、运行维护等阶段。
为了便于论述针对信息系统的项目管理,信息系统的生命周期还可以简化为立项(系统规划)、开发(系统分析、系统设计、系统实施)、运维及消亡四个阶段,在开发阶段不仅包括系统分析、系统设计、系统实施,还包括系统验收等工作。如果从项目管理的角度来看,项目的生命周期又划分为启动、计划、执行和收尾4个典型的阶段。
(1)系统规划阶段
系统规划阶段的任务是对组织的环境、目标及现行系统的状况进行初步调查,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。给出拟建系统的备选方案。对这些方案进行可行性研究,写出可行性研究报告。可行性研究报告审议通过后,将新系统建设方案及实施计划编写成系统设计任务书。
(2)系统分祈阶段 确定对系统的综合要求、功能要求和性能要求等
系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。
系统分析阶段又称为逻辑设计阶段。系统分析阶段的工作成果体现在系统说明书中。系统说明书一旦讨论通过,就是系统设计的依据,也是将来验收系统的依据。
(3)系统设计阶段
系统分析阶段的任务是回答系统“做什么”的问题,而系统设计阶段要回答的问题是“怎么做”。该阶段的任务是根据系统说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案。又称为物理设计阶段,可分为总体设计(概要设计)和详细设计两个子阶段。这个阶段的技术文档是系统设计说明书
(4)系统实施阶段
系统实施阶段是将设计的系统付诸实施的阶段。这一阶段的任务包括计算机等设备的购置、安装和调试、程序的编写和调试、人员培训、数据文件转换、系统调试与转换等。系统实施是按实施计划分阶段完成的,每个阶段应写出实施进展报告。系统测试之后写出系统测试分析报告。
(5)系统运行和维护阶段
系统投入运行后,需要经常进行维护和评价,记录系统运行的情况,根据一定的规则对系统进行必要的修改,评价系统的工作质量和经济效益。
1.2信息系统开发方法
常用的开发方法包括结构化方法、面向对象方法、原型化方法、面向服务的方法等。
1.2.1结构化方法
1、结构化方法也称为生命周期法;是一种传统的信息系统开发方法,由结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)三部分有机组合而成,其精髓是自顶向下、逐步求精和模块化设计。
2、总结起来,结构化方法的主要特点列举如下:
(1)开发目标清晰化。
(2)开发工作阶段化。
(3)开发文档规范化。
(4)设计方法结构化。
3、结构化方法特别适合于数据处理领域的问题,但不适应于规模较大、比较复杂的系统开发,这是因为结构化方法具有以下不足和局限性:
(1)开发周期长。
(2)难以适应需求变化。
(3)很少考虑数据结构。
1.2.2面向对象方法
1、面向对象(OO)方法认为,客观世界是由各种对象组成的,任何事物都是对象。与结构化方法类似,OO方法也划分阶段,但其中的系统分析、系统设计和系统实现三个阶段之间已经没有“缝隙”。也就是说,这三个阶段的界限变得不明确。
2、当前,一些大型信息系统的开发,通常是将结构化方法和OO方法结合起来。首先,使用结构化方法进行自顶向下的整体划分;然后,自底向上地采用OO方法进行开发。
1.2.3原型化方法
1、原型化方法也称为快速原型法,或者简称为原型法。它是一种根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。
2、从原型是否实现功能来分,可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但并未真实实现功能。水平原型主要用在界面上;垂直原型也称为结构化原型,实现了一部分功能。垂直原型主要用在复杂的算法实现上。
3、从原型的最终结果来分,可分为抛弃式原型和演化式原型。抛弃式原型也称为探索式原型,是指达到预期目的后,原型本身被抛弃。演化式原型为开发增量式产品提供基础,逐步将原型演化成最终系统。主要用在必须易于升级和优化的场合,特别适用于Web项目。
4、原型法的特点主要体现在以下几个方面。
(1)原型法可以使系统开发的周期缩短、成本和风险降低、速度加快,获得较高的综合开发效益。
(2)原型法是以用户为中心来开发系统的;用户参与的程度大大提高,开发的系统符合用户的需求,因而增加了用户的满意度,提高了系统开发的成功率。
(3)由于用户参与了系统开发的全过程,对系统的功能和结构容易理解和接受,有利于系统的移交,有利于系统的运行与维护。
5、原型法也不是万能的,它也有不足之处,主要体现在以下两个方面。
(1)开发的环境要求高(2)管理水平要求高
由以上的分析可以看出,原型法的优点主要在于能更有效地确认用户需求。从直观上来看,原型法适用于那些需求不明确的系统开发。事实上,对于分析层面难度大、技术层面难度不大的系统,适合于原型法开发;而对于技术层面的困难远大于其分析层面的系统,则不宜用原型法。
1.2.4面向服务的方法
1、对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务的开发方法。如何使信息系统快速响应需求与环境变化,提高系统可复用性、信息资源共享和系统之间的互操作性,成为影响信息化建设效率的关键问题,而SO的思维方式恰好满足了这种需求。
1.3常规信息系统集成技术
1.3.1网络标准与网络协议
1.OSl协议:OSl采用了分层的结构化技术,从下到上共分七层:
(1)物理层:该层包括物理连网媒介,如电缆连线连接器。该层的协议产生并检测电压以便发送和接收携带数据的信号。具体标准有RS232、V.35、RJ-45、FDDI。
(2)数据链路层:它控制网络层与物理层之间的通信。它的主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。常见的协议有IEEE802.3/.2、HDLC、PPP、ATM。
(3)网络层:其主要功能是将网络地址(例如lP地址)翻译成对应的物理地址(例如,网卡地址并决定如何将数据从发送方路由到接收方。在TCP/IP协议中,网络层具体协议有IP、ICMP、IGMP、IPX、ARP等。
(4)传输层:主要负责确保数据可靠、顺序、无错地从A点传输到B点。如提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。在TCP/IP协议中,具体协议有TCP、UDP、SPX。
(5)会话层:负责在网络中的两节点之间建立和维持通信,以及提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式。常见的协议有RPC、SQL、NFS。
(6)表示层:如同应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。表示层管理数据的解密加密、数据转换、格式化和文本压缩。常见的协议有JPEG、ASC1l、GIF、DES、MPEG。
(7)应用层:负责对软件提供接口以使程序能使用网络服务,如事务处理程序、文件传送协议和网络管理等。在TCP/IP协议中,常见的协议有HTTP、Telnet、FTP,SMTP
2、802.11(无线局域网WLAN标准协议)3、TCP/IP协议是Internet的核心。
1)应用层协议
这些协议主要有FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS和SNMP等。
(1)FTP(文件传输协议),运行在TCP之上。FTP在客户机和服务器之间需建立两条TCP连接,一条用于传送控制信息(使用21号端口),另一条用于传送文件内容(使用20号端口)。
(2)TFTP(简单文件传输协议),建立在UDP之上,提供不可靠的数据流传输服务。
(3)HTTP(超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。建立在TCP之上。
(4)SMTP(简单邮件传输协议)建立在TCP之上,是一种提供可靠且有效的电子邮件传输的协议。
(5)DHCP(动态主机配置协议)建立在UDP之上,实现自动分配IP地址的。
(6)Telnet(远程登录协议)是登录和仿真程序,建立在TCP之上,它的基本功能是允许用户登录进入远程计算机系统。
(7)DNS(域名系统),是实现域名解析的,建立在UDP之上。
(8)SNMP(简单网络管理协议)建立在UDP之上。
2)传输层协议
传输层主要有两个传输协议,分别是TCP和UDP,这些协议负责提供流量控制、错误校验和排序服务。
(1)TCP是面向连接的,一般用于传输数据量比较少,且对可靠性要求高的场合。
(2)UDP是一种不可靠的、无连接的协议。一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。
3)网络层协议
网络层中的协议主要有lP、ICMP(网际控制报文协议)、IGMP(网际组管理协议)、ARP(地址解析协议)和RARP(反向地址解析协议)等
(1)lP所提供的服务通常被认为是无连接的和不可靠的(2)ARP用于动态地完成lP地址向物理地址的转换。物理地址通常是指计算机的网卡地址,也称为MAC地址,每块网卡都有唯一的地址;RARP用于动态完成物理地址向lP地址的转换。
(3)ICMP是一个专门用于发送差错报文的协议,由于lP协议是一种尽力传送的通信协议,即传送的数据可能丢失、重复、延迟或乱序传递,所以需要一种尽量避免差错并能在发生差错时报告的机制,这就是ICMP的功能。
(4)IGMP允许Internet中的计算机参加多播,是计算机用做向相邻多目路由器报告多目组成员的协议。
1.3.2网络设备
1、按照交换层次的不同,网络交换可以分为物理层交换(如电话网)、链路层交换(二层交换,对MAC地址进行变更)、网络层交换(三层交换,对lP地址进行变更)、传输层交换(四层交换,对端口进行变更,比较少见)和应用层交换。
2、网络互连设备有中继器(实现物理层协议转换,在电缆间转换二进制信号)、网桥(实现物理层和数据链路层协议转换)、路由器(实现网络层和以下各层协议转换)、网关(提供从最底层到传输层或以上各层的协议转换)和交换机等。
随着无线技术运用的日益广泛,目前市面上基于无线网络的产品非常多,主要有无线网卡、无线AP、无线网桥和无线路由器等。
1.3.3网络服务器
无重要考点
1.3.4网络存储技术
1、目前,主流的网络存储技术主要有三种,分别是直接附加存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)。
2、DAS是直接将存储设备连接到服务器上。
3、NAS技术支持多种TCP/IP网络协议,主要是NFS(网络文件系统)和CIFS(通用Internet文件系统)来进行文件访问,是真正实现即插即用的。
4、SAN是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。根据数据传输过程采用的协议,其技术划分为FC SAN、IPSAN和IBSAN技术。
(1)FCSAN。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。
(2)IPSAN。IP SAN是基于lP网络实现数据块级别存储方式的存储网络。既具备了IP网络配置和管理简单的优势,又提供了SAN架构所拥有的强大功能和扩展性。
(3)IBSAN。这种结构设计得非常紧密,大大提高了系统的性能、可靠性和有效性,能缓解各硬件设备之间的数据流量拥塞。
1.3.5网络接入技术
1、目前,接入Internet的主要方式可分两个大的类别,即有线接入与无线接入。其中,有线接入方式包括PSTN、ISDN、ADSL、FTTx+LAN和HFC等,无线接入方式包括GPRS、3G和4G接入等。
2、无线网络是指以无线电波作为信息传输媒介。目前最常用的无线网络接入技术主要有WiFi和移动互联接入(4G)。
1.3.6网络规划与设计
1、网络工程可分为网络规划、网络设计和网络实施三个阶段
2、网络规划包括网络需求分析、可行性分析和对现有网络的分析与描述。
3、在分层设计中,引入了三个关键层的概念,分别是核心层、汇聚层和接入层。
4、网络中直接面向用户连接或访问网络的部分称为接入层,将位于接入层和核心层之间的分称为分布层或汇聚层。接入层的目的是允许终端用户连接到网络,因此,接入层交换机(或路由器》
下同)具有低成本和高端口密度特性。
5、汇聚层是核心层和接入层的分界面,完成网络访问策略控制、数据包处理、过滤、寻址,以及其他数据处理的任务。
6、网络主干部分称为核心层,核心层的主要目的在于通过高速转发通信,提供优化、可靠的骨干传输结构,因此,核心层交换机应拥有更高的可靠性,性能和吞吐量。
7、网络设计工作包括:(1)网络拓扑结构设计(2)主干网络(核心层)设计(3)汇聚层和接入层设计(4)广域网连接与远程访问设计(5)无线网络设计(6)网络安全设计。
8、信息安全的基本要素如下。
(1)机密性:确保信息不暴露给未授权的实体或进程。
(2)完整性:只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改。
(3)可用性:得到授权的实体在需要时可访问数据,即攻击者不能占用所有的资源而阻碍授权者的工作。
(4)可控性:可以控制授权范围内的信息流向及行为方式。
(5)可审查性:对出现的网络安全问题提供调查的依据和手段。
1.3.7数据库管理系统
1、目前,常见的数据库管理系统主要有0racle、MySQL、SQLServer,MongoDB等,这些数据库中,前三种均为关系型数据库,而MongoDB是非关系型的数据库。
1.3.8数据仓库技术
1、数据仓库是一个面向主题的、集成的、非易失的、且随时间变化的数据集合,用于支持管理决策。
(1)数据源:是数据仓库系统的基础,是整个系统的数据源泉。
(2)数据的存储与管理:是整个数据仓库系统的核心。
(3)OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
(4)前端工具:主要包括各种查询工具、报表工具、分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
1.3.9中间件技术
1、目前还没有对中间件形成一个统一的定义,下面是两种现在普遍比较认可的定义:
(1)在一个分布式系统环境中处于操作系统和应用程序之间的软件。
(2)中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
2、中间件分类有很多方式和很多种类型。在这里我们由底向上从中间件的层次上来划分,可分为底层型中间件、通用型中间件和集成型中间件三个大的层次。
(1)底层型中间件的主流技术有JVM(Java虚拟机)、CLR(公共语言运行库)、ACE(自适配通信环境)、JDBC(Java数据库连接)和0DBC(开放数据库互连)等,代表产品主要有SUN JVM和Microsoft CLR等。
(2)通用型中间件的主流技术有CORBA(公共对象请求代理体系结构)、J2EE、MOM(面向消息的中间件)和COM等,代表产品主要有I0NAOrbix、BEA WebLogic和IBM MQSeries等。
(3)集成型中间件的主流技术有WorkFlow和EAI(企业应用集成)等,代表产品主要有BEA WebLogic和|BM WebSphere等。
3、为了完成不同层次的集成,可以采用不同的技术、产品:
(1)为了完成系统底层传输层的集成,可以采用CORBA技术。
(2)为了完成不同系统的信息传递,可以采用消息中间件产品。
(3)为了完成不同硬件和操作系统的集成;可以采用J2EE中间件产品。
中间件的任务是使应用程序开发变得容易,通过提供统一的程序抽象,隐藏异构系统和分布式系统下低级别编程的复杂性。中间件的分类有很多种方式。我们这里按由底向上从中间层的层次上来划分。
(1)底层中间件的主流技术有JVM、CLR、ACE、JDBC、 ODBC等,代表产品有SUN JVM 和Microsoft CLR等。
(2) 通用型中间件的主流技术有CORBA、 J2EE 、MOM、 COM等,代表产品有 IONA Orbix、 BEA WebLogic 和 IBM MQSeries等。
(3) 集成型中间件的主流技术有WorkFlow 、EAI等,代表产品有BEA WebLogic和 IBM WebSphere等。
面向消息的中间件 (Message-Oriented Middleware, MOM)
CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。
组件对象模型(Componet Object Model,COM)面向对象的中间件技术
网络通讯的中间件ICE和AC
ICE的全称是Internet Communications Engine,即因特网通信引擎。
ACE的全称是Adaptive Communication Environment,即自适应的通信环境。
1.3.10高可用性和高可靠性的规划与设计
1、可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
2、可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。
3、计算机系统的可用性用平均无故障时间(MTTF)来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。系统的可用性越高,平均无故障时间越长。可维护性用平均维修时间(MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间。系统的可维护性越好,平均维修时间越短。计算机系统的可用性定义为:MTTF/(MTTF+MTTR)*100%。由此可见,计算机系统的可用性定义为系统保持正常运行时间的百分比。所以,想要提高一个系统的可用性,要么提升系统的单次正常工作的时长,要么减少故障修复时间。常见的可用性战术如下:
(1)错误检测:用于错误检测的战术包括命令/响应、心跳和异常。
(2)错误恢复:用于错误恢复的战术包括表决、主动冗余、被动冗余。
(3)错误预防:用于错误预防的战术包括把可能出错的组件从服务中删除、引入进程监视器。
1.4软件工程
1.4.1需求分析
1、需求是多层次的,包括业务需求、用户需求和系统需求。
(1)业务需求。业务需求是指反映企业或客户对系统高层次的目标要求,通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。
(2)用户需求。用户需求描述的是用户的具体目标,或用户要求系统必须能完成的任务。也就是说,用户需求描述了用户能使用系统来做些什么。通常采取用户访谈和问卷调查等方式,对用户使用的场景进行整理,从而建立用户需求。
(3)系统需求。系统需求是从系统的角度来说明软件的需求,包括功能需求、非功能需求和设计约束等。
2、质量功能部署(QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。
(1)常规需求。用户认为系统应该做到的功能或性能,实现越多用户会越满意。
(2)期望需求。用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。
(3)意外需求。意外需求也称为兴奋需求,是用户要求范围外的功能或性能(但通常是软件开发人员很乐意赋予系统的技术特性实现这些需求用户会更高兴,但不实现也不影响其购买的决策。意外需求是控制在开发人员手中的,开发人员可以选择实现更多的意外需求,以便得到高满意、高忠诚度的用户,也可以(出于成本或项目周期的考虑)选择不实现任何意外需求。
3、常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等。
4、一个好的需求应该具有无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等特性,因此,需要分析人员把杂乱无章的用户要求和期望转化为用户需求,这就是需求分析的工作。
使用SA方法进行需求分析,其建立的模型的核心是数据字典。在实际工作中,一般使用实体联系图(E-R图)表示数据模型,用数据流图(DFD)表示功能模型,用状态转换图(STD)表示行为模型。E-R图主要描述实体、属性,以及实体之间的关系;DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能;STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如,处理数据等)。
5、软件需求规格说明书(SRS)是需求开发活动的产物,其中规定SRS应该包括以下内容。
(1)范围(2)引用文件(3)需求(4)合格性规定(5)需求可追踪性(6)尚未解决的问题(7)注解(8)附录
6、需求验证也称为需求确认,其活动是为了确定以下几个方面的内容。
(1)SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征。
(2)SRS中的软件需求是从系统需求、业务规格和其他来源中正确推导而来的。
(3)需求是完整的和高质量的。
(4)需求的表示在所有地方都是一致的。
(5)需求为继续进行系统设计、实现和测试提供了足够的基础。
在实际工作中,一般通过需求评审和需求测试工作来对需求进行验证。需求评审就是对SRS进行技术评审。
7、从总体上来看,UML的结构包括构造块、规则和公共机制三个部分。
8、UML用关系把事物结合在一起,主要有下列四种关系:
(1)依赖::依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
(2)关联:关联描述一组对象之间连接的结构关系。
(3)泛化:泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。
(4)实现:实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
9、UML2.0包括14种图,分别列举如下:
(1)类图:类图描述一组类、接口、协作和它们之间的关系。类图给出了系统的类的类图给出了系统的静态进程视图。
(2)对象图:对象图描述一组对象及它们之间的关系。
(3)构件图:构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。
(4)组合结构图:组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。
(5)用例图:用例图描述一组用例、参与者及它们之间的关系。
(6)顺序图(也称序列图):顺序图是一种交互图,交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
(7)通信图:通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。
(8)定时图(也称计时图):定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。
(9)状态图:状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。
(10)活动图:活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它强调对象间的控制流程。
(11)部署图:部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部暑图。
(12)制品图:制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。
(13)包图:包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
(14)交互概览图:交互概览图是活动图和顺序图的混合物。
静态视图:类图、部署图
10、UML视图:5个系统视图:
(1)逻辑视图:逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
(2)进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
(3)实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。
(4)部署视图:部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
(5)用例视图:用例视图是最基本的需求分析模型。
11、OOA模型独立于具体实现,即不考虑与系统具体实现有关的因素,这也是OOA和OOD的区别之所在。OOA的任务是“做什么OOD的任务是“怎么做”。面向对象分析阶段的核心工作是建立系统的用例模型与分析模型。
12、SA(结构化分析)方法采用功能分解的方式来描述系统功能,在这种表达方式中,系统功能被分解到各个功能模块中,通过描述细分的系统模块的功能来达到描述整个系统功能的目的。
13、类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等
(1)关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联体现的是对象实例之间的关系,而不表示两个类之间的关系。
(2)依赖关系。两个类A和B,如果B的变化可能会引起A的变化,则称类A依赖于类B。
(3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。
(4)共享聚集。共享聚集关系通常简称为聚合关系,它表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体”,“部分”与“整体”的生命周期可以不相同。。
(5)组合聚集。组合聚集关系通常简称为组合关系,它也是表示类之间的整体与部分的关系。与聚合关系的区别在于,组合关系中的“部分”只能属于一个“整体”,“部分”与“整体”的生命周期相同,“部分”随着“整体M的创建而创建,也随着“整体”的消亡而消亡。
(6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。
1.4.2软件架构设计
1、解决好软件的复用、质量和维护问题,是研究软件架构的根本目的。软件架构设计的一个核心问题是能否达到架构级的软件复用。
2、软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
(1)数据流风格:数据流风格包括批处理序列和管道/过滤器两种风格。
(2)调用/返回风格:调用/返回风格包括主程序/子程序、数据抽象和面向对象,以及层次结构。
(3)独立构件风格:独立构件风格包括进程通信和事件驱动的系统。
(4)虚拟机风格:虚拟机风格包括解释器和基于规则的系统。
(5)仓库风格:仓库风格包括数据库系统、黑板系统和超文本系统。
3、软件架构评估可以只针对一个架构,也可以针对一组架构。在架构评估过程中,评估人员所关注的是系统的质量属性。
4、敏感点是一个或多个构件(和/或构件之间的关系)的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
5、从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。这三种评估方式中,基于场景的评估方式最为常用。
6、基于场景的方式主要包括:架构权衡分析法(ATAM)、软件架构分析法(SAAM)和成本效益分析法(CBAM)中。在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。刺激是场景中解释或描述项目干系人怎样引发与系统的交互部分,环境描述的是刺激发生时的情况,响应是指系统是如何通过架构对刺激作出反应的。
7、基于场景的方式分析软件架构对场景的支持程度,从而判断该架构对这一场景所代表的质量需求的满足程度。这一评估方式考虑到了所有与系统相关的人员对质量的要求,涉及的基本活动包括确定应用领域的功能和软件架构之间的映射,设计用于体现待评估质量属性的场景,以及分析软件架构对场景的支持程度。