第 3 章 软件开发过程管理.

Slides:



Advertisements
Similar presentations
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
Advertisements

校第六届“新天瑞”杯创业计划大奖赛 赛前培训
软件工程 Software Engeering
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
绩效考评表格设计 班级:15服务4班 姓名:杨冬茜.
初级会计电算化 (用友T3) 制作人:张爱红.
2013年度述职报告.
证券投资技术分析.
软 件 工 程 第二章 过程.
工艺改进提高生产效率 金属成型室 2013年5月 上海拖拉机内燃机有限公司.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 02 认识虚拟局域网 计算机网络技术专业.
实用操作系统概念 张惠娟 副教授 1.
UI(用户界面)集训班 Illustrator 高级班.
会计学专业基础课堂之 基础会计(初级会计) 安徽财经大学会计学院.
第3章 软件过程的管理与改进 3.1 软件过程管理与改进概述 3.2 度量软件过程 3.3 能力成熟度模型CMM 3.4 个体软件过程PSP
第三篇 组织工作.
第一章 商品 第一节 价值创造 第二节 价值量 第三节 价值函数及其性质 第四节 商品经济的基本矛盾与利己利他经济人假设.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
第一节 旅游规划的意义和种类 第二节 旅游规划的内容 第三节 旅游规划的编制 第四节 旅游景区规划
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Harvard ManageMentor®
Harvard ManageMentor®
SVN的基本概念 柳峰
面向对象建模技术 软件工程系 林 琳.
R in Enterprise Environment 企业环境中的R
第 3 章 基本概念.
项目管理 Project Management
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Visual Studio Team System 简介
数 控 技 术 华中科技大学机械科学与工程学院.
Harvard ManageMentor®
第17章 网站发布.
Harvard ManageMentor®
What have we learned?.
数据挖掘工具性能比较.
姓名 Tel: My Skill 技能1 技能2 技能3 技能4 技能5 技能6.
PaPaPa项目架构 By:Listen 我在这.
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
《产品设计工程应用》课程 陈兴波 顺德职业技术学院/设计学院/工业设计专业.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
C语言程序设计 主讲教师:陆幼利.
质量管理体系和认证人员管理 Quality management system and certification personnel management.
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
提供机构:XXXXXXXXX 机构级别:X级X等(无级别可不填写)
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
企业文化内涵体系 持续循环 企业标志 品牌力:…… 服务力:…… 品牌力/服务力 潜规则是…… 1、品质 2、战略 1、价值 2、绩效
Harvard ManageMentor®
iSIGHT 基本培训 使用 Excel的栅栏问题
机械设备的完整性和可靠性管理 Maintenance integrity & reliability.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
敏捷开发下 问题驱动的软件测试设计 郑文强 测试架构师 阿尔卡特-朗讯.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第二节 C语言的特点.
HULUO Finance and Economics College
投资建议书 XXX有限公司 制作人: 制作日期: mp2_v_styleguide_ ppt 1.
基于列存储的RDF数据管理 朱敏
1.概述 软件的概念 软件特征 什么是项目 什么是项目管理,项目管理的特征,涉及的知识域 项目阶段,项目生命周期
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
IT审计简介 最高审计机关国际组织 IT审计培训 第一讲.
IT 方法 INTOSAI IT 审计培训.
Sssss.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

第 3 章 软件开发过程管理

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.1 CMM和ISO9000 软件过程 软件开发过程管理 软件过程改进   是指人们用于开发和维护软件及其相关产品的一系列活动、方法、实践和革新。 软件开发过程管理   是指在软件开发过程中,除了先进技术和开发方法外,还有一整套的管理技术。 软件过程改进   是针对软件生产过程中会对产品质量产生影响的问题而进行的,它的直接结果是软件过程能力的提高。   现在常见的软件过程改进方法:ISO 9000,SW-CMM和由多种能力模型演变而来的CMMI。

3.1.1 SW-CMM和CMMI  SW-CMM简介 为了保证软件产品的质量,1991年美国卡内基·梅隆大学软件工程研究所(CMU/SEI)将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM),并发布了最早的SW-CMM 1.0版。   SW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。

3.1.1 SW-CMM和CMMI 1 初始级 2 可重复级 建立基本的项目管理过程。相似项目,重复以往成果。 无序、混乱的软件过程。依赖个别人的努力和机遇。 3 已定义级 文档化、标准化和标准的软件软件过程。 持续的对过程进行改进。 软件过程和产品质量有详细的度量标准。 5 优化级 4 已管理级 图 CMM分级标准

