用例实现包括:
- 初步设计类图-DCD
- 设计顺序图-SSD
- 完整设计类图(和1比增加了方法)
初步设计类图DCD
组成:控制类(用于处理视图层和业务逻辑层的数据交互)+类表(三行,属性有+加号代表私有属性、有数据类型例如string-int-float等,方法暂时为空)+导航箭头(代表顺序图的数据处理走向,就是先干嘛后干嘛)。
例如以下:
先找到我们小组的PPT,里面有流程图和类图,主要需要使用这两个图参考。
以quit a club为例
这里很明显看出我需要查看我的社团列表,这个就需要社团加入记录表,然后这里有一个返回社团信息的需要,那么就需要社团表,接着挑选社团返回表单不需要新的类表,填写退出表单,这里需要用到退出记录表,至此三个需要的表已经找出,将原先的类图表照搬到初步设计类图,添加减号,数据类型,导航线和控制器类。导航线-从控制器类开始到 社团加入记录表....如图。
控制器类只有表名
设计顺序图SSD
组成:参与者(小人)+视图层+控制器层+业务逻辑层(通常为类的对象实例)+数据访问层(数据访问代码,处理和数据库表的数据交互,例如增删查改基础操作)
这个步骤课件上的操作是先大框架,然后逐渐添加细节组成部分,我建议直接一步一步从左到右画完。
以我们的用例为例子:
这里需要参考之前所画的系统顺序图SSD
1.首先先画一个小人
2.然后添加视图层,ClubListPage
直接把原先系统顺序图上的箭头直接全部搬过来
3.然后加上控制器类
名字就是用例的名字的大驼峰写法,单词首字母全部大写,再把视图层前面的箭头全部搬过来,因为视图层是系统的前端显示页面接受用户数据输入的代码逻辑,简单来说视图层起到一个传递的作用,所以直接把箭头平移过来。
控制器类处理的是用户数据到数据业务逻辑层的数据传递,
4.画上第一个类的实例对象,aM:MembershipRecord, aM代表对象的名字。指向对象的箭头上固定形式是 aM:= createMXXX(参数)这样的形式。我们需要这样一个对象对数据进行类型定义。
5.画上实例对象所需要交互的数据库访问层,实际的创建对象(新增表数据)需要对数据库进行操作。如果是新建,就是insertXXX,如果是搜索就是findXXX,更新是uodateXXX().
注意设计类图的导航线,导航线代表在SSD中水平箭头谁指向谁。
6.如果有类的实例返回了 原始设计顺序图 中显示返回的数据M,并且在 控制器类这里 没有存在获取信息的函数箭头指向这个实例,那么需要加上控制器类指向该实例的箭头,并且同时添加返回M中存在的数据的返回虚线箭头-从类实例到控制器类。再把箭头重复两遍从控制器到视图页面,再到用户。
END
完整设计类图
将初步设计类图中存在的类 在所画的设计顺序图中 找出对应的实例,然后看指向这个实例的箭头上写的啥方法,把这个方法直接搬到初步设计类图下面就OK了。