小结九种图

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

相关文章

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Ollama Python 使用小结

《OllamaPython使用小结》Ollama提供了PythonSDK,使得开发者能够在Python环境中轻松集成和使用本地运行的模型进行自然语言处理任务,具有一定的参考价值,感兴趣的可以了解一... 目录安装 python SDK启动本地服务使用 Ollama 的 Python SDK 进行推理自定义客

java String.join()的使用小结

《javaString.join()的使用小结》String.join()是Java8引入的一个实用方法,用于将多个字符串按照指定分隔符连接成一个字符串,本文主要介绍了javaString.join... 目录1. 方法定义2. 基本用法2.1 拼接多个字符串2.2 拼接集合中的字符串3. 使用场景和示例3

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

SQL中的CASE WHEN用法小结

《SQL中的CASEWHEN用法小结》文章详细介绍了SQL中的CASEWHEN函数及其用法,包括简单CASEWHEN和CASEWHEN条件表达式两种形式,并通过多个实际场景展示了如何使用CASEWH... 目录一、简单CASE WHEN函数:二、CASE WHEN条件表达式函数三、常用场景场景1:不同状态展

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

Keepalived+Nginx双机配置小结

《Keepalived+Nginx双机配置小结》本文主要介绍了Keepalived+Nginx双机配置小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1.1 软硬件要求1.2 部署前服务器配置调优1.3 Nginx+Keepalived部署1.3