文档介绍:需求分析用例图
第1页,共84页,编辑于2022年,星期三
-*-
课程内容
UML概述
理解需求
需求,难在何处?
以用例为中心组织需求
基于用例的需求分析过程
第2页,共84页,编辑于2022年,星期三
-*-
如此脆弱
客户/用户的要求/想法/期望
软件设计
软件产品
分析和设计
编码和测试
验 收
没价值的软件需求
补文档
第14页,共84页,编辑于2022年,星期三
-*-
需求:也需要开发
客户/用户的要求/想法/期望
软件设计
软件产品
开发
编码和测试
验收
有价值的软件需求
分析和设计
第15页,共84页,编辑于2022年,星期三
-*-
获取好的需求
需求收集包括五个关键步骤
找到可以帮助你理解这个系统的人
倾听这些相关人员的描述,并从他们的角度来理解系统
利用一个容易理解的模型来描述用户希望如何使用这个系统以及为他们提供的什么价值
详细地描述系统和客户以及系统和外部系统之间的交互
重构(refactor)这个详细描述以保证它是可读且易懂的
第16页,共84页,编辑于2022年,星期三
-*-
内容安排
UML概述
理解需求
需求,难在何处?
以用例为中心组织需求
基于用例的需求分析过程
第17页,共84页,编辑于2022年,星期三
-*-
需求问题:对策
难捕获
易变
从用户视角看问题
合理的结构
用例
第18页,共84页,编辑于2022年,星期三
-*-
以用例为中心组织需求
用例
可用性
可靠性
网络协议
业务规则
……
硬件接口
界面约束
性能
第19页,共84页,编辑于2022年,星期三
-*-
内容安排
UML概述
理解需求
需求,难在何处?
以用例为中心组织需求
基于用例的需求分析过程
第20页,共84页,编辑于2022年,星期三
-*-
基于用例的需求分析过程
1. 获取原始需求
2. 开发一个可以理解的需求
识别参与者
识别用例
构建用例图
3 详细、完整地描述需求
进行用例阐述
4 重构用例模型
识别用例间的关系
对用例进行组织和分包
第21页,共84页,编辑于2022年,星期三
-*-
基于用例的需求分析过程
1. 获取原始需求
2. 开发一个可以理解的需求
识别参与者
识别用例
构建用例图
3. 详细、完整地描述需求
进行用例阐述
4. 重构用例模型
识别用例间的关系
对用例进行组织和分包
第22页,共84页,编辑于2022年,星期三
-*-
获取需求的技巧
技巧
描述
实地观察
直接观察个人工作的情况,以发现现存的实践方式和问题
访谈
从个人处收集特定信息
特定群体调查
对一组人员进行调查,以便了解工作态度和共同看法
问卷调查
收集详细数据和统计意义上比较重要的数据
用户指导
让最终用户告诉你,他们是如何操作系统的
原型制作
模拟一个无法直接测试的系统
统计版本
使用具有统计功能的应用程序来记录用户完成任务的方式
行业知识
收集和整理行业中的法律、法规,用户所使用的规章制度、操作规程等内容
…
……
第23页,共84页,编辑于2022年,星期三
-*-
获取需求:考勤卡应用程序
初次访谈记录开发者:谁将使用这个应用程序?客 户:所有用它来记录可记帐以及不可记帐的工时的雇员……开发者:现在考勤卡应用程序是什么样的?客 户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者:这个收费项目代码可以从什么地方得到?……开发者:谁来管理收费项目代码?客 户:嗯,必要的时候由我来添加这个代码。而每个经理总会告诉他的下属应该填写什么。……
第24页,共84页,编辑于2022年,星期三
-*-
基于用例的需求分析过程
1. 获取原始需求
2. 开发一个可以理解的需求
识别参与者
识别用例
构建用例图:确定参与者和用例之间的关系
3. 详细、完整地描述需求
进行用例阐述
4. 重构用例模型
识别用例间的关系
对用例进行组织和分包
第25页,共84页,编辑于2022年,星期三
-*-
相关术语
场景:是用来描述用户和系统之间交互的顺序的步骤
用例:是为了达到某一用户目标而组合在一起的一组场景
用例图:用来显示在系统(或其它实体)内的用例与系统参与者之间