软件工程-计算机系统工程课件

上传人:cl****1 文档编号:587951859 上传时间:2024-09-07 格式:PPT 页数:82 大小:1.18MB
返回 下载 相关 举报
软件工程-计算机系统工程课件_第1页
第1页 / 共82页
软件工程-计算机系统工程课件_第2页
第2页 / 共82页
软件工程-计算机系统工程课件_第3页
第3页 / 共82页
软件工程-计算机系统工程课件_第4页
第4页 / 共82页
软件工程-计算机系统工程课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《软件工程-计算机系统工程课件》由会员分享,可在线阅读,更多相关《软件工程-计算机系统工程课件(82页珍藏版)》请在金锄头文库上搜索。

1、1第二章第二章 计算机系统工程计算机系统工程软件工程课件软件工程课件软件工程软件工程2 2第二章第二章 计算机系统工程计算机系统工程2.1 基于计算机的系统基于计算机的系统2.2 计算机系统工程计算机系统工程2.3 系统分析与结构设计系统分析与结构设计2.4 可行性研究可行性研究2.5 其他系统描述方法其他系统描述方法软件工程软件工程3 3n某些元素的一个集合或排列,这些元素被组织某些元素的一个集合或排列,这些元素被组织起来以实现某种方法,过程或借助处理信息进起来以实现某种方法,过程或借助处理信息进行控制。基于计算机系统的系统元素:行控制。基于计算机系统的系统元素:2.1 基于计算机的系统基于

2、计算机的系统输入输入输输出出过程过程软件软件文档文档人人硬件硬件数据库数据库系统系统软件工程软件工程4 4n软件软件 计算机程序、数据结构、相关文档计算机程序、数据结构、相关文档n硬件硬件 电子计算设备(如电子计算设备(如CPU, 存储器)和存储器)和外部机电设备(如传感器、马达等)外部机电设备(如传感器、马达等)n人人 硬件和软件的用户硬件和软件的用户n数据库数据库 一个大型的有组织的信息集合一个大型的有组织的信息集合n文档文档 手册、表格和其它用以描述系统使用和手册、表格和其它用以描述系统使用和操作的信息操作的信息n过程过程 定义每一种系统元素的特定使用步骤,定义每一种系统元素的特定使用步

3、骤,或系统驻留的过程性环境或系统驻留的过程性环境计算机系统的系统元素计算机系统的系统元素软件工程软件工程5 5计算机系统的层次结构计算机系统的层次结构n基于计算机的系统本身可以成为一个基于计算机的系统本身可以成为一个更大的基更大的基于计算机系统中的一个元素于计算机系统中的一个元素,并称为那个更大,并称为那个更大系统的系统的宏元素宏元素。例如:。例如:工厂自动化系统工厂自动化系统制造系统制造系统库存系统库存系统数据输入设备数据输入设备材料传输系统材料传输系统制造单元制造单元数控机床数控机床机器人机器人信息系统信息系统软件工程软件工程6 62.2 计算机系统工程计算机系统工程n软件系统是基于计算机

4、系统的一部分,因此,软件系统是基于计算机系统的一部分,因此,在软件开发之前,首先要关注计算机系统工程,在软件开发之前,首先要关注计算机系统工程,分析该基于计算机系统的系统元素以及系统元分析该基于计算机系统的系统元素以及系统元素之间的关系,确定待开发软件的周边环境。素之间的关系,确定待开发软件的周边环境。n计算机系统工程是一个问题求解活动,目的是计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能,并把它们分配到各揭示、分析所期望的功能,并把它们分配到各个单独的系统元素中去。个单独的系统元素中去。软件工程软件工程7 7 系统工程的实施系统工程的实施n识别用户的要求识别用户的要求n评价系

5、统的可行性评价系统的可行性u进行经济分析和技术分析进行经济分析和技术分析n把功能分配给硬件、软件、人、数据库和其把功能分配给硬件、软件、人、数据库和其它系统元素它系统元素n建立成本和进度限制建立成本和进度限制n生成系统规格说明,形成所有后续工程的基生成系统规格说明,形成所有后续工程的基础础软件工程软件工程8 82.2.1 识别用户的要求识别用户的要求n系统工程师的任务是:系统工程师的任务是:u与用户合作确认用户的目标和约束;与用户合作确认用户的目标和约束;u导出功能、性能、接口、设计约束和信息结导出功能、性能、接口、设计约束和信息结构的表示;构的表示;u将它们分配到每一个系统元素中;将它们分配

6、到每一个系统元素中;软件工程软件工程9 9传输线分类系统传输线分类系统CLSS实例分析实例分析n向系统工程师提交关于CLSS的描述如下:CLSS识别在传输线上移动的箱子,把它们分类到传输线末端的6个料箱中的一个。箱子通过一个分类站,在那里扫描并识别箱子上印的识别数字(条形码),把箱子分装到合适的箱箱里。传输线缓慢地移动,箱子以随机的次序通过并均匀地放置在传输线上。n作为系统工程师,首先应当考虑并回答哪些问题?软件工程软件工程1010n有多少种需处理的不同的识别数字?它们的表示形式是什么样的?n传输线的速度是多少?箱子之间的距离又是多少?n分类站与料箱之间的距离有多远?n料箱之间相隔的距离有多远

