一:用例图
一:用例图定义
用来描述用户需求的图。需要强调二:用例图组成
用例、参与者、参与者和用例之间的关系。
三:用例的主要属性
事件流
描述一个用例,执行时,执行者和系统之间的交互过程
基本流:对用例中常规和预期路径的描述
备选流:由于受到了其他因素影响,用例执行了其他的路径。
前置条件
该用例执行的前提条件,用来描述在什么条件下可以开始执行下一个事件流
后置条件
说明用例结束时系统的状态
特殊要求
扩展点
问题说明
四:用例图的粒度和范围
概述级
用户目标级
子功能级
二:类图和包图
一:类的概念
对真实客观世界中的客观存在的一个抽象。二:类的关系
关联
普通关联:通过一条直线来连接,单向关联带箭头,双向不带箭头。两个之间可以有多种关联,一个类可以和多个类关联。一个类也可以和自己关联。
聚合:整体和部分之间的关系,用菱形来表示。聚合关系的双发可以独立存在。
组合:组合在一起
依赖
依赖是一种使用关系,说明一个事物规格说明的变化可能会影响到使用它的另一个事物,但反之未必。箭头指向被依赖的一方。
泛化
继承父类属性和方法,
单重继承:一个子类有且只有一个父类。
多重继承:一个子类有多重多个父类。
实现
实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。虚线三角形。
三:类图的深入讨论
可见性
public:+
保护protected : #
private: -
包级别:package: ~
抽象类
不可以被实例化
多重性
包图
一:包的作用
逻辑上将一个复杂的图模块化、组织源代码
二:包的图符
三:包中的元素
类、接口、构件、用例、其他包
若包被撤销,则其中的元素也被撤销了
四:包的关系
泛化、细化、依赖
五:包的常见问题
1:避免循环依赖
2:测试时以包为单位
3:应当尽量把概念和语义上接近的元素包含在同一个包中
4:对于一个包,找出那些包内元素是可以在包外访问的,把这些元素标记为公共的,其他的所有元素都标记为受保护的或者私有的。