软件工程4-面向对象的需求分析

面向对象的需求分析

统一建模语言UML

概念

  1. 系统及其边界

    • 目的:识别什么在系统内,什么在系统外,进而识别出系统的职责;

    • 典型的系统边界:硬件设备,组织,部门

    • 方框代表边界

  2. 参与者actor

    • 系统之外的需要用系统或者与系统交互的东西;
    • 表示形式:actor,lable,decoration
    • 小人表示actor
  3. 用例use case

    • 系统,子系统或者类和外部的参与者交互的动作序列的说明
    • 包括可选的动作序列,会出现异常的动作序列;
    • 用例是系统提供给外部可感知的功能单元,描述使用的情况
    • 目的:定义清晰的系统行为,但不解释系统的内部结构
    • 椭圆+动宾结构:创建索引…

如何获取use case

  1. 参与者希望系统执行的任务;
  2. 参与者在系统访问的信息;
  3. 外界信息如何提供给系统…

用例做需求分析的特点

  • 用例从使用系统的角度描述系统;
  • 用例描述了用户提出了可见需求,对应具体的用户目标,比如非功能性需求就是不可见的,登陆也一般不是具体的用户目标;
  • 用例是对系统的动态描述,属于UML的动态建模部分;

用例图中的关系

  • 关联:参与者和其参与的用例之间的通信途径;
  • 泛化:一般和特殊之间的关系,子用例继承父用例的行为和含义,子用例也可以新增或覆盖父用例的行为和含义
  • 包含:其中一个用例的行为包含另一个用例,箭头由基本用例指向被包含用例,被包含用例在基本用例执行时必须被执行
  • 扩展:拓展关系中,基本用例必须声明若干扩展点,扩展用例只能在扩展点增加新的新为和含义,箭头由拓展用例指向基本用例,扩展用例无法单独被执行;

用例描述的常见错误

  1. 只描述系统的行为,没有描述参与者的行为;
  2. 只描述参与者行为,不描述系统的行为;
  3. 在用用例描述中设计用户界面的设计
  4. 描述冗长