7、?n如果箱子上没有识别数字,或识别数字不正确,应当怎么办?n如果料箱装满了怎么办?n如果箱子目的地和料箱容量的信息要被移到工厂自动化系统中其他地方吗?需要实时数据采集吗?n可接受的出错/失效率是多少?n传输线系统当前已存在并可操作的部分是哪些?n对开发进度和预算的限制有哪些?系统工程师提出一些候选的分配方案。在每一个候选方案中,系统的功能和性能都被分配给各种不同的系统生成元素。软件工程软件工程11 11n对同一功能,可以分配给不同的系统元素。为了选取一种最有效的分配方案,应对每一方案使用一组权衡准则进行评价。u项目考虑成本与进度u商业考虑赢得、竞争u技术分析技术实力、功能与性能实现、维护u生产

8、评估生产工具与设备有效、质量保证u人员问题研制、生产人员,用户u环境界面外部接口u法律考虑是否违法系统工程师还应当考虑能解决用户问题的现货供应方案。等价的系统是否存在?能否购买到解决方案的主要部件?软件工程软件工程1212n一旦将功能和性能分配给每一个系统元素,系统一旦将功能和性能分配给每一个系统元素,系统工程师将通过工程师将通过硬件工程、软件工程、人类工程和数硬件工程、软件工程、人类工程和数据库工程据库工程等建立相应系统元素的需求模型,确定其等建立相应系统元素的需求模型,确定其功能和性能范围,接口要求。功能和性能范围,接口要求。2.2.2 系统分析和结构设计系统分析和结构设计 软件工程软件工

9、程1313n计算机系统工程师计算机系统工程师选择硬件元件的某种组合以选择硬件元件的某种组合以构成基于计算机系统的硬件元素构成基于计算机系统的硬件元素u通过硬件需求分析,为硬件的所有元件确定通过硬件需求分析,为硬件的所有元件确定精确的精确的功能、性能功能、性能和和接口接口需求。以及设计需求。以及设计约约束条件束条件(如尺寸,环境)及(如尺寸,环境)及测试准则测试准则。u设计一个初步的设计一个初步的硬件配置方案硬件配置方案,包括,包括通信协通信协议议、拓扑结构拓扑结构等。等。u确定确定质量需求质量需求,包括安全性、可靠性、可用,包括安全性、可靠性、可用性等方面的质量标准。性等方面的质量标准。1、硬

10、件系统模型、硬件系统模型软件工程软件工程14142、软件系统模型、软件系统模型n为实现要求的功能和性能,必须制作或获取一为实现要求的功能和性能,必须制作或获取一系列软件部件系列软件部件n软件元素分为两类软件元素分为两类u通过软件需求分析,通过软件需求分析,确认分配给软件的功能确认分配给软件的功能和性能和性能。u按照功能分解的结果,提出按照功能分解的结果,提出软件系统分解为软件系统分解为一系列子系统一系列子系统的构想,描述各子系统的功能的构想,描述各子系统的功能和性能要求,以及各子系统之间的交互。和性能要求,以及各子系统之间的交互。u各子系统在硬件系统中的部署情况。各子系统在硬件系统中的部署情况

11、。(参考中小型医院数字图书馆软硬件配置分析方案)(参考中小型医院数字图书馆软硬件配置分析方案)软件工程软件工程15153、人机交互模型、人机交互模型n是应用从心理学和方法论导出的知识来确定和是应用从心理学和方法论导出的知识来确定和设计高质量设计高质量HCI的多学科活动的多学科活动u根据分配给人的各项活动,建立人员活动根据分配给人的各项活动,建立人员活动(任务)网络图,(任务)网络图,描述人机交互的环境描述人机交互的环境。u根据根据用户分类用户分类和每一类用户的特点,针对用和每一类用户的特点,针对用户要求的每一个动作和机器产生的每一个动户要求的每一个动作和机器产生的每一个动作,作,建立建立“对话

