软件开发与需求管理的定义
非功能需求
过程需求:交付需求,实现需求, 遵循的标准
性能需求:速度,容量,可靠性
外部需求:互操作性,伦理性, 机密性,安全性, 使用要求
(企管培训资料下载)
业务需求
业务说明 用户需求
使用实例
约束条件
功能需求
非功能需求
软件需求规格说明
图 4 软件需求的层次
(企管培训资料下载)
3.CMM 2级 关键过程域需求管理(KPA RM)中对 软件需求的解释:
分配需求(allocated requirements): 分配给软件的系统需求
(企管培训资料下载)
(1)分配需求包括:
――影响和确定软件项目活动的非技术性需求 (在合同条款中规定),如:
(企管培训资料下载)
2.软件需求
⑴ 定义(IEEE-STD-610) 用户为解决某个问题、或为实现某一目标, 要求软件必须满足的条件或能力。
⑵ 软件需求的三个层次 • 业务需求 • 用户需求 • 功能需求和非功能需求
(企管培训资料下载)
软件开发面临的实际问题
(企管培训资料下载)
软件开发面临的实际问题
(企管培训资料下载)
3.当前软件开发项目的特点
――规模大: • LOC • HP
1万几十万 激光打印驱动软件 4万110万
――复杂
――质量要求高 ――开发和维护成本
•满足客户需求和期望 •客户满意度统计 •缺陷后期发现 •返工成本
――延误交付期
(企管培训资料下载)
四、软件需求 1. 系统需求分析
系统工程组
客户
系统需求
分配
最终用户
软件工程组
软件
硬件
其它成分
系统需求(1) 系统需求(2) 系统需求(n)
软件需求
图3 系统需求分配
(企管培训资料下载)
(3)与分配需求相关的组: •软件评估组 •系统工程组 •系统测试组 •软件质量保证组SQA •合同管理组 •文档支持组
(企管培训资料下载)
五、需求工程 1.需求工程=需求开发+需求管理
需求工程
管理过程
⒁
基础设施过程 ⒂
改进过程 ⒃
培训过程
⒄
(企管培训资料下载)
三、软件开发 1.计算机系统
人员
(剧作家、导演)
硬件
软件
数据
传输 机构
执行 机构
(舞台
剧本
演员
道具)
图2 计算机系统
(企管培训资料下载)
⑴系统需求分析
分配给硬件的需求 硬件应能使车速在规定的精确度 1.5KMH范围内
分配给软件的需求 软件应能在车速超出预期车速 0.5KMH时给硬件加/减速命令
图5 汽车限速系统ACCS的 需求分配
软件需求 软件应能: •读入当前车速值 •计算当前车速与预期车速之差 •若差值0.5KMH给出加/减速命令
(企管培训资料下载)
软件需求与需求管理
2002-4-4
(企管培训资料下载)
内容
软件发展的三个时期 软件生存期过程 软件开发 软件需求 需求工程 需求变更及其控制 CMM2级需求管理关键过程域
(企管培训资料下载)
一、软件发展的三个时期
时期 年代
获取过程
⑴
供应过程
⑵
开发过程
⑶
运行过程
⑷
维护过程
⑸
(企管培训资料下载)
支持过程 图1-3
文档编制过程
⑹
配置管理过程
⑺
质量保证过程
⑻
验证过程
⑼
确认过程
⑽
联合评审过程
⑾
审核过程
⑿
问题解决过程
⒀
(企管培训资料下载)
组织过程 图1-4
⑶质量功能展开(QFD-Quality Function Development)
客户需求
常规需求:客户明确提出 期望需求:并未明确提出的潜在需求,
不 言而喻的需求 • 兴奋需求:客户未想到,若实现客户
感到意外
(企管培训资料下载)
⑷ 分配需求的实例
系统需求 ACCS应能使汽车保持在预期 车速的2KMH范围内行驶
•要交付的产品 •交付日期 •里程碑 ――软件的技术需求,如: •最终用户、操作人员、支持或集成的功能 •性能需求 •设计约束条件 •编程语言 •界面需求 ――用于确认软件产品满足分配需求的验收准则
(企管培训资料下载)
(2)分配需求应当是: •以软件来实现是可行的,而且是适合的; •已得到清晰而正确的阐述; •相互之间是一致的; •可以测试的。 同时,分配需求应当: •被管理和控制(如必要可纳入软件配置管理) •是制定软件开发计划SDP的基础 •是制定软件需求的基础
⑵系统结构设计
⑶软件需求分析
2.软件开发过程:
建立软件需求 评价软件需求 联合评审
活动-任务
⑷软件结构设计 ⑸软件详细设计
⑹软件编码和测试
⑺软件集成
⑻软件鉴定测试
⑼系统集成
⑽系统鉴定测试
⑾软件安装
⑿软件验收支持 (企管培训资料下载)
软件开发面临的实际问题
(企管培训资料下载)
软件生存期 过程
•ISO9000•螺旋 •CMM来自表一 (企管培训资料下载)
二、软件生存期过程 ISO/IEC12207 信息技术-软件生存期过程
基本过程
软件生存期过程
支持过程
图1-1
组织过程
(企管培训资料下载)
基本过程 图1-2
阶段
涉及
注重
主要使用语言
标准
模型
初期 50-60 程序设计
点
编程 技巧
ALGOL FORTRAN
COBOL BASIC
中期 70-80 软件开发
线
结构化 模块化
PASCAL
•GB8566 软件开发
规范
•瀑布 •原型
现代
90-
软件过程
面
过程 能力
C,C++
JAVA VB、VC
•ISO/IEC 12207