小结九种图

2024-05-25 11:18
文章标签 小结 九种

本文主要是介绍小结九种图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、在UML系统开发中有三个主要的模型: 

功能模型: 从用户的角度展示系统的功能,包括用例图。 

对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类、对象图、包图。 

动态模型: 展现系统的内部行为。包括序列图,活动图,状态图

 

下面简单简绍一下九种图:

用例图(UsecaseDiagram)用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用,完成那些功能。

类图(Class Diagram):用于定义系统中的类,包括描述累的内部结构和类之间的关系。是对软件系统的静态部分进行呈现,表示不同的实体是如何相关联的

包图(Package Diagram)是对程序的软件系统模块划分使源码模块程序更加清晰

对象图(Object Diagram):是类图的一个实列,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。

 

行为图从动态的角度描述系统功能操作(动态模型)和对象之间的关系

状态图(Statechart Diagram)用来描述类的对象所有可能的状态以及事件发生时的状态转移条件。

活动图(Activity Diagram)反映一个连续的活动流,用于描述某个操作执行时具体的活动状况

活动图和状态图是描述同一个行为的不同角度,活动是从动作本身来描述,状态是从结果来描述。如吃饭是活动,而状态是饱了。

交互是指消息的传递。交互图使用来描述对象是如何通过消息进行相互作用的。

顺序图(sequence Diagram )描述对象之间的消息传递顺序,强调消息的时间顺序,同时显示对象的交互过程。

协作图:(collaboration Diagram)强调接收和发送消息的对象之间的结构组织关系

序列图和协作图是可以相互转化的。

就如学生、卡、系统之间的交互

学生要刷卡登入系统,系统还要验证信息。刷卡、验证就是这些对象之间的交互。

 

实现图是从硬件方面来说的。

构件图(Component Diagrams) 描述代码的物理结构以及各构件之间的依赖关系

部署图(Deployment Diagrams)系统中硬件的物理体系结构

 

 

二、九种图与开发过程的关系

需求采用用例图来描述。

分析是发现、明确要解决问题的细节。从静态和动态两方面来描述。

    静态结构采用类图

    动态行为采用顺序图、合作图、活动图、状态图、

设计:给出问题的解决方案。采用类图包图对类的接口设计。

实现编码

集成交付时用到了构件图、部署图。

在测试阶段:单元测试使用类图和类的规格说明书

           集成测试阶段使用类图、包图、构件图和合作图

            系统测试使用用例图来测试系统功能。

 

 

虽然九种图是画完了,但是对九种图的理解仍然还是存在问题的,比如为什么要实现类图?还有活动图和交互图有什么区别等等,相信这些问题,随着学习的深入,会逐渐理解的。

 

这篇关于小结九种图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001347

相关文章

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

python中cv2.imdecode()与cv2.imencode()的使用小结

《python中cv2.imdecode()与cv2.imencode()的使用小结》本文介绍了cv2.imencode()和cv2.imdecode()函数的使用,文中通过示例代码介绍的非常详细,对... 目录1、图片路径带中文的读取和写入1.1 读取1.2 写入2、在网络中传输图片cv2.imencod

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。

Linux环境配置中问题小结

在Linux环境配置中,遇到问题首先猜测: 1、是否是权限问题; 2、软连接是否配置;

long long,_int64使用小结

前言:   在16位环境下,int/unsigned int 占16位,long/unsigned long占32位   在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位 何时需要使用:   long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^32),

密码学读书笔记小结

密码学是保证消息的私密性和完整性以及消息认证的基础。加密算法的选择和密钥的管理是安全机制的效率、性能和可用性的关键。 公钥加密算法: 分发密钥比较容易,但是对大数据量的加密性能较差密钥加密算法: 更适合大批的加密任务混合型加密协议: 例如TLS,先用公钥加密建立一个安全通道,然后使用通道交换密钥,并将此密钥用于后续数据交换。 对分布式系统攻击的分类: 窃听: 未经授权获得消息副本伪装: 在未

Android 源码中jni项目 加载so目录小结

Android 源码中jni项目 加载so目录小结 文章目录 Android 源码中jni项目 加载so目录小结一、前言二、so目录验证测试1、jni so文件错误报错(1)报错1 - 未找到so文件:(2)报错2 - so文件中未找到native方法: 2、验证的几种情况(1)apk下面的 lib/arm64/ 放置正确的so文件(2)apk下面的 lib/arm64/ 放置错误的so文