12、对话”方式构想方式构想。u设计用户界面原型设计用户界面原型,将硬件、软件和其他系,将硬件、软件和其他系统元素组合起来形成简化的用户环境,模拟统元素组合起来形成简化的用户环境,模拟和评价人机交互的所有步骤。和评价人机交互的所有步骤。软件工程软件工程1616n数据库工程(包括数据库工程(包括数据库分析数据库分析、设计设计和和实现实现)n对于使用数据库的系统,对于使用数据库的系统,信息仓库信息仓库往往是所有往往是所有功能的核心功能的核心u系统工程师建立数据库模型:系统工程师建立数据库模型:u定义数据库中定义数据库中包含的信息包含的信息,查询的类型查询的类型,数数据存取的方式据存取的方式和和数据库的容

13、量数据库的容量等。等。u如果使用多个数据库管理系统,还要描述它如果使用多个数据库管理系统,还要描述它们之间的们之间的数据转换方式数据转换方式和和必要的数据结构必要的数据结构。4、数据库模型、数据库模型软件工程软件工程17172.2.3 可行性研究可行性研究 n可行性研究从可行性研究从u经济经济u技术技术u法律法律u用户操作用户操作n等方面分析所给出的解决方案是否可行。等方面分析所给出的解决方案是否可行。n这是项目立项的依据。只有当解决方案可行且有这是项目立项的依据。只有当解决方案可行且有一定经济效益或社会效益时才能开始系统开发。一定经济效益或社会效益时才能开始系统开发。 软件工程软件工程181

14、82.2.4 建立成本和进度的限制建立成本和进度的限制 n开发一个基于计算机的系统必须有足够的资金开发一个基于计算机的系统必须有足够的资金投入和(交付)时间约束,这是与客户在合同投入和(交付)时间约束,这是与客户在合同或任务书中已经达成协议的。或任务书中已经达成协议的。n因此,在系统工程阶段必须进行因此,在系统工程阶段必须进行u任务分解任务分解u成本估算成本估算u进度安排进度安排u资源计划资源计划 软件工程软件工程1919.生成生成系统需求规格说明系统需求规格说明 n系统需求规格说明是在系统需求规格说明是在后续阶段中开发硬件系后续阶段中开发硬件系统、软件系统、数据库系统和人机接口系统的统、软件

15、系统、数据库系统和人机接口系统的时候使用的一个文档。时候使用的一个文档。n它描述了一个基于计算机系统的它描述了一个基于计算机系统的功能和性能功能和性能,以及管理该系统开发的一些限制条件。以及管理该系统开发的一些限制条件。n它界定每个被分配的系统元素。例如,它给软它界定每个被分配的系统元素。例如,它给软件工程师指明了软件在整个系统和各种子系统件工程师指明了软件在整个系统和各种子系统环境中的作用。系统需求规格说明还描述了系环境中的作用。系统需求规格说明还描述了系统的输入输出(数据与控制)信息。统的输入输出(数据与控制)信息。 软件工程软件工程20202.3 系统分析与结构设计系统分析与结构设计 概

16、念概念系统系统(需求需求)分析分析系统体系结构设计系统体系结构设计硬件硬件硬件工程硬件工程软件软件软件工程软件工程数据库数据库数据库工程数据库工程人人人类工程人类工程软件工程软件工程2121 硬件工程阶段硬件工程阶段软件工程软件工程2222 软件工程软件工程2323软件工程软件工程2424 软件工程阶段软件工程阶段软件工程软件工程2525 软件工程软件工程2626软件工程软件工程2727系统分析系统分析和结构设计的主要活动和结构设计的主要活动1.分析待开发系统的特定的预期使用要求,以规定分析待开发系统的特定的预期使用要求,以规定系统需求系统需求u系统需求规格说明应描述:系统需求规格说明应描述:

17、p系统的功能与性能;系统的功能与性能;p业务、组织和用户需求;业务、组织和用户需求;p安全性、保密性、人类工程(人机工程学)安全性、保密性、人类工程(人机工程学)、接口、运行和维护需求;、接口、运行和维护需求;p设计限制和鉴定需求。设计限制和鉴定需求。u系统需求规格说明应形成文档。系统需求规格说明应形成文档。软件工程软件工程28282.根据评价准则评价系统需求,并将评价结果形成根据评价准则评价系统需求,并将评价结果形成文档文档u评价准则包括:评价准则包括:p获取需要的可追溯性;获取需要的可追溯性;p获取需要的一致性;获取需要的一致性;p可测试性;可测试性;p系统结构设计的可行性;系统结构设计的

18、可行性;p运作和维护的可行性。运作和维护的可行性。n3. 建立系统的顶层结构建立系统的顶层结构软件工程软件工程2929u结构中应标出硬件配置、软件配置和人工操结构中应标出硬件配置、软件配置和人工操作过程等系统元素。作过程等系统元素。u应确保所有系统需求都已分配到各个系统元应确保所有系统需求都已分配到各个系统元素中。素中。u分配到各个系统元素中的系统需求和系统结分配到各个系统元素中的系统需求和系统结构应形成文档。构应形成文档。4.根据评价准则评价这些系统元素的系统需求和结根据评价准则评价这些系统元素的系统需求和结构,并将评价结果形成文档构,并将评价结果形成文档n评价准则包括:评价准则包括:软件工

19、程软件工程3030u系统需求的可追溯性;系统需求的可追溯性;u与系统需求的一致性;与系统需求的一致性;u所使用的设计标准和方法的适宜性;所使用的设计标准和方法的适宜性;u软件部分满足指定需求的可行性;运行和维软件部分满足指定需求的可行性;运行和维护的可行性。护的可行性。软件工程软件工程3131业务过程建模业务过程建模 n业务过程建模的目的是定义一个能有效利用信业务过程建模的目的是定义一个能有效利用信息进行业务活动的体系。息进行业务活动的体系。n从企业信息技术需求的全局角度出发,不仅需从企业信息技术需求的全局角度出发,不仅需要说明适用的计算体系架构,还需要开发适用要说明适用的计算体系架构,还需要

20、开发适用于企业计算资源的特定配置的软件系统架构。于企业计算资源的特定配置的软件系统架构。u数据体系架构数据体系架构u应用体系架构应用体系架构u技术基础设施技术基础设施 软件工程软件工程3232数据体系架构数据体系架构n数据体系架构描述数据体系架构描述业务功能的信息需求业务功能的信息需求。n架构的基本单元是架构的基本单元是业务对象业务对象。一个业务对象包。一个业务对象包括一组属性以及对质量、特征或数据的描述。括一组属性以及对质量、特征或数据的描述。n数据体系架构还要描述数据体系架构还要描述业务对象之间的关系业务对象之间的关系。关系表明对象之间是如何相联系的。关系表明对象之间是如何相联系的。n例如

21、,例如,“消费者消费者”和和“产品产品A”两个对象之间可以两个对象之间可以通过通过“购买购买”关系发生联系。关系发生联系。n在业务活动中流动的数据对象可以通过数据库在业务活动中流动的数据对象可以通过数据库组织起来,为业务需要提供所需的信息。组织起来,为业务需要提供所需的信息。软件工程软件工程3333应用体系架构应用体系架构 n应用体系架构描述为实现某些业务需求,在数应用体系架构描述为实现某些业务需求,在数据体系架构范围内参与数据加工的那些组件构据体系架构范围内参与数据加工的那些组件构成的系统。成的系统。n从软件工程角度可认为应用体系架构就是执行从软件工程角度可认为应用体系架构就是执行变换的程序

22、(软件)系统。变换的程序(软件)系统。n从更广泛的意义来看,应用体系架构应当将人从更广泛的意义来看,应用体系架构应当将人员角色(信息的变换者和使用者)和待实现的员角色(信息的变换者和使用者)和待实现的业务过程联系在一起。业务过程联系在一起。软件工程软件工程3434技术基础设施技术基础设施 n技术基础设施为数据体系架构和应用体系架构技术基础设施为数据体系架构和应用体系架构提供组织基础。提供组织基础。n基础设施包括用来支持应用和数据的硬件和软基础设施包括用来支持应用和数据的硬件和软件,包括计算机、操作系统、网络、通信链路、件,包括计算机、操作系统、网络、通信链路、存储技术和用于实现这些技术的体系结

23、构(如存储技术和用于实现这些技术的体系结构(如客户服务器)。客户服务器)。 软件工程软件工程3535产品工程产品工程n产品工程的目的是将用户期望的业经定义的一组产品工程的目的是将用户期望的业经定义的一组能力转化为实际产品。能力转化为实际产品。n为此,产品工程也要给出系统架构和基础设施。为此,产品工程也要给出系统架构和基础设施。这个系统架构包括这个系统架构包括 4 个系统构件:个系统构件:u软件软件u硬件硬件u数据(数据库)数据(数据库)u人员人员n基础设施则包括能集成各种构件的技术和用于支基础设施则包括能集成各种构件的技术和用于支持构件的信息(如文档、持构件的信息(如文档、CDROM、视频)、

24、视频)。 软件工程软件工程3636产品工程层次图产品工程层次图 软件工程软件工程3737n全局视图由需求工程得到。全局视图由需求工程得到。n全局性需求由客户提出,包括全局性需求由客户提出,包括u信息和控制要求信息和控制要求u产品功能和行为产品功能和行为u产品整体性能产品整体性能u设计和接口约束条件设计和接口约束条件u其他特殊要求。其他特殊要求。n一旦这些需求确定下来,需求工程的工作就是将一旦这些需求确定下来,需求工程的工作就是将这些功能和行为分配到上述这些功能和行为分配到上述 4 个系统构件中。个系统构件中。软件工程软件工程3838n系统构件工程是一组并发活动,分别处理系统构件工程是一组并发活

25、动,分别处理u软件工程软件工程u硬件工程硬件工程u人类工程人类工程u数据库工程数据库工程n这些系统构件。这些系统构件。n特别需要重视特别需要重视u各个系统构建的工程规范的建立各个系统构建的工程规范的建立u维持相互之间的积极沟通,需求工程要建立维持相互之间的积极沟通,需求工程要建立便于沟通的接口机制。便于沟通的接口机制。软件工程软件工程3939n对软件工程来说,需要进行分析和设计建模活动,对软件工程来说,需要进行分析和设计建模活动,以及包括编码、测试和支持任务在内的构造和部以及包括编码、测试和支持任务在内的构造和部署活动。署活动。u分析的任务是使用数据、功能和行为模型来分析的任务是使用数据、功能

26、和行为模型来描述需求描述需求u设计的任务是将分析模型映射到数据设计、设计的任务是将分析模型映射到数据设计、结构设计、接口设计和软件构件级设计中。结构设计、接口设计和软件构件级设计中。 软件工程软件工程4040系统模型模板系统模型模板 n为了开发系统模型,使用了为了开发系统模型,使用了“结构模板结构模板”。n系统工程师把各种系统元素分配到模板内的五个系统工程师把各种系统元素分配到模板内的五个处理区域:处理区域: (1)用户界面;)用户界面; (2)输入;)输入; (3)系统功能与控制;)系统功能与控制; (4)输出;)输出; (5)维护与自测试)维护与自测试。软件工程软件工程4141n结构模板能

