软件工程方法与奥践 第2章软件过程 子教
软件工程方法与实践 第 2 章 软件过程 电 子教 案
第2章软件过程 21软件过程概述 ⊙22典型的软件过程模型 2.3面向对象的软件过程模型 24小结
第 2 章 软件过程 2.1 软件过程概述 2.2 典型的软件过程模型 2.3 面向对象的软件过程模型 2.4 小结
21软件过程概述 软件工程是一种层次化技术,是建立在以质量焦点为基础 的,分过程、方法和工具三个研究层次的综合技术 工具 方法 过程 质量焦 图21软件工程层次图
2.1 软件过程概述 软件工程是一种层次化技术,是建立在以质量焦点为基础 的,分过程、方法和工具三个研究层次的综合技术。 图2.1 软件工程层次图 工具 方法 过程 质量焦 点
2.11过程、方法和工具 过程层(基础层)是方法和技术结合在一起的凝聚力。 软件过程定义了一个关键过程区域(阶段)的划分, 确立了各阶段之间的关系,其中规定了技术方法的采 用、工程产品(模型、数据、文档等)的产生、质量 的保证,以及对开发进程的适当管理。 方法层提供了建造软件在技术上“如何做”。软件工 程方法涵盖在一系列开发过程的任务中。方法依赖于 组基本原则得以实施。这些原则控制了每一个技术 区域的建模活动和其他描述技术。 工具层对过程和方法提供了自动化支持
2.1.1 过程、方法和工具 过程层(基础层)是方法和技术结合在一起的凝聚力。 软件过程定义了一个关键过程区域(阶段)的划分, 确立了各阶段之间的关系,其中规定了技术方法的采 用、工程产品(模型、数据、文档等)的产生、质量 的保证,以及对开发进程的适当管理。 方法层提供了建造软件在技术上“如何做” 。软件工 程方法涵盖在一系列开发过程的任务中。方法依赖于 一组基本原则得以实施。这些原则控制了每一个技术 区域的建模活动和其他描述技术。 工具层对过程和方法提供了自动化支持
2.1.2软件生存周期 软件生存周期( Software Life Cycle):一个软件项目从 问题提出开始,直到软件产品最终退役(废弃不用)为止。 软件生存周期方法学把整个生存周期划分为多个相对独立 的较小阶段,给每个阶段赋予确定而有限的任务,从而降 低了整个软件工程的难度,提高了软件开发生产率;对软 件生存周期的每个阶段采用科学的、规范的方法和管理, 使软件开发全过程以一种有条不紊的方式进行,保证了软 件质量,提高了软件的可维护性和软件开发的成功率
2.1.2 软件生存周期 软件生存周期(Software Life Cycle):一个软件项目从 问题提出开始,直到软件产品最终退役(废弃不用)为止。 软件生存周期方法学把整个生存周期划分为多个相对独立 的较小阶段,给每个阶段赋予确定而有限的任务,从而降 低了整个软件工程的难度,提高了软件开发生产率;对软 件生存周期的每个阶段采用科学的、规范的方法和管理, 使软件开发全过程以一种有条不紊的方式进行,保证了软 件质量,提高了软件的可维护性和软件开发的成功率
软件过程开发标准的要点 ①采用生存周期方法学开发软件,必须从对任务的抽象 逻辑分析开始,一个阶段一个阶段地进行。 ②划分阶段应遵循的基本原则是各阶段的任务彼此之间 尽可能相对独立,同一阶段各项任务的性质尽可能相同, 从而降低每个阶段任务的复杂程度,简化不同阶段之间 的联系,有利于软件开发过程的组织和管理。 ③每个阶段有相对独立的任务,前一个阶段任务的完成 是后一个阶段任务开始的前提和基础,而后一阶段任务 的完成是前一阶段提出“解”的进一步具体化和实现细 节
软件过程开发标准的要点 ① 采用生存周期方法学开发软件,必须从对任务的抽象 逻辑分析开始,一个阶段一个阶段地进行。 ② 划分阶段应遵循的基本原则是各阶段的任务彼此之间 尽可能相对独立,同一阶段各项任务的性质尽可能相同, 从而降低每个阶段任务的复杂程度,简化不同阶段之间 的联系,有利于软件开发过程的组织和管理。 ③ 每个阶段有相对独立的任务,前一个阶段任务的完成 是后一个阶段任务开始的前提和基础,而后一阶段任务 的完成是前一阶段提出“解”的进一步具体化和实现细 节
软件过程开发标准的要点 ④每一个阶段的开始和结束都有严格标准。对于任何两 个相邻的阶段而言,前一阶段的结束标准就是后一阶段的 开始标准。每一个阶段结束之前,都必须对这个阶段的成 果进行严格的技术复审和管理审查。审查的主要对象是每 个阶段都应该提交的、最新版本的、高质量的相关文档资 料。 ⑤完成每个阶段的任务,应该采用适合该阶段任务特点 的规范方法和系统化技术
软件过程开发标准的要点 ④ 每一个阶段的开始和结束都有严格标准。对于任何两 个相邻的阶段而言,前一阶段的结束标准就是后一阶段的 开始标准。每一个阶段结束之前,都必须对这个阶段的成 果进行严格的技术复审和管理审查。审查的主要对象是每 个阶段都应该提交的、最新版本的、高质量的相关文档资 料。 ⑤ 完成每个阶段的任务,应该采用适合该阶段任务特点 的规范方法和系统化技术
213软件过程模型 软件过程模型(软件生存周期模型),是把软件生存周 期中软件生产活动的有序流程用一个合理的框架—开 发模型规范描述 软件过程模型是一种软件过程的抽象表示法,它从一个 特定的角度表现一个开发过程。 软件过程模型主要是根据软件的类型、规模,特别是软 件的开发方法、开发环境等多种因素确立模型
2.1.3 软件过程模型 软件过程模型(软件生存周期模型),是把软件生存周 期中软件生产活动的有序流程用一个合理的框架——开 发模型规范描述。 软件过程模型是一种软件过程的抽象表示法,它从一个 特定的角度表现一个开发过程。 软件过程模型主要是根据软件的类型、规模,特别是软 件的开发方法、开发环境等多种因素确立模型
214软件过程各阶段任务 各种软件过程模型虽然有所不同,一般都由软件定义、 软件开发和软件维护三个时期组成,每个时期又可由多 个阶段(子阶段)组成。 软件定义时期的活动是弄清软件“做什么”,软件开发 时期的活动是集中解决软件“怎样做”,软件维护时期 的活动是聚焦于软件的“修改/完善”,它们的主要活动 特征可以概括为“What-How- Change
2.1.4 软件过程各阶段任务 各种软件过程模型虽然有所不同,一般都由软件定义、 软件开发和软件维护三个时期组成,每个时期又可由多 个阶段(子阶段)组成。 软件定义时期的活动是弄清软件“做什么” ,软件开发 时期的活动是集中解决软件“怎样做” ,软件维护时期 的活动是聚焦于软件的“修改/完善” ,它们的主要活动 特征可以概括为“ What-How-Change ”
软件定义时期各阶段任务 软件定义时期是了解用户(或客户)提出的需求、确定 项目的总目标、考察和分析项目的可行性、导出实现项 目目标应该采用的策略,系统的功能,并估计该项目需 要的资源和成本,制定工程进度表等。 软件定义时期可以划分成问题定义、可行性研究、需求 分析和开发计划四个阶段,其中,最核心的是需求分析 阶段,所以,软件定义时期也可以称为需求分析时期
软件定义时期各阶段任务 软件定义时期是了解用户(或客户)提出的需求、确定 项目的总目标、考察和分析项目的可行性、导出实现项 目目标应该采用的策略,系统的功能,并估计该项目需 要的资源和成本,制定工程进度表等。 软件定义时期可以划分成问题定义、可行性研究、需求 分析和开发计划四个阶段,其中,最核心的是需求分析 阶段,所以,软件定义时期也可以称为需求分析时期