软件工程4-面向对象的需求分析
面向对象的需求分析
统一建模语言UML
概念
系统及其边界
目的:识别什么在系统内,什么在系统外,进而识别出系统的职责;
典型的系统边界:硬件设备,组织,部门
方框代表边界
参与者actor
- 系统之外的需要用系统或者与系统交互的东西;
- 表示形式:actor,lable,decoration
- 小人表示actor
用例use case
- 系统,子系统或者类和外部的参与者交互的动作序列的说明;
- 包括可选的动作序列,会出现异常的动作序列;
- 用例是系统提供给外部可感知的功能单元,描述使用的情况;
- 目的:定义清晰的系统行为,但不解释系统的内部结构
- 椭圆+动宾结构:创建索引…
如何获取use case
- 参与者希望系统执行的任务;
- 参与者在系统访问的信息;
- 外界信息如何提供给系统…
用例做需求分析的特点
- 用例从使用系统的角度描述系统;
- 用例描述了用户提出了可见需求,对应具体的用户目标,比如非功能性需求就是不可见的,登陆也一般不是具体的用户目标;
- 用例是对系统的动态描述,属于UML的动态建模部分;
用例图中的关系
- 关联:参与者和其参与的用例之间的通信途径;
- 泛化:一般和特殊之间的关系,子用例继承父用例的行为和含义,子用例也可以新增或覆盖父用例的行为和含义
- 包含:其中一个用例的行为包含另一个用例,箭头由基本用例指向被包含用例,被包含用例在基本用例执行时必须被执行
- 扩展:拓展关系中,基本用例必须声明若干扩展点,扩展用例只能在扩展点增加新的新为和含义,箭头由拓展用例指向基本用例,扩展用例无法单独被执行;
用例描述的常见错误
- 只描述系统的行为,没有描述参与者的行为;
- 只描述参与者行为,不描述系统的行为;
- 在用用例描述中设计用户界面的设计
- 描述冗长