27、帮助分析员建立一个细节的层次结结构模板能帮助分析员建立一个细节的层次结构。构。结构环境图结构环境图SCD( (System Context Diagram) 位于层次结构的顶层位于层次结构的顶层。软件工程软件工程4242n环境图建立了待实现系统与系统运行环境之间环境图建立了待实现系统与系统运行环境之间的信息边界。的信息边界。SCD 定义了定义了u系统使用的所有信息的外部产生者(系统信系统使用的所有信息的外部产生者(系统信息的来源)息的来源)u由系统建立的所有信息的外部使用者(系统由系统建立的所有信息的外部使用者(系统信息的去处)信息的去处)u通过接口进行通信或实施维护与自测试的所通过接口进行通

28、信或实施维护与自测试的所有外部实体有外部实体软件工程软件工程4343例:例:CLSSn功能:功能: 读入条形码输入信息读入条形码输入信息; 读入脉冲计数器信号读入脉冲计数器信号; 译零件码数据译零件码数据; 数据库查询数据库查询; 决定料箱位置决定料箱位置; 对分流机构对分流机构生成控制信号。生成控制信号。软件工程软件工程4444CLSS的的SCD图图软件工程软件工程4545软件工程软件工程4646n每一个方框表示一个外部实体,即系统信息的产每一个方框表示一个外部实体,即系统信息的产生者或使用者。生者或使用者。n整个系统(或位于下层的专门子系统)的符号用整个系统(或位于下层的专门子系统)的符号

29、用圆角矩形表示。因此,圆角矩形表示。因此,CLSS 在在 SCD 中间的处中间的处理与控制区域内表示。理与控制区域内表示。n在在 SCD 中附加名字的箭头表示外部实体与中附加名字的箭头表示外部实体与 CLSS 系统之间传送的(数据或控制)信息。外系统之间传送的(数据或控制)信息。外部实体部实体“条形码阅读器条形码阅读器”产生条形码输入信息。产生条形码输入信息。n本质上本质上 SCD把任一系统都置于它的外部环境中把任一系统都置于它的外部环境中软件工程软件工程4747n系统工程师对系统工程师对 SCD 图中的矩形区域详细分析,图中的矩形区域详细分析,加细加细 SCD 图。建立各种专门子系统完成传输

30、线图。建立各种专门子系统完成传输线分类系统的功能。分类系统的功能。n专门子系统定义在从专门子系统定义在从 SCD 导出的结构流程图导出的结构流程图SFD中(中(System Flow Diagram)。信息流穿越)。信息流穿越 SCD 的各个区域,可用于引导系统工程师开发的各个区域,可用于引导系统工程师开发SFD 更详细的更详细的CLSS “图解图解”。n结构流程图给出了各个专门子系统和重要的结构流程图给出了各个专门子系统和重要的(数据与控制)信息流。(数据与控制)信息流。软件工程软件工程4848软件工程软件工程4949顶层系统流顶层系统流程图程图 SCD对于对于A的的SFD对于对于B的的SF

31、D对于对于C的的SFDSCD的层次结构的层次结构软件工程软件工程5050UML系统建模系统建模 n对于对于 CLSS 系统,用系统,用UML对对 4 个重要的系统元个重要的系统元素进行建模:素进行建模:u用用UML部署图建立部署图建立CLSS系统层次的硬件模型。系统层次的硬件模型。u用用UML活动图描述活动图描述CLSS软件的操作规程,以软件的操作规程,以表现系统实现各种功能时的具体步骤。表现系统实现各种功能时的具体步骤。u用用UML类图描述系统的类图描述系统的u用用UML用例图阐述一个参与者(用小人表示)用例图阐述一个参与者(用小人表示)与系统的交互行为。与系统的交互行为。 软件工程软件工程

32、5151CLSS系统的硬件部署图系统的硬件部署图软件工程软件工程5252CLSS系统的活动图系统的活动图软件工程软件工程5353CLSS系统系统的类图的类图软件工程软件工程5454CLSS系统系统的用例图的用例图软件工程软件工程5555 系统文档与评审系统文档与评审 n系统分析与结构设计阶段应交付的文档有系统分析与结构设计阶段应交付的文档有1.系统可行性研究报告系统可行性研究报告2.系统子系统需求规格说明系统子系统需求规格说明3.系统子系统设计说明系统子系统设计说明4.接口需求规格说明(可选项)接口需求规格说明(可选项)5.接口设计说明(可选项)接口设计说明(可选项)n在系统分析与结构设计阶段

33、,有关软件的主要评在系统分析与结构设计阶段,有关软件的主要评审内容包括:审内容包括:软件工程软件工程56561.软件功能描述的正确性软件功能描述的正确性2.软硬件功能划分的合理性和可行性软硬件功能划分的合理性和可行性3.接口要求及接口设备要求的合理性接口要求及接口设备要求的合理性4.质量要求的合理性质量要求的合理性5.开发环境要求的合理性和可行性开发环境要求的合理性和可行性6.开发进度要求的合理性和可行性开发进度要求的合理性和可行性7.软件开发技术的合理性和可行性。软件开发技术的合理性和可行性。8.软件开发成本的合理性和可行性。软件开发成本的合理性和可行性。软件工程软件工程57572.4 可行

34、性研究可行性研究1.问题的识别问题的识别u了解系统应解决的问题,这些问题是如何提了解系统应解决的问题,这些问题是如何提出的出的u设想这些问题如何解决才能满足要求设想这些问题如何解决才能满足要求u了解问题的结构了解问题的结构2.市场调查市场调查u了解市场对待开发软件的需求情况了解市场对待开发软件的需求情况u调查市场上已有的类似软件系统的功能、性调查市场上已有的类似软件系统的功能、性能、价格情况能、价格情况软件工程软件工程58583.分析准备分析准备u确立分析计划确立分析计划u规定由谁参加分析作业,任务分配规定由谁参加分析作业,任务分配u对参加分析的人员进行必要的培训对参加分析的人员进行必要的培训

35、4.环境分析环境分析u明确系统的目的和限制条件明确系统的目的和限制条件u使用单位的状况、经营方针和组织机构使用单位的状况、经营方针和组织机构u使用单位的计算机利用情况使用单位的计算机利用情况u相关的硬件、软件及其它接口部分相关的硬件、软件及其它接口部分u用户的操作环境及操作要求用户的操作环境及操作要求软件工程软件工程5959u习惯、法律、制度上对软件的制约习惯、法律、制度上对软件的制约u开发能具备的技术条件和设备条件开发能具备的技术条件和设备条件5.物理分析物理分析u了解实际业务活动状况,特别对一些活动要了解实际业务活动状况,特别对一些活动要点进行分析点进行分析u明确在这些要点之间什么东西在流

36、动,如何明确在这些要点之间什么东西在流动,如何进行流动进行流动u对物理流量进行分析对物理流量进行分析u对其模型化,得到实际业务系统(当前系统)对其模型化,得到实际业务系统(当前系统)的物理模型的物理模型软件工程软件工程60606.功能分析功能分析u决定系统应具备的功能决定系统应具备的功能 (工作域工作域)u分析功能的结构:功能展开和功能分配分析功能的结构:功能展开和功能分配u分析各功能之间的关系,整理它们之间传递分析各功能之间的关系,整理它们之间传递的信息的信息u利用数据流图,描述信息在系统流动与处理利用数据流图,描述信息在系统流动与处理的情况的情况7.信息分析信息分析u调查系统的输入、输出、

37、保存信息调查系统的输入、输出、保存信息u明确信息的结构及各信息之间的关系明确信息的结构及各信息之间的关系软件工程软件工程6161u调查各信息的信息量调查各信息的信息量u调查各种报表和文件的格式调查各种报表和文件的格式u建立粗略的数据词典,定义系统中使用的数建立粗略的数据词典,定义系统中使用的数据据8.动态分析动态分析u系统内每一部分有几种状态系统内每一部分有几种状态u各种状态转换的条件各种状态转换的条件u同步产生的条件与同步后状态的变化同步产生的条件与同步后状态的变化9.确立系统方案,进行各种估算确立系统方案,进行各种估算u粗略地估算成本粗略地估算成本软件工程软件工程6262u估算可能取得的效

38、益估算可能取得的效益u提出可能需要的资源,包括人员、硬件、软提出可能需要的资源,包括人员、硬件、软件等件等u提出大概的进度安排提出大概的进度安排10.模型评审模型评审u将目标系统的逻辑模型提出管理部分与用户将目标系统的逻辑模型提出管理部分与用户进行评审进行评审u复查问题定义、工程规模和系统目标复查问题定义、工程规模和系统目标软件工程软件工程6363n成本效益分析的目的,是从经济角度评价成本效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行。开发一个新的软件项目是否可行。n成本效益分析首先估算新软件系统的开发成本效益分析首先估算新软件系统的开发成本,然后与可能取得的效益(有形的和无成本

39、,然后与可能取得的效益(有形的和无形的)进行比较权衡。形的)进行比较权衡。n有形的效益可以用有形的效益可以用货币的时间价值货币的时间价值、投资回投资回收期收期、纯收入纯收入等指标进行度量。无形的效益等指标进行度量。无形的效益主要是从主要是从性质上性质上、心理上心理上进行衡量。进行衡量。经济可行性经济可行性 成本成本效益分析效益分析软件工程软件工程6464n无形的效益(如较好的设计质量、较高的雇无形的效益(如较好的设计质量、较高的雇员素质)可以被赋予货币价值,或用于支持员素质)可以被赋予货币价值,或用于支持按劝告行事。按劝告行事。n系统的经济效益等于系统的经济效益等于因使用新系统而增加的因使用新

40、系统而增加的收入加上使用新系统可节省的运行费用。收入加上使用新系统可节省的运行费用。n成本估算的目的,成本估算的目的,是筹划对是筹划对项目投资。但投项目投资。但投资在前,取得效益在后。因此要考虑资在前,取得效益在后。因此要考虑货币的货币的时间价值时间价值。货币的时间价值货币的时间价值软件工程软件工程6565n通常用利率表示货币的时间价值。设年利率为通常用利率表示货币的时间价值。设年利率为 i,现已存入,现已存入 P 元,则元,则 n 年后可得钱数为年后可得钱数为 F = P ( 1 + i )nn这就是这就是 P 元钱在元钱在 n 年后的价值。年后的价值。n反之,若反之,若 n 年后能收入年后

41、能收入 F 元,那么这些钱元,那么这些钱现现在的价值在的价值是是n例如,在工程设计中用例如,在工程设计中用CAD系统来取代大部系统来取代大部分人工设计工作,每年可节省分人工设计工作,每年可节省9.6万元。万元。软件工程软件工程6666n若软件生存期为若软件生存期为 5 年,则年,则 5 年可节省年可节省 48 万元。万元。开发这个开发这个 CAD 系统共投资了系统共投资了 20 万元。万元。n不能简单地把不能简单地把 20 万元万元与与 48 万元万元相比较。因为相比较。因为前者是现在投资的钱,而后者是前者是现在投资的钱,而后者是 5 年内相继节年内相继节省的钱。省的钱。n需要把需要把 5 年

42、内每年预计节省的钱折合成现在的年内每年预计节省的钱折合成现在的价值才能进行比较。价值才能进行比较。n设设年利率年利率是是5,利用上面计算货币现在价值的,利用上面计算货币现在价值的公式,可以算出引入公式,可以算出引入CAD系统后,每年预计节系统后,每年预计节省的钱的现在价值,参看下表。省的钱的现在价值,参看下表。 软件工程软件工程6767货币的时间价值货币的时间价值年份年份 将来值将来值(万万)(1+i)n现在值现在值(万万)累计现在值累计现在值(万万)19.61.059.14299.142929.61.10258.707517.850439.61.15768.292826.143249.61.

43、21557.897934.041159.61.27637.521941.5630软件工程软件工程6868投资回收期投资回收期n投资回收期就是投资回收期就是使累计的经济效益等于最初的使累计的经济效益等于最初的投资所需要的时间投资所需要的时间。n投资回收期越短,就能越快获得利润。投资回收期越短,就能越快获得利润。n例如,引入例如,引入CAD系统两年以后系统两年以后,可以节省可以节省17.85万元,比最初的投资还少万元,比最初的投资还少2.15万元,但第三年万元,但第三年可以节省可以节省8.29万元,则万元,则 2.15 / 8.29 = 0.259n因此,投资回收期是因此,投资回收期是2.259年

44、。年。软件工程软件工程6969纯收入纯收入n工程的纯收入就是工程的纯收入就是在整个生存期之内系统的累在整个生存期之内系统的累计经济效益(折合成现在值)与投资之差计经济效益(折合成现在值)与投资之差。n例如,引入例如,引入CAD系统之后,系统之后,5 年内工程的纯收年内工程的纯收入预计是入预计是 41.5632021.563(万元)。这相(万元)。这相当于比较投资一个待开发的软件项目后预期可当于比较投资一个待开发的软件项目后预期可取得的效益和把钱存在银行里(或贷款给其它取得的效益和把钱存在银行里(或贷款给其它企业)所取得的收益,到底孰优孰劣。企业)所取得的收益,到底孰优孰劣。软件工程软件工程70

45、70投资回收率投资回收率n用投资回收率来衡量投资效益的大小。用投资回收率来衡量投资效益的大小。n已知现在的投资额已知现在的投资额 P,并且已经估算出将来每,并且已经估算出将来每年可以获得的经济效益年可以获得的经济效益Fk,以及软件的使用寿,以及软件的使用寿命命 n,k = 1, 2, ., n。则投资回收率。则投资回收率 j,可用如,可用如下的方程来计算:下的方程来计算: 软件工程软件工程7171n这相当于把数额等于投资额的资金存入银行,这相当于把数额等于投资额的资金存入银行,每年年底从银行取回的钱等于系统每年预期每年年底从银行取回的钱等于系统每年预期可以获得的效益。可以获得的效益。n在时间等

46、于系统寿命时,正好把在银行中的在时间等于系统寿命时,正好把在银行中的钱全部取光。此时的年利率是多少呢钱全部取光。此时的年利率是多少呢? 就等于就等于投资回收率。投资回收率。软件工程软件工程7272技术可行性技术可行性 技术风险分析技术风险分析n技术解决方案的实用性技术解决方案的实用性u使用的技术实用化程度使用的技术实用化程度u技术解决方案合理程度技术解决方案合理程度n技术资源的可用性技术资源的可用性u参与人员的工作基础参与人员的工作基础u基础硬件基础硬件/软件的可用性软件的可用性u软件工具实用性软件工具实用性软件工程软件工程7373法律可行性法律可行性 侵权和责任问题侵权和责任问题n专利法专利

47、法n著作权法著作权法n软件保护条例软件保护条例n用户类型:用户类型:外行型熟练型专家型外行型熟练型专家型n操作习惯操作习惯n使用单位的计算机使用情况使用单位的计算机使用情况n使用单位的规章制度使用单位的规章制度用户操作可行性用户操作可行性软件工程软件工程74742.5 HIPO图图nHIPO是是1976年由年由 IBM 公司提出来的,图既是公司提出来的,图既是在开发过程中的表达工具,又是开发文档的编在开发过程中的表达工具,又是开发文档的编制工具。制工具。nHIPO图采用功能框图和图采用功能框图和 PDL (伪代码)来描(伪代码)来描述程序逻辑,它由两部分组成:述程序逻辑,它由两部分组成:层次图

48、层次图(H图)图)和和IPO图图。n层次图给出程序的层次关系,层次图给出程序的层次关系,IPO图为程序各图为程序各部分提供具体的工作细节。部分提供具体的工作细节。软件工程软件工程7575n层次图层次图 (H图图) 表明各个功能的隶属关系。它是表明各个功能的隶属关系。它是自顶向下逐层分解得到的。自顶向下逐层分解得到的。u最高一层是整个系统的名称和系统的概括功最高一层是整个系统的名称和系统的概括功能说明;能说明;u第二层把系统功能展开,分成几个框;第二层把系统功能展开,分成几个框;u第二层功能进一步分解,就得到了第三层、第二层功能进一步分解,就得到了第三层、第四层,第四层,直到最后一层。,直到最后

