绘制类图的一般步骤和方法
绘制类图一般有以下3个步骤:确定类,识别类的属性和操作,组织类并确定其关系。
确定类
确定类是通过对软件需求的分析来完成的。常用的方法包括行为分析、名词识别法、CRC分析等等。
其中的名词识别法就是首先把需求或者用例描述中的所有的名词标识出来,把它们作为候选类,然后再对这些候选类逐个进行考察,去掉一些不必要的类。
对这些候选类进行审查和筛选,可以遵循以下原则:
删除冗余类
有些需求或用例描述中的名词是表达重复的意思,比如顾客和用户。这些冗余的名词应当做删除处理。
去掉无关类
对于那些与软件系统的功能和目标没有关系的类,要做删除处理。
删除模糊类
对于那些边界定义不清楚或者范围太广的名词形成的候选类应该删除,比如系统。
区分是类还是属性
有些标识出来的候选类,实际上更适合作为类的属性,而不适合定义成类。比如会员编号,会员类型这些就适合定义为会员类的属性。
识别类的属性和操作
识别类的属性也可以像确定类那样,分为识别候选属性和筛选属性两个步骤。
识别候选属性可以从以下几个角度进行:
常识性
我们可以通过常识就能确定一些类的属性。比如,一个会员类就有可能有姓名、性别、联系方式等属性。
专业性
所谓的专业性是指该类在现实问题领域中应当有的专业属性。比如条形码就是现今商品类应当有的属性。
功能性
功能性是指从软件的功能需求出发来考虑类应当具有的属性。
存储性
存储性是通过分析该类要保存和处理那些信息来确定应当具有的属性。
操作性
操作性是考虑该类方便实现一些操作应当具有的属性。
标志性
标志性是为类处于不同状态所设置的属性。比如,订单类可能会有已付款、已发货等属性。
在类的候选属性识别出来之后,就要对它进行审查筛选。审查和筛选类的属性可以遵循以下的原则:
应当忽略派生属性。
忽略不会影响操作的次要属性。
删除外界观察不到的属性。
删除和系统无关的属性。
删除与其他属性不相关、不一致的属性。
而要识别类的有哪些操作则需要根据建立的对象模型,、动态模型和功能模型来确定。
组织类并确定其关系
类与类之间的关系有依赖、泛化、实现和关联。在识别出了类、类的属性和操作之后,就要组织这些类并确定类之间的关系。我们通常是以类图的形式来描述类及其关系。组织类并确定其关系通常分为以下4个步骤:
确定类之间的关联关系并标识其多重性。
使用继承关系组织类。
确定整体和部分的关系。
绘制类图。
这正是:
绘制类图从何起,识别出类属第一
确定属性和操作,组织关系图可出
参考书目:系统分析与设计,主编:李爱萍,出版社:人民邮电出版社