3.1.1 SW-CMM和CMMI KPA及KP   除第一级外,SW-CMM的每一级都是按完全相同的结构组成的。每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论哪个KPA,它们的实施活动都统一按六个公共属性进行组织,即每一个KPA都包含六类KP:   1. 目标   2. 实施保证   3. 实施能力   4. 执行活动   5. 度量分析   6. 实施验证

3.1.1 SW-CMM和CMMI CMMI简介   由于不同领域能力成熟度模型存在不同的过程改进,重复的培训、评估和改进活动以及活动不协调等一些问题。于是由美国国防部出面,美国卡内基·梅隆大学软件工程研究所(CMU/SEI)于2001年12月发布的CMMI 1.1版本包括四个领域:软件工程(SW)、系统工程(SE)、集成的产品和过程开发(IPPD)、采购(SS)。

3.1.1 SW-CMM和CMMI CMMI有两种不同的实施方法 CMMI的五个台阶 连续式--主要是衡量一个企业的项目能力 阶段式--主要是衡量一个企业的成熟度 CMMI的五个台阶 完成级 管理级 定义级 量化管理级 优化级 每一个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上较低一层台阶。

3.1.2 ISO9000质量标准 ISO9000 作用 所谓“ISO9000”不是指一般意义上的一个质量保证标准,而是一族系列标准的统称。 强化品质管理,提高企业效益;增强客户信心,扩大市场份额; 获得了国际贸易“通行证”,消除了国际贸易壁垒; 节省了第二方审核的精力和费用; 在产品品质竞争中永远立于不败之地; 有效地避免产品责任; 有利于国际间的经济合作和技术交流。

3.1.3 三者之间的比较 选择SW-CMM还是CMMI的考虑 ISO9001与CMM的关系 实施企业的业务特点。 3.1.3 三者之间的比较 选择SW-CMM还是CMMI的考虑 实施企业的业务特点。 实施企业对过程改进的熟悉程度。 实施企业对过程改进项目的预算。 实施企业是否可以使用阶段式的演进路线。 实施CMM与CMMI可以平滑的转换。 ISO9001与CMM的关系 ISO9001和CMM既有区别又相互联系,两者不可简单地互相替 代。 取得ISO9001认证并不意味着完全满足CMM某个等级的要求。 取得CMM第2级(或第3级)不能笼统地认为可以满足ISO9001的要求。

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 传统软件开发生命周期模型 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.2 传统软件开发生命周期模型 软件生命周期 可划分为以下子阶段 1.可行性研究 3.2 传统软件开发生命周期模型  软件生命周期   软件从需求确定、设计、开发、测试直至投入使用,并在使用中不断地修改、增补和完善,直至被新的系统所替代而停止该软件的使用的全过程。  可划分为以下子阶段 1.可行性研究   2.需求分析和定义   3.总体设计   4.详细设计   5.编码(实现)   6.软件测试、运行/维护   据此相继产生了瀑布模型、螺旋模型、进化模型、原型模型、增量模型等。本节分别对这几种传统的软件开发生命周期模型予以介绍。

3.2.1 瀑布模型 瀑布模型总结 文档驱动的模型 阶段间具有顺序性和依赖性 项目开发周期较长 实际项目很少按照该模型给出的顺序进行 3.2.1 瀑布模型 瀑布模型总结 文档驱动的模型 阶段间具有顺序性和依赖性 项目开发周期较长 实际项目很少按照该模型给出的顺序进行 系统需求 软件需求 分析 设计 编码 测试 运行

3.2.2 原型模型

3.2.2 原型模型 Prototyping model特点 在需求定义之前,需要快速构建一个系统 3.2.2 原型模型 Prototyping model特点 在需求定义之前,需要快速构建一个系统 根据构建系统的优缺点,用户给开发人员提出反馈意见 根据反馈意见修改软件需求规格,以便系统可以更正确地反映用户的需求 减少各种假设以及风险

3.2.3 增量模型 增量1 增量2 增量3 增量4 第一个增量发布 第二个增量发布 第三个增量发布 第四个增量发布 开发进度

3.2.3 增量模型  增量模型总结  融合了瀑布模型和原型的迭代特征。  每一个增量均发布一个可操作产品。

3.2.4 进化模型 建造/修改 原型 听取用户 意见 用户测试 运行原型   这个模型可看作是重复执行的多个瀑布模型。