49、一层。u每个框内都应有一个名字,用以标识它的功每个框内都应有一个名字,用以标识它的功能。还应有一个编号,以记录它所在的层次能。还应有一个编号,以记录它所在的层次及在该层次的位置。及在该层次的位置。层次图层次图 (H图图)软件工程软件工程7676盘存盘存/销售系统销售系统1.0.0销售处理销售处理 1.1.0盘存处理盘存处理1.2.0计算计算销售销售记录记录1.1.1产生产生销售销售报表报表1.1.2核对顾核对顾客赊欠客赊欠的金额的金额1.1.3检查检查库存库存数量数量1.2.1产生发产生发货单、货单、装运单装运单1.2.2顾客顾客付款付款收据收据1.2.3产生产生盘存盘存报表报表1.2.3盘存

50、盘存/ /销售系统的层次图销售系统的层次图软件工程软件工程7777编号编号说说 明明 1.0.0销售销售/盘存处理框图盘存处理框图1.1.0顾客订单检查顾客订单检查, 核对顾客赊欠金额核对顾客赊欠金额, 产生销售报表产生销售报表1.1.1用工作文件的盘存项目号用工作文件的盘存项目号, 对顾客订单进行核对和排对顾客订单进行核对和排序序1.1.2以地区和人员为单位以地区和人员为单位, 编制销售报表编制销售报表, 计算销售佣金计算销售佣金1.1.3检验顾客赊欠金额检验顾客赊欠金额, 计算折扣计算折扣, 确定支付项目确定支付项目1.2.0处理顾客盘存管理报表处理顾客盘存管理报表, 顾客付款收帐顾客付款

