上篇总结的链接
部署图:
具体应用;软件和硬件的物理构架
系统是如何部署的;
如计算机和设备,以及它们间是如何连接。
使用者:是开发人员、系统集成人员和测试人员。
节点
包括:处理器和设备。
处理器
有计算能力且能执行各软件的节点,如服务器。
有处理能力,包含了调度和进程。
调度
处理器处理其进程中为实现目的而对共同使用的资源进行时间分配。
调度方式
抢占,无优先级,循环,算法控制,手动执行。
进程
一个单独的控制纯种,是系统中一个重量级的并发和执行单元。
设备
指本身不具备处理能力的节点,如打印机。
构件图:
描述代码构件的物理结构以及各种构件间的依赖关系。
用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。
构件
系统中遵从同一组接口且提供其实现的物理的、可替换的部分。
举例:对象库、可执行体、COM+
类型:
1.源代码构件:源代码文件
2.二进制构件:目标码文件、静态链接库、动态链接库
3.可执行构件:可执行程序
4.数据文件或文档
类和构件的区别:
1.类表示逻辑抽象,而构件表示物理抽象。
2.类可以直接拥有属性和操作,而构件一般只拥有只能通过其接口访问的操作。
包图
文件夹
类按照标准划分,将具有相似功能的一组元素放在一个包中
功能:
使我们的程序结构上清晰,源码易读。
关系:
依赖、泛化
对象图
是更接近实际的系统行为。
目的是在一个特定的时刻捕捉到静态的系统视图。
状态图:
类的对象所有可能的状态,以及事件发生时状态的转移条件。
类所描述事物的补充说明:类所有对象可能具有的状态,以及引起状态变化的事物。
状态图侧重从行为的结果来描述(状态)
活动图侧重从行为的动作来描述(活动)
交互图
顺序图
强调时间和序列顺序选择
强调时间和顺序
协作图
强调上下级关系
强调对象之间的关系选择
对象间的动态合作关系
主要描述协作对象间的交互和链接
显示对象、对象间的链接以及对象间如何发送消息。
包含(include)
当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。
基用例并非一个完整的用例
基用例和子用例一起使用才够完整
解释:查询单个上机记录和查询单个卡上的余额用例并不能单独实现,必须结合输入卡号这个用例才能实现功能。
扩展(extend):
对基用例的扩展,基用例是一个完整的用例
基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。
几种图的区别:
1:用例图侧重描述用户需求,
2:类图侧重描述系统具体实现;
1:类图描述的是系统的结构
2:序列图描述的是系统的行为
1:构件图描述系统的模块结构,抽象层次较高
2:类图是描述具体模块的结构,抽象层次一般
3:对象图描述了具体的模块实现,抽象层次较低
四:结构分类、动态行为和模型管理:
1:结构分类
用例图、类图、对象图、构件图和部署图,
2:动态行为
状态图、活动图、顺序图和协作图,
3:模型管理则
类图
关系:
关联关系(Association)
说明:类间;结构化关系;一类对象与另一类对象之间有联系。
聚合(可分割)
组合(不可分割)
依赖关系:
假设A类的变化引起了B类的变化,则说名B类依赖于A类。
依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方
泛化:
继承
父类、子类