3.2.5 螺旋模型 累计 成本 风险分析 评价方案,识别 风险、消除风险 制订计划 决定目标 方案和限制 原型1 原型2 原型3 可运行 3.2.5 螺旋模型 累计 成本 风险分析 评价方案,识别 风险、消除风险 制订计划 决定目标 方案和限制 原型1 原型2 原型3 可运行 原型 需求计划 生存期 计划 开 发 计 划 集 成 与 测 试 软件 需求 确认 设计确认 与验证 产品 设计 详细设计 风 险 分 析 验收 测试 实现 集成 单元 编码 提交线 评审 开发、验证 下一产品 实施工程 客户评估

3.2.5 螺旋模型  螺旋模型总结  基于风险驱动的开发模型, 使用原型法或其它方法来尽量降低风险。  适用于需求不明确的大规模软件项目

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.3.1 极限模型  极限模型简介    2001年,为了避免许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些敏捷开发过程的方法:SCRUM,Crystal,特征驱动软件开发(Feature Driven Development,简称FDD),自适应软件开发(Adaptive Software Development,简称ASD),以及最重要的极限编程(eXtreme Programming,简称XP)。

3.3.1 极限模型 极限编程将开发阶段的4个活动(分析、设计、编码和测试)混合在一起,在全过程中采用迭代增量开发、反馈修正和反复测试。

3.3.1 极限模型 XP开发模型核心思想: 交流(Communication) 简单(Simplicity ) 反馈(Feedback) 3.3.1 极限模型 XP开发模型核心思想: 交流(Communication) 简单(Simplicity ) 反馈(Feedback) 进取(Aggressiveness)

3.3.1 极限模型 优点 缺点 采用简单计划策略,不需要长期计划和复杂模型,开发周期短; 3.3.1 极限模型 优点 采用简单计划策略,不需要长期计划和复杂模型,开发周期短; 在全过程采用迭代增量开发、反馈修正和反复测试的方法,能够适应用户经常变化的需求。 缺点 目前主要在小规模项目上应用并取得成功,但是否适用于中等规模或大规模软件产品,需慎重考虑; 由于这个模型较新产品交付后维护成本是否降低,不能确定; 对编码人员的经验要求高

3.3.2 Rational统一过程 (RUP)

3.3.2 Rational统一过程 (RUP) 用例驱动 以体系结构为中心 增量和迭代开发 Concise, simple, and understandable 以体系结构为中心 Effective basis for large-scale reuse 增量和迭代开发 基于风险前驱的原则,渐进地展开分析、设计及其相关活动,每个迭代都会提供一次验证和调整模型机会,推动软件质量的提升。

M n QA RTM/W 3.3.3 微软产品开发周期模型 微软产品周期模型 产品规划阶段 产品开发阶段 M1…Mn 3.3.3 微软产品开发周期模型 RTM/W QA M n 产品规划阶段 产品开发阶段 M1…Mn Function Spec Product Vision 微软产品周期模型 发布阶段 CC QFEs ZBB RTM/W Alpha Golden Masters Beta RC1…RCn 测试阶段

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.4.1 质量与质量规划 软件质量 软件质量度量模型由三层组成 是“所有描述计算机软件优秀程度的特性的组合”。 第一层为质量特性 3.4.1 质量与质量规划 软件质量 是“所有描述计算机软件优秀程度的特性的组合”。  软件质量度量模型由三层组成 第一层为质量特性 第二层为质量子特性 第三层称为度量

3.4.1 质量与质量规划 ISO/IEC9126 – 1991(GB/T16260 – 1996)标准标准定义的6个质量特性 质量规划 3.4.1 质量与质量规划 ISO/IEC9126 – 1991(GB/T16260 – 1996)标准标准定义的6个质量特性 功能性 可靠性 易使用性 高效性 可维护性 可移植性 质量规划  指识别哪些质量标准适用于软件项目,并确定如何满足这些标准的要求

3.4.2 质量体系、质量手册和质量计划 质量体系 质量手册 是描述企业质量体系的文件。 质量计划 3.4.2 质量体系、质量手册和质量计划 质量体系  指为保证产品、过程或服务质量,满足规定(或潜在)的要求,由组织机构、职责、程序、活动、能力和资源等构成的有机整体。 质量手册  是描述企业质量体系的文件。 质量计划  是质量管理(质量计划编制、质量保证和质量控制)的第一过程域 。

