【用例图】
【功能】用于需求分析阶段,从用户的角度出发来描述系统功能(外行人看系统),并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。是其他视图的核心和基础。
PS(2014年10月20日16:52:02):这个系统是什么,而不是这个系统怎么工作。
个人理解:给用户一个可视化的系统功能模型图。
【包含元素】
角色、 用例 、 关系(Relationship)
分析角色的准则:
1.使用系统的人, 必然是某个角色。(管理员、一般用户、操作员)
2.系统会涉及到那些维护人员,数据库,网络维护人员等。
3.系统操作需要的硬件外设,比如打印机、传真机,也可能是角色。
4.需要用到的以外的系统。
用例:
椭圆形,是一组动作序列的抽象描述,系统执行这些动作序列,产生相应的结果。理解一下,就是可见的系统功能。
涉及到的关系:
1.参与者与用例之间的关系:关联
2.用例之间的关系:依赖,其中主要有包含《include》/扩展《extend》
包含关系:把一个比较复杂的系统功能分解成较小的系统功能,是整体和部分的关系。
扩展关系:用例功能的延伸。相当于给用例提供一个附加的功能。
PS(2014年10月20日16:59:05)
包含、扩展对比:
相同点:1.用例和用例间关系
不同点:1.方向不同,扩展从外指向内部,包含从里面指向外部 2.意思不同,扩展是外来客,包含是用例具体化。
泛化和继承对比:
相同点:图标一样
不同点:泛化从下到上,子类抽象成父类的过程;继承是从上到下,子类继承父类的特性。
3.角色和角色之间关系:泛化《generalization》
下面的实践图的总体图,表示的就是泛化关系,即继承关系。管理员继承了操作员结构、行为和关系,操作员同上。
【实践——机房收费系统】
感受:
1.一有重复,就想到合并,此处用到的是泛化。
成果:2.如果单看图,就一个小人(角色),几个椭圆(用例),三种线型(泛化、扩展、包含关系),分析好了关系,就容易画多了。