软件工程——UML简介

软件工具:UML

UML也称为统一建模语言。它提供了一个可视化的建模语言,所谓可视化即通过一些很直观,容易理解的图形化来描述系统。

因此用uml实现的文档形式为:" 图形化+文本描述= 相应文档 "

UML语言很全面,庞大,可以表示各种复杂的问题。这样一个丰富的语言,我们只需要用其20%部分,描述80%的问题,因此学习中,我们只需要掌握常用的基本组成部分,关键是要对这些组成部分了解之后,能够应用他所提供的表示方法,进行分析和设计。

实际上在真正应用里面,活用UML是非常关键的,虽然它是一个语言,但是应用这个语言要根据分析设计里面需要描述设计模型的需要来应用。而不是说死记一些条目,很死板的去应用。只有活用,才能感受到UML语言的威力。

一个比喻:uml中所提供的标准的图符,相当于音乐五线谱里的乐符,学会看乐符才能看得懂乐谱,才能进一步创造音乐。同样,懂得uml中的图符,才能进行系统分析和设计。

应用UML的三种方式

(1)UML作为草图------非正式的、不完整的图(通常是在白板上手绘草图),借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分。

(2)UML作为蓝图------相对详细的设计图,用于:1)逆向工程,即以UML图的方式对现有代码进行可视化,使其易于理解。2)代码生成(前向工程),一般情况下,代码生成工具使用图生成一些代码,然后由开发者编写并填充其他代码。

(3)UML作为编程语言------用UML完成软件系统可执行规格说明。可执行代码能够被自动生成,但并不像通常一样为开发者所见或修改,但是目前在理论、工具的健壮性和可用性方面仍然处于发展阶段。

UML 的9种图:

用例图:定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。

类图:描述系统的静态结构,表示系统中的类以及类与类之间的关系。

对象图:描述了一组对象以及它们之间的关系,表示类的对象实例。

组件图:描述组件以及它们之间的关系,表示系统的静态实现视图。

具体系统可能划分成不同组件和模块,有哪些模块,组件之间的关系怎样由组件图描述。

例子:在课程注册管理系统中,有两个子系统:收费系统,注册系统。

注册系统分为:课程组件,人员管理组件。

注册系统在课程注册完后,通过接口调用收费系统,将学生相应注册信息传递给收费系统,形成对学生的收费单,通知学生交费。

课程系统又通过接口管理相应课程信息,即课程模块。对于学生教师人员进行管理。通过这两个模块,实现存取相应人员和课程信息,最后实现相应功能。

部署图:反映系统中软件和硬件的物理架构,表示系统运行时的处理节点,以及节点中组件的配置。

时序图和协作图:都表示一组对象之间的动态协作关系。其中时序图反映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。时序图和协作图是同构的,即两者之间可以相互转换。

状态图:强调同一个类里对象状态变化过程,和相应事件触发过程。

所谓状态,是对对象属性值的一种抽象。各对象之间相互触发(即作用)就形成了一系列的状态变化。我们把一个触发行为称作一个事件。对象对事件的响应,取决于接受该触发的对象当时所处的状态,响应包括改变自己的状态或者又形成一个新的触发行为。

状态有持续性,它占用一段时间间隔。状态与事件密不可分,一个事件分开两个状态,一个状态隔开两个事件。事件表示时刻,状态代表时间间隔。

活动图:反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。

相关推荐
__雨夜星辰__2 小时前
Linux 学习笔记__Day2
linux·服务器·笔记·学习·centos 7
学问小小谢3 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
charlie1145141916 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)
c语言·驱动开发·单片机·学习·教程·oled
马船长7 小时前
[BSidesCF 2020]Had a bad day1
学习
黄交大彭于晏7 小时前
三端回链增加截图功能
学习
linwq88 小时前
设计模式学习(二)
java·学习·设计模式
Fhd-学习笔记8 小时前
《大语言模型》综述学习笔记
笔记·学习·语言模型
简知圈10 小时前
【04-自己画P封装,并添加已有3D封装】
笔记·stm32·单片机·学习·pcb工艺
YxVoyager10 小时前
GAMES101学习笔记(五):Texture 纹理(纹理映射、重心坐标、纹理贴图)
笔记·学习·图形渲染
徐某人..10 小时前
ARM嵌入式学习--第十天(UART)
arm开发·单片机·学习·arm