- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[软件工程课件第章
软件工程 主编 曹哲 高诚 中国水利水电出版社 第3章 计算机系统工程 第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)生成软件需求规格说明,评审后生效,作为软件开发和软件产品验收的依据。 2.软件开发部分的任务 软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即软件。 该部分由总体设计、过程设计和编码3个阶段组成。 1)软件总体设计阶段 软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务是: ①设计软件的模块结构。 ②定义接口并建立数据结构。 ③生成概要设计规格说明和组装测试计划。 ④评审概要设计的质量,重点评审总体设计是否 支持软件需求规格说明的完全性和可追踪性。 2.软件开发部分的任务 2)软件过程设计阶段——主要任务是: ①对概要设计规格说明中的每一个模块的过程 进行详细的描述。 ②制定单元测试计划。生成详细设计规格说明。 ③对详细设计的阶段产品进行评审。 3)编码阶段——任务是: 用选定的编程语言将每一个模块的详细过程描述转换成程序。应注意良好的编程风格、简洁性和自文档化,同时还应保持与过程设计的可跟踪性。 3.软件产品的验证、提交、经销与维护部分 1)软件验证阶段的主要任务是: ①软件开发人员根据单元测试计划对每一个 模块进行单元测试,验证模块的功能是否 正确且符合设计要求。 ②组织开发人员和专门的软件测试工程师 对软件进行综合测试,测试软件总体结构 和接口是否满足设计要求,测试各软部件 是否满足相应的软件功能需求和性能需求。 ③组织专家、用户和客户对测试结果进行评审。 3.软件产品的验证、提交、经销与维护部分 2)软件的提交与经销的主要任务是: ①开发正式的用户手册、对文档进行分类、整理、 归档,建立配置控制机制。 ②将软件提交给用户,必要时应负责把软件安装 到用户的环境中。 3)软件维护的任务是: 修正软件在运行中发现的错误、改善软件的功能和性能、适应软件运行环境的变化、提高软件的可维护性和可靠性等等。 以上所介绍的就是将系统工程的观点和方法引入软件工程,用于指导软件的开发。 3.1.3 人机工程 目前,友好的“人机界面”(HCI,Huma
文档评论(0)