超详细UML学习笔记,看完期末考不过来打我
世界杯意大利阵容 2025-08-24 21:10:58
复习UML做下的笔记
一. UML简介
1.UML概述
什么是UML
UML(Unified Modeling Language)即"统一建模语言"是一种采用图表表达信息系统,或软件程序的方法,一般被用于面向对象的软件工程项目里,包含需求分析与系统设计等阶段所使用到的工具。
为什么要建模?
模型提供了系统的蓝图。能够更好地理解正在开发的系统。
UML结构图
Class diagram:类图,描述系统的静态结构,类、接口、协作以及之间的关系Object diagram:对象图,对象及对象间的关系Package diagram:包图,包以及包之间的依赖关系Component diagram:构件图,构件及其互相依赖关系Composite structure diagram:组合结构图,系统某一部分的内部结构Deployment diagram:部署图,构件在各节点上的部署Profile diagram:外廓图,不同应用领域对UML2进行扩展或裁剪的机制
UML行为图
Activity diagram:活动图,描述事物执行的控制流或数据流Sequence diagram:顺序图,对象之间的消息交互,强调消息执行的顺序的交互图Communication diagram:通信图,对象之间的消息交互,强调对象协作的交互图Timing diagram:时序图,对象之间的消息交互,强调真实时间信息的交互图Interaction overview diagram:交互概览图,展示交互图之间的执行顺序State diagram:状态机图,描述对象所经历的状态转移Use case diagram:用例图,描述一组用例、参与者以及它们之间的关系
1.3 安装UML工具
下载地址https://staruml.io/download
2.软件开发
软件工程的开发流程
OO:Object-oriented面向对象
软件开发的 7个阶段
可行性分析与计划阶段
目的: 不是要去解决问题,而是确定问题是否值得去解决。
确定软件开发的总体目标估计软件开发所需要的各种资源,效益,成本,开发进度提交可行性分析报告,开发计划文档,至少从下面3个方面研究每种解法的可行性
经济可行性:利润比成本高?技术可行性:使用现有的或比较成熟的技术,能实现这个系统吗?组织可行性:设计合理组织机构,选择经验丰富的管理人,保证项目的顺利执行操作可行性:系统的操作方式在这个用户组织内行得通吗?
需求分析
分析用户提出的要求,给出需求详细定义,确定软件系统的各项功能,性能需求和设计约束,确定对文档编制的要求。
需求分类:
功能性需求(function requirement):用户登陆非功能性需求,或称性能需求(quality requirement):性能、可靠性、可维护性、可扩充性
需求分析关联紧密的是用例图和活动图
系统分析(总体设计)
关键任务:怎样实现目标系统?各项需求 ==>> 软件体系结构(明确模块)做出最佳方案
系统设计,详细设计(OOD)
关键任务:怎样具体实现目标系统?设计每个模块的算法和数据结构,然后用相应的工具(UML)表达(分析模式):将需求模式中系统表达成一个物件,包括物件图和类别图(设计模式):施展情景,包括循序图、合作图、状态图、活动图
编码Coding(含单元测试)
关键任务:选择语言,将详细设计阶段的结果(算法,数据机构)翻译成程序,然后再进行单元模块测试
二. UML各类图
UML的特点:
统一的标准,OMG标准的建模语言支持面向对象的建模语言可视化、表达能力强独立于软件开发过程概念明确,建模表示方法简洁、图形结构清晰,容易掌握和使用
UML各图的关系
UML九种图:用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图
UML 语法描述
1. 用例图
用例图(use case diagram)依照需求,描述了系统提供的各项功能单元用例图是需求分析中的产物,帮助开发人员可视化的了解系统的功能。
事物名称解释UML表示参与者(Actor)参与者是角色(role)而不是具体的人用例(Use Case)系统功能单元
关系解释图关联有时候也用箭头包含箭头指向被包含用例扩展箭头指向扩展用例泛化is a
2. 活动图
活动图是一种**用于描述系统行为**的模型视图。通常,活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程。活动图的起点,用黑的实心圆表示。活动图的重点,用实心圆的空心圆表示。活动图的任务,用圆角矩形表示。
活动图的组成
活动活动的执行起点活动图的开始终点活动图的终点对象流活动之间的交换信息发送信息发送事件接收信号接收事件泳道活动的负责者
活动图的关系
迁移活动的完成与新活动的开始分支根据条件,控制执行方向分叉以下活动可以并发执行结合以上并发执行活动在此结合3. 类图
含义
类图(Class diagram)以反映类的结构(属性、方法或操作),以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法。
组成
类的名字(Name)类的属性(Attribute,Property)类的操作(Method,Operation)
参数列表
-private+public#protected~package包
关系表示
需求表+用例图
订房系统
1.实体类
顾客房间房型购物车
2.边界类
订房界面类购物车界面类
3.控制类(逻辑)
订房控制类购物车控制类
4. 顺序图(循序图、时序图)
循序图表示系统要做某件事情的那段时间内,运作的样子循序图的重点是在描述一件事情,以及系统要完成这件事情的一连串动作建立循序图主要基础在[时间顺序]和[合作对象]的概念上
组成元素
面向对象
对象(Object)
对象是一件事、一个实体、一个名词…对象有属性、行为
类(Class)
类是对象的抽象描述
设计模式
什么是设计模式
设计模式讲的是别人千锤百炼出来的精华(也就是被反复使用的一种代码设计经验),它传授的是一种思想,是一种脱离语言的编程习惯。对于没有太多经验的程序员,如何写出简洁优雅,可复用性搞,可扩展性强,高内聚低耦合的代码至关重要。