分析阶段的类图和设计阶段的类图有什么区别?

设计类图是类图的一个变体,类图表示一系列的类以及它们之间的关系。因为分析阶段是一个发现需求的过程,所以我们一般很少关心类的属性和方法的细节。在面向对象设计中,类的属性有一个特征叫可见性,它表示其它类是否可以访问该属性。类的每个属性都有一个类型定义,例如字符串或数值类型。在详细设计阶段,我们需要细化这些属性,并且定义方法的名称、返回值以及传入的参数。因此,虽然分析阶段和设计阶段的类图很相似,但设计阶段的类图更完善。

下图显示了用于设计类图要使用的符号,这个类图是一个简化的版本,它仅仅显示了属性和方法标识。

 

 

图 1 一个简单类图

类图的图形符号是一个矩形框,矩形框分为三个部分。第一部分是类名,在这里写入类的名称;第二部分是属性列表,在这里写入类的所有属性,包括属性的名称、属性的可见性和属性的类型。属性的可见性用于表示其它类是否能直接访问这些属性;第三部分是方法列表,在这里写入类的所有方法,包括方法的名称、返回值以及传入的参数。

属性列表包含了在分析阶段所发现类的所有属性。此外,还包括一些其它属性,这些属性用来表示和其它类的对象相关联的对象引用。例如,一个账号对应一个客户,客户账号类需要一个方法找到正确的客户。有两种方法可以做到这一点,一是定义一个域,可以直接引用或连接正确的客户对象,这个域叫做对象引用或对象指针;另一种方法是在客户账号类中为客户类插入一个外部码。前面的方法比较适合类之间的引用,后面的方法比较适合关系数据库表的关联。

另外补充的一个属性是状态值属性,类中加入这个属性能够维护对象所处的状态的信息。状态信息从状态图中提取并加入到方法逻辑中,这个属性就是类的状态变量。例如,用户类要保存用户是否登录系统的状态。

方法列表包含了在分析阶段所发现类的所有方法,分析阶段的类图仅给出了类的中文方法名称。在设计阶段需要用英文确定方法的名称,并给出方法的返回值和传入的参数。

图2是人脉系统名片类分析阶段的类图,图3是人脉系统名片类设计阶段的类图。

 

图 2 人脉系统名片分析阶段的类图

 

图 3 人脉系统名片设计类图

从图2和图3可以看出,分析阶段的类图主要是从业务领域获取信息的,在描述上更多使用了业务领域的语言和词汇。设计阶段的类图是从编程实现角度来设计类图的,更多的是考虑类编码的实现。图3的设计类图不仅给出了类的英文名称、类属性的可见性、类属性的英文名称、类属性的数据类型,还给出了类方法的返回值、方法的英文名称和方法的传入参数。程序员可以根据设计类图直接编写类代码,也可以使用代码自动生成软件来自动创建类代码。

  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值