- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 软件工程基础 10.1 软件工程概述 10.2 需求分析 10.3 软件设计 10.4 编码与调试 10.5 软件测试 10.6 软件维护 10.1 软件工程概述 1.软件工程的基本概念 在1968年北大西洋公约组织的计算机软件学术会议上第一次提出“软件工程”这个名词。 IEEE软件工程定义:软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件中的方法的研究。 2、软件工程的基本目标 软件工程的基本目标是在给定成本和进度的前提下,开发出具有适用性、有效性、可靠性、可理解性、可维护性、可重用性、可移植性、可互操作性等满足用户需求的软件产品。 这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。 4.软件生命周期(重点) 软件生命周期是从时间的角度出发,从软件目标的提出、定义、开发、维护,直到最终被丢弃的整个过程,即发生、发展和消亡的过程。 一般分为三个时期:软件计划、软件开发和软件运行 计划时期包括:问题定义和可行性研究; 开发时期包括:需求分析、软件设计、编码与调试和测试; 运行时期包括:系统维护阶段。 如下图: (1)问题定义 根据用户或产品需求,提出软件项目的目标和规模,即确定用户要求开发的系统“做什么”? (2)可行性研究 对项目进行可行性调研和论证,确定项目是否能或者值得开发,若值得开发,寻求一种在经济效益、技术和操作等方面可行的、高效的解决方案。 (3)需求分析 确定目标系统究竟“做什么”?确定目标系统必须具备哪些功能、性能和其他要求。 (4)软件设计包括概要设计和详细设计 概要设计解决“概要地描述如何解决问题”,其任务是划分出构成系统的各种物理元素以及设计出软件的结构。 详细设计重点解决的是“怎么具体实现这个系统”的问题,是在概要设计的基础上,把解决问题的方法具体化。 (5)软件编码和调试 将软件设计阶段中的结果翻译成用某种程序设计语言书写的程序,要求是结构良好、清晰易读的,且与设计相一致的。 程序调试的任务是诊断和改正程序中的错误。 (6)软件测试 通过各种类型的测试及相应的调试,使软件达到预定的要求。目的是尽量发现程序中的错误。 (7)软件维护 通过各种维护活动使系统持久地满足用户的需要。 软件维护持续的时间最长,付出的代价最大。 5.软件开发模型 为了开发高质量的软件产品,要根据软件生存周期为各项开发活动的流程确定一个合理的框架,称为软件生存期模型或软件开发模型。 典型的模型有: 瀑布模型(重点)、原型模型、螺旋模型、面向对象生存周期模型、智能模型 (1)瀑布模型(重点) 瀑布模型又称为生命周期瀑布模型,是传统的软件开发方法。瀑布模型是按照传统的生命周期方法学开发软件,是遵循软件生命周期的各阶段的活动组织的。 瀑布模型层次图如下页: 瀑布模型的特点: 各阶段具有顺序性和依赖性; 质量保证机制的依赖性; 推迟实现原则。 (2)原型模型 原型模型是针对瀑布模型开发方法的缺陷提出的。 原型开发模型的主要思想是:在软件开发初期先建立一个能够反映用户需求的原型,让用户对该原型进行确认和评价,对于不满足用户要求的内容做进一步修改和改进。反复对原型进行评价、改进,最终建立起达到用户要求的新系统。 原型模型的特点: 开发人员和用户在原型上达成一致; 缩短了开发周期,加快了工程进度,降低了成本。 (3)螺旋模型 螺旋模型是一种特殊的原型模型,适用于规模较大的复杂系统。它将瀑布模型与原型模型结合起来,并加入风险分析。 螺旋模型将工程分为四个主要活动:制定计划、风险分析、实现工程和用户评价。 其简单结构图如下页: (4)面向对象生存周期模型 在整个软件开发过程中,将面向对象技术贯穿于整个生存周期. (5)智能模型 应用于规则的系统,采用归纳和推理机制,帮助软件人员完成开发工作。 10.2 需求分析 1.目标和任务 目标:对软件目标及范围的求精和细化。 任务:发现需求、求精、建模和定义需求。 2.工作 需求获取 需求分析 编写需求规格说明书 需求评审 3.常见的需求分析方法 10.3 软件设计 1.软件设计的目标和任务
文档评论(0)