系统分析与设计 学习笔记(3.3) 结构视图(类图)

结构视图表示系统的静态视图静态视图包括数据结构、数据关系和作用在这些数据上的操作。
静态视图建模的主要可视化工具就是类图
类图建模十分重要,他集成或者包含了其他所有的建模活动。
类图中的类模型包含类、类的属性(包括关系和类的必要操作)。
类图建模的结果为类图和相关文档。
注意的是,在实践中,类图的建模和用例图的建模是同时进行的,两者可以互相帮助发现新的类或者用例。

分类

  • 实体类:持久的数据库对象,如订单、顾客、学生等
  • 表现(边界/视图)类:定义GUI对象的类
  • 控制类:控制程序逻辑和处理用户事件的类
  • 资源类:负责和外部数据源通信的类
  • 中介(调解)类:管理内容高速缓存中的实体对象

特点

  • 需求分析过程中,除了实体类之外的类的细节可能会被处理,也可能不被处理
  • 初始的非实体类建模可以推迟到交互建模,更加详细的建模可以再推迟到系统设计阶段

发现类(实体类)的方法

构造一个表来从功能性分析中发现类

example:

需求实体类
系统通过扫描会员卡来确认客户身份Customer, MenbershipCard

发现类是一个反复迭代的过程,可以通过下列问题来确定一个概念是不是候选类

  1. 这个概念是数据的容器吗?
  2. 他具有取不同值的独立属性吗?
  3. 他有很多实例对象吗?
  4. 他在应用领域的范围内?

有的实体类会在用例图中作为用例出现,可以为其加上注释“from use case view”,其作为外部实体与系统交互,同时也是系统必须了解的内部实体。

属性

新建一个类之后要立刻为类加上属性

分类

标识属性
在一个类中有一个或多个,在该类的所有实例中具有唯一值。
又称关键字。
理想情况下一个类有一个标识属性,但是也有多个的情况。

描述属性
描述类的主要信息内容。

注意点:
属性有原始类型和非原始类型。用int等表示就是原始类型,非原始类型就是用户定义的类型,如用一个Java类来表示。

类之间的关系

关联

表示类之间有简单的协作关系。
例如,Java类中传入了另一个类的参数,则表示这两个类有关联。
作图时用实线表示。

聚合

一个类含有若干个另一个类
例如,顾客拥有一个或者零个会员卡,但每个会员卡都会对应一个顾客。
用白色钻石加实线表示,钻石指向顾客表示的那一端

泛化

一个类是另一个类的超类。
白色三角和实线表示,三角指向超类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值