3.4.2 质量体系、质量手册和质量计划 质量体系、质量手册和质量计划之间的关系 关系图 3.4.2 质量体系、质量手册和质量计划 质量体系、质量手册和质量计划之间的关系 质量体系好比一个国家的法制机构,质量手册就如同宪法,是质量体系的文档化的体现。而为每个项目制定的质量计划类似地方法规,它在符合质量手册的前提下,根据自身的要求与特殊性,通过适当的裁减修正而来。 关系图

3.4.3 项目质量计划的内容 项目实施总体目标 项目分类 质量 时间 成本 3.4.3 项目质量计划的内容 项目实施总体目标 质量 时间 成本   三者是一个相互制约、相互影响的统一体,其中任一项目标变化,都会引起另两个目标变化,并受其制约。 项目分类 质量倾斜型体系 工期倾斜型体系 成本倾斜型体系

3.4.3 项目质量计划的内容 编写软件质量计划涉及的范围相当广,不论是项目选型、软件开发各阶段,还是配置管理、岗位职责与团队组织,又或是其他如项目制度的制定等等方面,都应该是包含在项目质量计划中的内容。

3.4.4 质量目标 软件生命周期三大阶段(以传统的瀑布模型为例) 软件定义 软件开发 软件使用与维护

3.4.4 质量目标 各阶段的关键元素 阶段 需要监控的关键元素 问题定义 关于规模和目标的报告书 可行性研究 3.4.4 质量目标  各阶段的关键元素 阶段 需要监控的关键元素 问题定义 关于规模和目标的报告书 可行性研究 系统的高层逻辑模型:数据流图,成本/效益分析 需求分析 系统的逻辑模型:数据流图(MSC图),数据字典(类清单、对象间关系),算法描述 总体设计 可能的解法:系统流程图,成本/效益分析 推荐的系统结构:层次图 ,结构图 详细设计 编码规格说明 综合测试 综合测试方案和结果 完整性一致的软件配置 维护   完整准确的维护记录

3.4.5 项目质量计划的编写 质量计划 目的 编写准则 应说明项目管理小组如何具体执行它的质量策略。 3.4.5 项目质量计划的编写 质量计划 应说明项目管理小组如何具体执行它的质量策略。 目的 规划出哪些是需要被跟踪的质量工作,并建立文档,此文档可以作为软件质量工作指南,帮助项目经理确保所有工作按计划完成。 编写准则 具体情况具体对待,没有统一定律。

3.4.6 按照质量计划实施有效的质量控制   质量计划确定后,按其建立的质量管理体系,各责任单位必须按PDCA质量环的要求,实施有效的质量控制。  质量控制可分为两个阶段 监测 控制 质量控制应贯穿于项目的整个过程。  项目收尾的两个阶段 项目评估 项目终止 项目收尾阶段的质量控制是一个非常重要而又容易忽视的内容。

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.5 案例分析 HRMS系统 HRMS系统生存期模型选择过程 即人力资源管理系统,是为某跨国企业的ISS部门而开发的。  针对本项目的开发特点,参考企业的生存期模型说明和软件过程体系,决定采用迭代增量式模型。

3.5 案例分析 H R M S 项 目 生 存 期 模 型

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.6 本章小结 讲述了软件开发过程管理需要掌握的部分知识。 介绍了ISO9000,CMM和CMMI三种常见的软件过程改进方法,并比较了它们之间的异同,对于选取哪种方法给予了建议。 详细介绍了多种软件开发生命周期模型的特点、优缺点,对于软件开发中的相当重要的项目选型工作提供了参照。 此外还介绍了质量计划的定义和详细的模版。(质量计划的制定对于软件质量控制的重要性非同小可,它涉及的范围很广,需要制定的内容相当多,部分内容读者可以在其它章节去详细了解。)

本章内容提要 CMM和ISO9000 传统软件开发生命周期模型 扩展软件开发生命周期模型 质量计划 案例分析 本章小结 复习思考题 3.1 3.2 3.3 扩展软件开发生命周期模型 3.4 质量计划 3.5 案例分析 3.6 本章小结 3.7 复习思考题

3.7 复习思考题 CMM和CMMI的五个级别分别是什么?CMM和CMMI的关系是什么? 在软件企业中推行ISO9000的意义何在? 传统的软件开发生命周期可以分为哪几个子阶段? 原型模型可以细分为哪两种?它们的内容是什么? 你觉得进化模型和螺旋模型有哪些相似之处吗?它们的核心思想是什么? 质量体系、质量手册和质量计划的联系何在? 在需求分析阶段需要监控的关键元素是什么?