51、收帐, 处理发货、处理发货、包装、托运包装、托运小说明小说明软件工程软件工程7878IPO图图nIPO图为层次图中每一功能框详细地指明输入图为层次图中每一功能框详细地指明输入(I)、处理、处理(P)及输出及输出(O)。n通常,通常,IPO图有固定格式,处理操作部分总是图有固定格式,处理操作部分总是列在中间,输入和输出部分分别在其左边和右列在中间,输入和输出部分分别在其左边和右边。边。n由于某些细节很难在一张由于某些细节很难在一张IPO图中表达清楚,图中表达清楚,常常把常常把IPO图又分为两部分:图又分为两部分:u概括的称为概括的称为概要图概要图(overview diagram)u具体的称为具

52、体的称为详细图详细图(detail diagram)。)。软件工程软件工程7979n概要概要IPO图图用于表达对一个系统,或对其中某用于表达对一个系统,或对其中某一子系统功能的概略表达,指明完成某一功能一子系统功能的概略表达,指明完成某一功能框规定的功能时需要框规定的功能时需要哪些输入哪些输入,哪些操作哪些操作和和哪哪些输出些输出。n详细详细IPO 图图详细表明输入、处理、输出三者之详细表明输入、处理、输出三者之间的关系。间的关系。输入和输出应是确定的文件和记录,输入和输出应是确定的文件和记录,或是文件和记录中的字段,以及具体介质和设或是文件和记录中的字段,以及具体介质和设备类型,处理框中的操

