需求分析方法
6-需求分析方法
需求分析的任务:
①建立分析模型,达成开发者和用户对需求信息的共同理解。
②检查需求中存在的各种缺陷,并加以修改。
③依据共同理解,发挥创造性,创建软件系统解决方案(需求规格说明)。
为什么要细化需求(为什么要需求分析)
⽤户需求的描述的模糊性和系统需求的严谨性之间的矛盾。
模型和建模
模型是对事物的抽象,帮助人们在创建一个事物之前可以有更好的理解。(抽象,理解)
建立模型的过程被称为建模。它是对系统进行思考和推理的⼀种方式。(思考和推理)
抽象和分解是建模最为常用的两种手段。
常见的需求分析模型
①结构化方法:
1.DFD(Data Flow Diagram)数据流图:从数据传递和加工的角度,描述了系统从输入到输出的功能处理过程。
2.ERD(Entity Relationship Diagram)实体关系图:描述系统中的数据对象及其关系,定义了系统中的所有数据。
②面向对象方法:
1. UCD(User-Case Diagram)用例图:描述用户和系统的交互。
2.(Class Diagram)类图:描述应用领域中概念与概念的关系。
3.(Sequence Diagram)顺序图:描述系统中一次交互的行为过程。
4.(State Diagram)状态图:描述系统在整个生命周期内的状态变化。

用例图
描述用户与系统的交互
用例图的基本元素: 用例、参与者、关系和系统边界。
用例图建模步骤:
①系统目标分析;
②寻找参与者;
③寻找用例;
④细化用例。
注意:
不要将用例细化为单个操作。(不要将”用户管理”细化为“增加”,“删除”和“修改”)
不要将同⼀个业务目标标细化为不同用例。(如”特价策略定制”和””赠送策略定制””应该合并)
不要将没有业务价值的内容作为用例,如登陆。(安全质量需求,数据验证(数据需求),连接数据库(软件内部实现)等)

用例描述
用例模板

ATM提款机用例描述
概念类图
又称为”领域模型”,描述类(对象)和这些类(对象)之间的关系,关注系统与外界的交互而不是软件内部构造。
基本元素:
对象:具体问题域事物的抽象。
类:对象集合的抽象。
链接:对象之间的协作关系,描述了对象之间的物理或业务联系。
关联:链接的抽象,特殊的关联,聚合和组合。
建立类图步骤:(14 15)
①识别候选类:划出名词和名词短语。
②确定概念类:依据系统需求,该类的对象实例的状态和行为是否全部必要。
③识别关联:发现概念类之间的协作,分析和补充问题域内关系。
④识别重要属性:添加实现类协作时的必要信息。
系统顺序图:
描述系统中一次交互的行为过程。
基本元素:图名称、对象、生命线、组合段、执行态、消息、创建、撤销以及返回。
顺序图建立步骤:
①确定上下文环境。
②根据用例描述找到交互对象。
③按照流程顺序逐步添加信息。


状态图:
描述系统在整个生命周期的状态变化。
基本元素:状态、开始状态、结束状态、事件、监护事件、活动和转换。
状态图建立步骤:
①确定上下文环境。
②识别状态。
③建立状态转换。
④补充详细信息,完善状态图。

结构化方法
数据流图:
从数据传递和加工的角度,描述了系统从输入到输出的功能处理过程。
基本元素:外部实体、过程、数据流、数据存储。
分层结构:上下文图、0层图、N层图。
过程分解的平衡原则:要求DFD子图输入流和输出流必须和父过程的输入流和输出流保持一致。
实体关系图:
描述系统中的数据对象及其关系,定义了系统中的所有数据。
基本元素:实体、关系、属性、标识符属性。