资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,河北工业大学计算机系,*,单击此处编辑母版标题样式,第 3 章,软件工程,教材:主编 曹哲 高诚,中国水利水电出版社,教案:河北工业大学廊坊分院,计算机系 黄南川,第3章 计算机系统工程,3.1 计算机系统工程的概念,3.2 系统的可行性研究,3.3 系统模型,3.4 系统规格说明与评审,第3章计算机系统工程,计算机的系统是由硬件、软件、人、文档、数据库、过程等系统要素就构成的。,若不考虑系统内部结构和功能,基于计算机的系统可用输入-处理-输出(IPO)模型表示。其中:,I(Input)指信息的输入;,P(Process)指对信息的处理;,O(Output)指信息的输出。,河北工业大学计算机系,基于计算机的系统的要素及其间的关系,人,硬件,软件,文档,过程,数据库,系统,输入,输出,基于计算机的系统,河北工业大学计算机系,3.1 计算机系统工程的概念,计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程。,计算机系统工程是一种从系统层面上的问题求解活动。在开始构造一个新的基于计算机的系统时:,计算机系统工程师(系统分析人员和系统开发人员)首先根据用户定义的系统目标和约束条件进行系统可行性研究和系统需求分析。,系统工程师将系统功能和性能分配到系统各要素之中。,应提出多种预选的方案,河北工业大学计算机系,3.1.1 硬件工程,硬件工程师根据系统硬件需求设计、制造或选择主机、外部设备、网络设备等硬部件或设备。硬件工程师可通过硬件工程来实现硬件系统。,划分为硬件定义、设计、制造与销售维修三个阶段,河北工业大学计算机系,图3-1-2 硬件工程,设计,分析,建造原型,测试,制造,分析,制 造,再加工,经 销,评审,评审,评审,评审,评审,成本,进度,硬件规格说明,设计,草图,设计图,原型,硬件功能,评审,维修组织,分析,结果,设计,结果,制定开,发计划,硬件需,求分析,河北工业大学计算机系,3.1.2 软件工程,论证阶段:系统工程师应,确定,系统对软件的,功能和性能,的要求,这将成为软件需求分析的基础。,功能和性能进行,详细的需求分析,,进行软件,总体结构设计,。在此基础上应尽力寻求可重用软部件来支持软件的详细设计和编码。,按照功能,软部件可划分为,系统软件:实现系统各要素的控制、交互和通用信息处理等功能;,应用软件:实现专用信息处理等功能。,河北工业大学计算机系,3.1.2 软件工程,软件在基于计算机的系统的,IPO,模型的各个部分都起着重要的作用。其主要作用有:,实现系统的输入和输出。,有必要,可设置与数据库的接口,支持系统对数据库的访问。,软件通过一系列的算法和操作控制程序使各个系统要素有条不紊地工作,从而实现系统的功能和性能。,河北工业大学计算机系,图3-1-3 软件工程,制定软件,开发计划,数据和,结构分析,过程设计,维 护,评审,评审,评审,评审,评审,项目计划,需求规格说明验收测,试计划初步用户手册,概要设计规格说明,集成测试计划,需求分析原型设计,原型,软件,功能,评审,分析结果,原型,详细设计规格说明,单元测试计划,编码,程序,源代码,单元、集成,验收测试,评审,测试过程,测试报告,返回到前面,返回到前面,返回到前面,开发,结果,提 交,经 销,被修改的,源代码,被修改,的文档,用户,文档,可运行,程序,河北工业大学计算机系,1软件项目定义部分,该部分由制定软件项目开发计划、需求分析,2,个阶段组成,主要完成以下,4,项任务:,1,)制定软件项目计划。软件工作范围、风险分析、提出项目开发所需资源、成本和进度估算,进而进行可行性论证,生成软件项目计划并经过技术和管理评审。,2,)软件需求分析和定义。,3,)制定验收准则,测试计划。,4,)生成软件需求规格说明,评审后生效,作为软件开发和软件产品验收的依据。,河北工业大学计算机系,1.系统流程图的作用,系统流程图是描述物理系统的工具。通过画出系统流程图来了解要开发的项目的大概处理流程、范围和功能等。系统流程图不仅能用于可行性研究,还能用于需求分析阶段。,系统流程图可用图形符号来表示系统中的各个元素,例如,人工处理、数据处理、数据库、文件和设备等。它表达了系统中各个元素之间的信息流动的情况。,一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现的系统。,系统流程图,河北工业大学计算机系,画系统流程图时,首先要搞清业务,处理过程,以及处理中的各个,元素,,同时,选择相应的符号,来代表系统中的各个元素。所画的系统流程图要反映出系统的处理流程。,在进行可行性研究过程中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型,可以用系统流程图来描述所建议系统的物理模型。,2.系统流程图的符号,系统流程图的符号如表 2-1 所示。,河北工业大学计算机系,河北工业大学计算机系,河北工业大学计算机系,3.系统流程图的示例,以某工厂的库房管理为例,某工厂有一个库房,存放该厂生产需要的物品,库房中的各种物品的数量及各种物品库存量临界值等数据记录在库存文件上,当库房中物品数量有变化时,应更新库存文件。若某种物品的库存量少于库存临界值,则报告采购部门以便其订货,每天向采购部门送一份采购报告。,库房可使用一台微机处理更新库存文件和产生订货报告的任务。物品的发放和接受称为变更记录,由键盘录入到微机中。系统中的库存管理模块对变更记录进行处理,更新存储在磁盘上的库存文件,并把订货信息记录到联机存储中。每天由报告生成模块读一次订货信息,并打印出订货报告。,河北工业大学计算机系,库存管理系统的系统流程图,河北工业大学计算机系,2软件开发部分的任务,软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即软件。,该部分由总体设计、过程设计和编码,3,个阶段组成。,1,)软件总体设计阶段,软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务是:,设计软件的模块结构。,定义接口并建立数据结构。,生成概要设计规格说明和组装测试计划。,评审概要设计的质量,重点评审总体设计是否,支持软件需求规格说明的完全性和可追踪性。,河北工业大学计算机系,2软件开发部分的任务,2)软件过程(详细)设计阶段主要任务是:,对概要设计规格说明中的每一个模块的过程,进行详细的描述。,制定单元测试计划。生成详细设计规格说明。,对详细设计的阶段产品进行评审。,3)编码阶段任务是:,用选定的编程语言将每一个模块的详细过程描述转换成程序。应注意良好的编程风格、简洁性和自文档化,同时还应保持与过程设计的可跟踪性。,河北工业大学计算机系,3软件产品的验证、提交、经销与维护部分的任务,1)软件验证阶段的主要任务是:,软件开发人员根据单元测试计划对每一个,模块进行单元测试,验证模块的功能是否,正确且符合设计要求。,组织开发人员和专门的软件测试工程师,对软件进行综合测试,测试软件总体结构,和接口是否满足设计要求,测试各软部件,是否满足相应的软件功能需求和性能需求。,组织专家、用户和客户对测试结果进行评审。,河北工业大学计算机系,3软件产品的验证、提交、经销与维护部分的任务,2)软件的提交与经销的主要任务是:,开发正式的用户手册、对文档进行分类、整理、,归档,建立配置控制机制。,将软件提交给用户,必要时应负责把软件安装,到用户的环境中。,3)软件维护的任务是:,修正软件在运行中发现的错误、改善软件的功能和性能、适应软件运行环境的变化、提高软件的可维护性和可靠性等等。,以上所介绍的就是将系统工程的观点和方法引入软件工程,用于指导软件的开发。,河北工业大学计算机系,3.1.3 人机工程,目前,友好的“人机界面”(,HCI,,,Human Computer Interface,),已成为基于计算机的系统的一项重要的技术指标。因此,开发人机界面的人机工程已经成为开发基于计算机的系统的一个重要组成部分。,要设计出高质量的人机界面,不仅涉及到计算机技术,还涉及到美学、心理学等人文科学知识。,河北工业大学计算机系,1.活动,分析,2.动作定,义和设计,3.动作,实现,4.用户环,境设计,5.原型,设计,人机界面,开发,Step:,人机界面开发过程的主要5个步骤:,河北工业大学计算机系,3.1.4 数据库工程,必有硬件工程、软件工程和人机工程三部分。,在以信息处理为核心的基于计算机的系统中,数据库系统也是其重要的组成部分。它将系统硬件、软件、数据、数据库管理员组合起来为用户提供信息服务。,数据库工程就是指开发、运行和管理数据库系统的工程,它也是一个复杂而独特的软件工程项目。,河北工业大学计算机系,数据库工程完成的主要任务,1)调查用户对信息和信息处理的需求,进行可行性论证,进行成本、进度估算,制定项目计划。,2)选择支持数据库系统的硬件和软件。特别是DBMS,它支持数据的查询、维护和分析,是管理数据库的工具,为数据库的设计和使用提供了方便。在选择DBMS时,还应考虑支持其运行的操作系统和网络环境。,3)数据库设计与实现。,4)数据的收集与存储。,5)运行、管理与维护。,河北工业大学计算机系,3.2 可行性研究,任务及步骤,1可行性研究的任务,可行性研究的目的,就是用,最小的代价,在,尽可能短的时间,内确定问题是否能够解决。,怎样达到这个目的呢?当然不能靠主观猜想而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判定原定的系统规模和目标是否实现,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。,因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。,河北工业大学计算机系,1.可行性研究的任务,1)经济可行性研究:进行成本效益分析,及对其他产品或利润的影响。,2)技术可行性研究:根据客户提出的系统功能、性能要求及实现系统的各项约束条件,研究系统实现的可能性。,3)运行、操作可行性研究:运行方式在用户单位是否可以有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单位内是否可行,它包括人事、科技政策、管理方法等。,4)法律可行性研究:系统的开发使用是否侵犯他人的利益,是否触犯国家法律法规。,5)开发方案的选择,河北工业大学计算机系,2.可行性研究的步骤,1)复查初步分析结果。,对系统初步的分析结果和报告书进行复查,改正含糊或不确切的叙述,重新确定系统目标与规模,清晰地描述对系统的所有约束条件。,2)研究现有的系统。,找出其基本功能和信息,指出其缺点或局限性。,3)导出新系统高层逻辑模型。,用某种图形工具导出系统高层逻辑模型,并与现有系统进行比较。,4)导出新系统的高层次物理解法,提出多个供选择的方案,并对每一个方案的经济可行性、技术可行性、运行和操作可行性等进行分析比较。,5)推荐建议的方案。,如果系统分析员认为值得开发,则应指出开发的价值、推荐方案的理由并为推荐的系统草拟一份开发计划;若分析员认为不值得开发,也应拿出充分的理由。并提交可行性研究报告等全部文档。,6)评审、复审和决策。,可行性研究最后要通过技术评审和管理复审,开发方和客户方或使用部门负责人根据成本-效益分析等各项可行性研究的结论,决策是否继续这项工程。,河北工业大学计算机系,3.2.2 经济可行性,开发一个基于计算机的系统是为了获取较好的经济效益和社会效益。因此对待开发系统的经济可行性的论证(其中主要是成本,-,效益分析)是可行性研究的重要内容。,成本,-,效益分析,可用于评估系统的经济合理性、给出系统开发的成本估算,并将估算的成本与可获得的利润进行对比,从经济角度论证待开发系统是否可行。,经济效益,指应用系统可为用户增加的收入。,社会效益,指应用系统给社会带来的好处。,河北工业大学计算机系,1成本估算,基于计算机系统的成本主要由4部分组成:,购置并安装软硬件及有关设备的费用。,系统开发费用。,系统安装、运行和维护费用。,人员培训费用。,河北工业大学计算
展开阅读全文