- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]C语言——第八章
* * 第八章 软件工程 8.1 软件工程 软件工程是用工程和科学的原则与方法研制、维护计算 机软件的有关技术及管理方法。 8.1.1 软件工程的目标 软件工程的目标是:在给定成本、进度的前提下,开发 出可满足用户需求并具有可靠性、有效性、可修改性、可 理解性、可维护性、可重用性、可移植性、可追踪性和可 互操作性的软件产品。 ① 可靠性。能够防止因概念、设计和结构等方面的不完善造成的软 件系统失效,具有挽回因操作不当造成软件系统失效的能力。 ② 有效性。软件系统能有效地利用计算机的时空资源。 ③ 可修改性。能够比较容易地对软件系统进行修改和扩充。 ④ 可理解性。系统具有清晰的结构,能直接反映问题的需求。 ⑤ 可维护性。软件产品交付使用后,能够对它进行修改,以便改正 潜在错误,改进性能,使之适应环境的变化。 ⑥ 可重用性。概念或功能相对独立的一组相关模块定义为一个软部件。 软部件可以在多种场合应用的程度,称为软部件的可重用性。各种软 部件可以按照某种规则存放在软部件库中,供开发人员使用。 ⑦ 可移植性。能够比较容易地将软件从一个计算机系统或环境搬到另 一计算机系统或环境的难易程度。 ⑧ 可追踪性。可以根据软件需求对软件设计、程序进行正向追踪或根 据程序、软件设计对软件需求进行逆向追踪。可追踪性依赖于软件开 发各阶段文档和程序的完整性、一致性、可理解性。 ⑨ 可互操作性。多个软件元素可以相互通信并协同完成任务。为了实 现互操作性,软件开发通常要遵循某种标准,支持这种标准的环境将 为软件元素之间的互操作提供便利。 8.1.3 软件生存周期 软件产品从形成概念开始,经过开发、使用和维护,直 至最后退役的全过程称为软件生存周期。软件生存周期包 括软件定义、软件开发、软件使用与维护三个部分,并可 进一步细分为可行性研究、需求分析、概要设计、详细设 计、实现、组装测试、确认测试、使用、维护和退役十个 阶段。 一. 软件定义 软件定义包含可行性研究和需求分析两个阶段。 1. 可行性研究 可行性研究的任务是了解用户的要求及现实环境,从技 术、经济和社会等几个方面研究并论证软件系统的可行性。 2. 需求分析 软件需求是指对目标软件系统在功能、行为、性能、设 计约束等方面的期望。需求分析的任务是:通过对应用问 题及其环境的理解与分析,为问题涉及的信息、功能及系 统行为建立模型,将用户需求精确化、一致化、完全化, 最终形成需求规格说明书。需求规格说明书内容包括软件 系统的功能需求、性能需求、接口需求、设计需求、基本 结构、开发标准及验收原则,等等。需求规格说明是软件 设计、实现、测试直至维护的主要基础。 二. 软件开发 在软件生存周期模型中,软件开发由概要设计、详细设 计、实现、组装测试和确认测试五个阶段组成。 1. 概要设计 概要设计的任务包括:根据软件需求规格说明建立软件 系统的总体结构和模块间的关系;定义各功能模块的接口; 设计全局数据库或数据结构;规定设计约束;制定组装测 试计划。 概要设计应提供概要设计说明书、数据库或数据结构设计 说明书、组装测试计划等文件. 2. 详细设计 详细设计的任务包括:对概要设计产生的功能模块逐步 细化,形成若干可编程的程序模块;用某种过程设计语言 PDL(Procedure Design Language )设计程序模块的内部细节, 包括算法、数据结构和各程序模块之间的详细接口信息, 为编写源代码提供必要的说明;拟定模块测试方案。 3. 实现(implementation) 实现的主要任务是,根据详细设计文档将详细设计转化 为所要求的编程语言或数据库语言的程序,并对这些程序 进行调试和程序单元测试,验证程序模块接口与详细设计 文档的一致性。 4. 组装测试 组装测试是指,根据概要设计中各功能模块的说明及制 定的组装测试计划,将经过单元测试的模块逐步进行组装 和测试。 5. 确认测试 确认测试是指,根据软件需求规格说明定义的全部功能 和性能要求及软件确认测试计划对软件系统进行测试,测 试系统是否达到了系统需求。 三. 软件使用、维护和退役 1. 软件的使用 将软件安装在用户确定的运行环境中,测试通过后移交 用户使用。 2. 软件的维护 软件的维护是对软件产品进行修改或对软件需求变化作 出响应的过程。 3. 软件的退役 软件的退役是软件生存周期的最后一个阶段,终止对软 件产品的支持,软件停止使用。 可行性研究
文档评论(0)