53、作也应是具体的而不是备类型,处理框中的操作也应是具体的而不是含糊的,调用子程序时应标明子程序名。含糊的,调用子程序时应标明子程序名。 软件工程软件工程8080对应对应H图上图上1.1.0框的概要框的概要IPO图图 销售事务记录销售事务记录顾客赊欠顾客赊欠金额文件金额文件退回订单文件退回订单文件后备订单文件后备订单文件退回订单退回订单无效订单无效订单特殊处理订单特殊处理订单工作文件工作文件销售报表销售报表计算销售事务记录计算销售事务记录,产生排序的工作文产生排序的工作文件件 1.1.1按地区及销售人员按地区及销售人员,产生销售报表产生销售报表,计算计算销售手续费销售手续费 1.1.2核对顾客赊欠

54、金额核对顾客赊欠金额,计算应付款项计算应付款项1.1.31.1.0输入输入 Input输出输出 Output处理处理 Process软件工程软件工程81811.1.2销售报表销售报表1. 以销售地区和销售以销售地区和销售 人员的销售额排序人员的销售额排序2. 准备销售报表准备销售报表 地区销售总计地区销售总计 人员销售总计人员销售总计 计算佣金计算佣金交易交易文件文件SORT系统提供系统提供的子例程的子例程销售数销售数据排序据排序文件文件对应于对应于H图图1.1.2框的详细框的详细IPO图图 从从1.1.1框来框来到到 1.1.3框去框去软件工程软件工程8282改进的改进的IPO图格式图格式IPO图图系统:系统:模块:模块:编号:编号:作者:作者:日期:日期:被调用:被调用:调用:调用:输出:输出:输入:输入:处理:处理:局部数据元素:局部数据元素:注释:注释:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号