第2章软件工程原理与应用19176.pptx
《第2章软件工程原理与应用19176.pptx》由会员分享,可在线阅读,更多相关《第2章软件工程原理与应用19176.pptx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 软件生存周期n2.1 软件工程过程n2.2 软件生存周期n2.3 软件生存周期瀑布模型n2.4 软件生存周期原型模型n2.5 软件生存周期其他模型2.1 软件工程过程n2.1.1 什么是软件工程过程 n软件工程是一种层次化的技术。如图2.1所示 图2.1 软件工程层次 n软件过程定义了一组关键过程域,它们构成软件项目管理的基础,并规定了技术方法的采用、工程产品(模型、文档、数据、报告以及表格等)的产生、里程碑的建立、质量的管理以及适当的变更控制。2.1 软件工程过程n软件过程是软件生存期中的一系列相关软件工程活动的集合。每一个软件过程又是由一组工作任务、项目里程碑、软件工程产品和交付物
2、以及质量保证(SQA)点等组成。一个软件过程可以用图2.2的形式来表示。图2.2 软件过程2.1 软件工程过程n2.1.2 软件过程模型 软件工程过程模型的选择基于项目和应用的特点、采用的方法和工具、要求的控制和需交付的产品.所有的软件开发都可以看成是一个问题循环解决过程,如图2.3所示。其中包括四个截然不同的阶段:状态捕获、问题定义、技术开发和方案综合。状态捕获表示了事物的当前状态;问题定义标识了需要解决的特定问题;技术开发利用某些技术来解决问题;方案综合导出最终的结果(如文档、程序、数据、新的事务功能、新的产品)。2.1 软件工程过程n以上的问题循环解决过程可以用于软件工程的不同开发级别上
3、。它可用于考虑整个应用系统的宏观级,也可用于建造程序构件的中间级,甚至还可用于源代码行级。因此,可以用分级几何表示来给出过程的理想化的视图。首先定义一个分级几何表示的模式,然后相继地在更小的规模上递归地应用分级几何表示:模式中嵌套模式。在图2.4中,问题循环解决过程的每一个阶段又包含一个同样的问题循环解决过程,该循环中每一个步骤中还可以再包含另一个问题循环解决过程。这样一直继续下去,直到某个合理的边界为止。对于软件来说,就是源代码行。2.1 软件工程过程 图2.4 问题循环解决过程中阶段嵌套阶段 2.1 软件工程过程n2.1.3 过程建造技术 为了使得软件过程模型适合于软件项目组的使用,需要开
4、发一些过程技术工具,以帮助软件开发组织分析它们当前的过程,组织工作任务,控制和监控进度,管理技术质量。n 使用过程技术工具,可以建造一个自动模型,模型包含前面提到的公共过程框架、任务集合及保护伞活动。该模型一般表示成一个网络,对其加以分析,就能够确定典型的工作流程,考察可能导致减少开发时间、降低开发成本的可选的过程结构。n 一旦创建了一个可接受的过程,就可以使用其他过程技术工具来分配、监视、甚至控制在软件过程模型中定义的所有软件工程任务。软件项目组的每一个成员都可以使用这样的工具来开发检查表,列出所有将要执行的工作任务、将要产生的工作产品和将要实施的软件质量保证活动。2.2 软件生存周期 如同
5、任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期。根据这一思想我们可以得到软件生存周期的三个时期:软件定义、软件开发、软件使用与维护,如图2.5所示。图2.5 软件生存周期 2.2 软件生存周期n2.2.1 软件定义 软件定义可分为软件系统的可行性研究和需求分析两个阶段:n软件系统的可行性研究软件系统的可行性研究 可行性研究的任务是了解用户要求和现实环境,从技术、经济、市场等方面研究并论证开发该软件系统的可行性。即这个软件系统是否值得开发,是否有可行的技术去开发。系统分析员一般需通过以下途径完成
6、此阶段的任务:n调查和了解用户要求和现实环境。n撰写调查报告。n可行性论证和分析(技术可行性、操作可行性和经济可行性)如可行,制定初步项目开发计划(成本估算、人员组织、进度安排等)。2.2 软件生存周期n需求分析需求分析 这个阶段的任务主要是确定待开发软件的功能需求、性能需求和运行环境约束、编制软件需求规格说明、软件系统的确认测试准则和用户手册概要。软件的功能需求应该指明软件必须完成的功能。软件的性能需求包括:软件的安全性、可靠性、可维护性、精度、错误处理、适应性及用户培训等。软件系统的运行环境约束指软件系统必须满足的运行环境方面(硬件环境、系统平台)的要求。2.2 软件生存周期n软件需求分析
7、不仅是软件开发依据,而且也是软件验收的标准。n系统需求一般由用户提出。由于用户往往缺乏软件开发的知识和经验,系统分析员和软件开发人员不得不与用户反复讨论、协商、使用户需求逐步精确化、一致化、完全化。n需求分析的一项重要任务是建立面向开发者的软件需求规格说明(Software Requirements Specification,简称SRS)。多数场合面向开发者的软件需求用需求规格说明语言描述。SRS应该指明软件系统的功能需求、性能需求、接口需求、设计需求、基本结构,以及开发标准和验收原则,等等。SRS是软件开发的基础,建立SRS是软件开发成败的关键。2.2 软件生存周期n2.2.2 软件开发
8、在软件生存周期模型中,软件开发由概要设计、详细设计、实现、集成测试和确认测试五个阶段组成。n概要设计 概要设计的任务是根据软件需求规格说明(SRS)建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划。对于大型软件系统,应对软件需求进行分解,将其划分为若干个子系统,对每个子系统定义功能模块和各功能模块之间的关系,并给出各子系统接口界面的定义;对于一般的软件系统可以直接定义各功能模块以及它们之间的关系 概要设计应提供概要设计说明书、数据库或数据结构设计说明书、组装测试计划等文件。2.2 软件生存周期n详细设计 详细设计的任务是对概要
9、设计产生的功能模块逐步细化,形成若干个可编程的程序模块,用某种过程设计语言(Procedure Design Language)设计程序模块的内部细节,包括算法、数据结构和各程序模块之间的详细接口信息,为编写源代码提供必要的说明,建立“模块开发卷宗”,拟定模块测试方案。详细设计需根据软件需求规格说明(SRS)和概要设计的结果进行,可以选用的方法和工具是比较多的,如结构化的设计方法、面向对象的设计等方法和Rationa Rose、VisualModel及Microsoft Visio等工具。软件开发人员可以根据实际情况选用适当的方法和工具。详细设计应该遵循的原则是:设计应与软件需求保持一致,设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 原理 应用 19176
限制150内