软件需求工程资料
➢从系统外部能发现系统所具有的满足于用户的特 点、功能及属性等” ——Alan Davis
软件需求工程培训
4
Copyright higet Corporation 2012
软件需求层次结构
使用用户语言、简 单描述问题解决方 案,目的是同用户 沟通做确认
分解细化需求规格, 明确地描述产品的 外在行为和特征
6
Copyright higet Corporation 2012
各层次需求描述样例
需求层级 业务需求 用户需求
产品需求
产生方式
客户提出/市场 识别出
例子(ATM提款机)
不在银行柜台客户也可以提款,方便客户、减少缓解银行业 务工作量
需求挖掘
1、要有可靠的安全措施确保客户的账户不会被盗取; 2、提取的金额有一定限度,以确保ATM存储的款项不被一次
需求开发Requirements Development 技术解决方案Technical Solution 产品集成Product Integration 验证Verification 确认Validation 组织过程关注Organizational Process Focus 组织过程定义Organizational Process Definition 组织培训Organizational Training 集成项目管理Integrated Project Management 风险管理Risk Management 决策分析与决议Decision Analysis and Resolution
软件需求工程培训
12
Copyright higet Corporation 2012
缺陷分布统计
➢ 每个阶段缺陷引入的比例
– Requirements 56%
– Design
27%
– Coding
10%
– Others
7%
Hale Waihona Puke 软件需求工程培训13
Copyright higet Corporation 2012
2、…
软件需求工程培训
7
Copyright higet Corporation 2012
非功能需求
➢性能需求
➢易用性需求 ➢可维护性需求 ➢可测试性需求 ➢可移植性需求 ➢可扩展性需求 ➢……
软件需求工程培训
8
Copyright higet Corporation 2012
接口需求
➢用户接口(界面)需求
软件需求工程
Software Requirement Engineering
软件需求工程培训
1
Copyright higet Corporation 2012
课程内容:
1. 需求工程概述 2. 需求获取 3. 需求分析和文档化 4. 需求评审和确认 5. 软件设计 6. 需求管理
软件需求工程培训
2
需求的重要性
➢ 需求对系统的影响比其他任何一个部分的失误都大
——《人月神话》
➢如果不能正确地获得需求,项目的其余部分执行得再好 也没有任何价值 ——Sommerville and Sawyer
软件需求工程培训
11
Copyright higet Corporation 2012
提升产品质量最经济方式
Copyright higet Corporation 2012
缺陷成长模型
软件需求工程培训
15
Copyright higet Corporation 2012
Standish: 软件项目调查数据
软件需求工程培训
Copyright higet Corporation 2012
使项目走向成功十个要素
需求因素 约占40%
软件需求工程培训
Copyright higet Corporation 2012
CMMI过程域
2/3级过程域
软件需求工程培训
需求管理Requirements Management 项目策划Project Planning 项目监督和控制Project Monitoring and Control 供应商协议管理Supplier Agreement Management 度量与分析Measurement and Analysis 过程与产品质量保证Process and Product Quality Assurance 配置管理Configuration Management
重要性…
➢ 修正活动的成本
1000
100
10
3-6
1
times
time
1
10 times
15-40 times
30-70 times
401000 times
软件需求工程培训
Requirement 需求
Design 设计
Coding 编码
14
Testing 测试
System Test 系统测试
Delivery 交付
Copyright higet Corporation 2012
软件开发的悲惨世界
软件需求工程培训
3
Copyright higet Corporation 2012
需求定义
➢A condition or capability needed by a user to solve a problem or achieve an objective; 为用户解决问题或者达到目标所需要的条件或能 力 ——CMMI-DEV&IEEE
➢软件接口需求 ➢硬件接口需求 ➢通讯接口需求 ➢……
软件需求工程培训
9
Copyright higet Corporation 2012
实现约束
➢行业标准的约束
➢企业标准的约束 ➢技术、方法的约束 ➢供应商的约束 ➢相关组的约束 ➢……
软件需求工程培训
10
Copyright higet Corporation 2012
理解客户需要,即 背后的问题
软件需求工程培训
5
Copyright higet Corporation 2012
需求组成部分
业务需求
业务需求
合同 SOW
…
用户需求
用户需求
用户需求说明书 特性列表 …
软件需求 系统需求
软件需求工程培训
质量属性
其它
非功能需求
功能需求
外部接口
约束条件
软件产品需求规格说明书
性提空,别人无法提取; 3、…
需求分析
1、用户验证功能: 1.1 用户插入银行卡,系统进入密码输入界面,密码为6 为数字; 1.2 如果密码正确,系统进入操作界面; 1.3 如果密码错误,系统提示“密码错误,请重新输入”, 最多允许输入3次错误密码,如果第4次输入密码依然错误, 则系统提示“因多次密码输入错误,您的银行卡已被ATM 机保护,请到银行办理取手续”,且银行卡无法取出