UML简述(项目立项、设计、需求整理必备)

前言

今天给大家带来

1、UML概述

1.1、基本概念

统一建模语言(UML,Unified Model Language)
在这里插入图片描述

1.2、UML图类型说明

静态图/动态图UML图类型说明
静态图(结构图)类图一组类、接口、协作和它们之间的关系。
对象图一组对象和它们之间的关系。
构件图一个封装的类和它的接口。
部署图软硬件之间的映射。
制品图系统的物理结构。
包图由模型本身分解而成的组织单元,以及它们之间的依赖关系。
组织结构图描述了一个"组合结构"的内部结构,以及他们之间的关系。
动态图(行为图)用例图系统与外部参与者的交互。
状态图状态转换变迁。
活动图类似程序流程图,并行行为。
时序图强调按时间顺序。
通信(协作)图描述了收发消息的对象的组织关系。
定时图强调实际时间。
交互概览图与活动图类似,但是它的节点是交互图。
其中时序图、通信图、定时图、交互概览图属于交互图

1.3、UML的4+1视图

在这里插入图片描述
详细描述:

视图类型作用组成使用者
逻辑视图用于描述用例视图中提出的系统功能的实现。主要关注系统内部,即描述系统的静态结构(类、对象以及它们之间的关系),也描述系统内部的动态协作关系。1、静态图:类图、对象图。

2、动态图:状态机图、时序图、活动图等。
系统分析、设计人员
实现视图主要侧重于软件模块的组织和管理。要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。1、物理代码文件;

2、组件图。
程序员
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。1、状态图、活动图、通信图;系统集成人员
部署视图用于显示系统的物理配置,描述的位于节点上的运行实例的部署情况。1、部署图;系统和网络工程师
用例视图描述系统应具备的功能,关注系统外部,从系统的外部看到的系统的功能。1、用例图;最终用户

2、UML图详细图示

2.1、类图

【概念】 类图(Class Diagram)是一切面向对象方法的核心建模工具。类图描述了系统中对象的类型以及它们之间存在的各种静态关系。
【目的】用来表示类、接口以及它们之间的静态结构和关系。
【类和接口】

  1. 类(Class):在面向对象编程中,类是对现实世界中一组具有相同特征的物体的抽象。
    在这里插入图片描述
  2. 接口(Interface):接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。
    在这里插入图片描述
    【类图中的关系】
    在这里插入图片描述
关系说明图形表示
泛化(Generalization)是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。(箭头指向父类)
在这里插入图片描述
实现(Realization)是一种类与接口的关系,表示类是接口所有特征和行为的实现。(箭头指向接口)
在这里插入图片描述
关联(Association)是一种拥有的关系,它使一个类知道另一个类的属性和方法(指向被拥有者,可以没有箭头)
在这里插入图片描述
聚合(Aggregation)是整体与部分的关系,且部分可以离开整体而单独存在。(菱形指向整体)在这里插入图片描述
组合(Composition)是整体与部分的关系,但部分不能离开整体而单独存在。(菱形指向整体)在这里插入图片描述
依赖(Dependency)是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。(指向被使用者)在这里插入图片描述

2.2、对象图

【概念】对象图(Object Diagram)是类图的一个实例,是系统在某个时间点的详细状态的快照。
【目的】用来表示两个或者多个对象之间在某一时刻之间的关系。
在这里插入图片描述

2.3、组件图

【概念】描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。
【目的】用来展示各个组件之间的依赖关系。
在这里插入图片描述

2.4、部署图

【概念】部署图(Deployment Diagram)描述了系统内部的软件如何分布在不同的节点上。
【目的】用来表示软件和硬件的映射关系。
在这里插入图片描述

2.5、包图

【概念】描绘了系统在包层面上的结构设计(多个类或组件组成了一个子系统,就可以将它们放到一个包中)。
【目的】用来表示包和包之间的依赖关系。

2.6、用例图

【概念】用例图是指由参与者、用例,边界以及它们之间的关系,构成的用于描述系统功能的视图。
【目的】用来描述整个系统的功能。
【特点】

  1. 用户角度描述系统功能;
  2. 参与者是外部触发因素(包括用户、组织、外部系统,时间);
  3. 用例是功能单元。

【关系】
1.包含关系:如图,其中这个提取出来的公共用例B称为抽象用例,原始用例A称为基本(基础)用例。当可以从两个或两个以上的用例提出公共行为时,应该使用包含关系来表示它们。
在这里插入图片描述这里表示B这个用例其实属于A,但是为了提出公共行为,才拉出来

  1. 扩展关系:如图,如果一个用例明显混合了两种或以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例;
    在这里插入图片描述这里简单说就是A和B原本是在一个用例下,但是这一个用例描述两个功能不明确,拆分称A和B,一般A是常用的功能,作为基础用例

  2. 泛化关系:表示子用例继承父用例所有结构、行为和关系。

