小结九种图

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

相关文章

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建