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