【UML图】实践出真知

2024-08-26 02:32
文章标签 实践 uml 真知

本文主要是介绍【UML图】实践出真知,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        关于UML,视频、课本都看了一遍,总结也总了,博客也博了,提起UML的时候,自我感觉也能说上那么一两句,本以为画个图就能say goodbye了,结果就是图让我又把视频笔记找了找,课本翻了翻,博客瞅了又瞅。下面是我画图时候的一些问题和感受。

一、知识补充

  1、用例图中的关系:关联、泛化、包含、扩展

包含(include):使用包含用例来疯长一组跨越多个用例的相似动作(行为片                                断),以便多个基用例复用。基用例控制与包含用例的关系,以及被                        包含用例的事件流是否会插入到用例的事件流中。基用例可以依赖包                        含用例执行的结果,但是双方都不能访问对方的属性。简单来说,所                        谓包含是指当一个用例的实现需要以另一个用例的实现为前提时,这                        两个用例间的关系就是包含。

                       (由基本用例指向被包含用例)

扩展(extend):将基用例中一段相对独立并且可选的动作,用扩展用例加以封                                    装,再让它从基用例中声明的扩展点上进行扩展,从而使基用例                              行为更简练。简单说就是,扩展指的是当一个用例执行时出现某                             种特定条件时,激活另一个用例,这里的一定条件称为扩展点,                                 被激活的用例称为扩展用例。                           

                          (由扩展用例指向基础用例)

  2、泛化和继承

         好多人都说泛化即继承,查师哥师姐的博客也都是直接用继承代表继承,但是还是感觉泛化跟继承不一样,虽然继承和泛化都是表示子类可以使用父类的属性和方法,都是为了实现多态

泛化:泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般             描述的基础之上,并对其进行了扩展。具体描述完全拥有一般描述的特             性、成员和关系,并且包含补充的信息。

继承:继承是一种机制,通过该机制类的对象的描述从类及其祖先的声明部分聚            集起来。

       说白了就是,香蕉继承水果,水果泛化香蕉,泛化是从子到父的抽象过程,继承是从父到子的过程。

3、对象图和类图

          对象图是类的实例,几乎使用与类图完全相同的标识,区别在于对象图显示类的多个对象实例,而不是实际的类,对象图存在生命周期,所以对象图表示某一时间类的实例。


4、图和文档

     UML图和文档不是一一对应的,除了几个核心图,例如用例图,类图,其它图都是可以酌情在任何文档中出现的.

     需求分析阶段,主要是用例图来填充,是面向程序员、分析员和用户的;

     设计阶段是UML图的主要载体,即概要设计和详细设计说明书,用到类图、活动               图、状态图、顺序图等,面向分析人员和编程人员;

     实现阶段用到部署图和组件图。

     其他没有特殊要求,整图或者部分图,酌情处理。知道每个图是干什么的给谁看的,知道每个文档是干什么的给谁看的,一一对应就好。


二、小结

开始画图的时候,仅仅知道用例图很重要,类图很重要,包图很重要,时序图很重要,嗯,然后就开始画了。但是开画的时候,感觉满脑子的机房系统和UML理论,就是死活画不出来啊,于是乎,死的书,活得人,博客、笔记各种交流借鉴,貌似有那么点儿意思了,对错不说,师傅验了再说吧。光说不练假把式,像高中老师说的,有些知识你会了不一顶能说出来,能说出来不一定能做对题,做对题不一定能得高分。UML图,能说又会画才是硬道理。


这篇关于【UML图】实践出真知的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板