【建模流程】

  1. 识别参与者(必须);
  2. 合并需求获得用例(必须);
  3. 细化用例描述(必须);
  4. 调整用例模型(可选);
    在这里插入图片描述
    【用例规约】用例名称、用例ID、角色、用例说明、前置条件、基本事件流、其他事件流、异常事件流、后置条件
    在这里插入图片描述

2.7、状态图

【概念】状态图(State Diagram)对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。
【目的】对类描述的补充,用于展现此类对象所具有的可能状态,以及某些事件发生时状态转移情况。
在这里插入图片描述
在这里插入图片描述

2.8、活动图

【概念】描述了具体业务用例的实现流程。
【目的】用来表示用例实现的工作流程。
在这里插入图片描述

2.9、时序图

【概念】序列图(Sequence Diagram)根据时间序列展示对象如何进行协作。它强调对象之间发消息发送接收的顺序,同时显示对象之间的交往。
【目的】通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
在这里插入图片描述
组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。

组合片段共有13种,名称及含义如下:

片段类型名称说明
Opt选项包含一个可能发生或可能不发生的序列。可以在临界中指定序列发生的条件。
Alt抉择包含一个片段列表,这些片段包含备选消息序列。在任何场合下只发生一个序列。可以在每个片段中设置—个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。
Loop循环片段重复一定次数。可以在临界中指示片段重复的条件。Loop 组合片段具有Min 和Max 属性,它们指示片段可以重复的最小和最大次数。默认值是无限制。
Break中断如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。
Par并行并行处理。片段中的事件可以交错。
Critical关键用在 Par 或 seq 片段中。指示此片段中的消息不得与其他消息交错。
Seq弱顺序有两个或更多操作数片段。涉及同一生命线的消息必须以片段的顺序发生。如果消息涉及的生命线不同,来自不同片段的消息可能会井行交错。
Strict强顺序有两个或更多操作数片段。这些片段必须技给定顺序发生。
Consider考虑指定此片段描述的消息列表。其他消息可发生在运行的系統中,但对此描述来说意义不大。在Messages属性中键入该列表。
Ignore忽略此片段未描述的消息列表。这些消息可发生在运行的系统中,但对此描述来说意义不大。在Messages属性中键入该列表。
Assert断言操作数片段指定唯一有效的序列。通常用在 Consider 或 Ignore 片段中。
Neg否定此片段中显示的序列不得发生。通常用在 Consider 或 Ignore 片段中。

2.10、通信图(协作图)

【概念】通信图(Communication Diagram)描述了收发消息的对象的组织关系,强调对象之间的合作关系而不是时间顺序。
【目的】用来显示不同对象的关系。
在这里插入图片描述

2.11、定时图(计时图)

【概念】时序图被用来显示随时间变化,一个或多个元素的值或状态的更改。也显示时控事件之间的交互和管理它们的时间和期限约束。
【目的】用于展示交互过程中的真实事件信息,具体描述对象状态变化的时间以及维持特定状态的时间段。
在这里插入图片描述

  • 85
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 51
    评论
UML建模图书管理系统项目立项文档是为了明确项目的目标、范围和需求,以及制定项目的计划和资源分配。以下是对该文档的回答: 项目立项文档是一份详细说明图书管理系统项目的重要文档之一。它应包括以下内容: 1. 项目背景和目标:对于图书管理系统项目立项的原因和目标进行简要阐述。例如,图书管理系统的建立可以提高图书馆的资源组织和利用效率,方便用户借还图书。 2. 项目范围:明确项目的边界和涵盖的功能需求。例如,图书管理系统可以包括图书的分类、借还、查询等功能,但不包括图书采购和馆藏的管理。 3. 需求分析:详细说明图书管理系统的功能需求和性能需求,包括用户管理、图书管理、借还管理、查询功能等。需求内容应该具体明确,例如,用户管理需包括用户注册、登录、权限控制等。 4. 系统设计:根据需求分析,给出系统整体架构和各个模块之间的关系图,明确系统的总体设计理念和技术方案。例如,系统可以采用三层架构,前端使用Web界面,后端使用Java语言。 5. 项目计划:制定项目的时间计划表、人员分工和资源分配,确定项目的里程碑和关键节点。例如,前期需求分析和设计阶段占用两周,编码和测试阶段占用四周。 6. 风险评估和管理:分析项目可能遇到的风险,并制定相应的风险管理计划。例如,可能会出现技术风险,可以通过培训提高团队成员对相关技术的掌握程度。 7. 预算和资源估计:对项目所需的预算和所需的人力、物力进行估计和规划,并提供相关的预算和资源支持方案。 总之,UML建模图书管理系统项目立项文档是对项目进行概述和规划的重要文档,它包含了项目的目标、范围、需求、计划和风险管理等内容,为项目的顺利进行提供了指导和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青花锁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值