当前位置:网站首页>软考 ----- UML设计与分析(上)
软考 ----- UML设计与分析(上)
2022-08-01 21:05:00 【想写程序的毛毛虫】
一、UML设计与分析
1.1 概念
UML 又称统一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,它的作用域不仅仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程;
1.2 建模的意义
模型是对现实的简化,建模是为了更好地理解系统:
- 模型帮助我们按照实际情况或需求对系统可视化;
- 模型允许我们详细说明系统的结构行为;
- 模型给出了一个构造系统的模板;
- 模型对我们作出的决策进行文档化;
1.3 UML 的特点
- 统一的标准,已经被 OMG 接受为标准建模语言;
- 面向对象,支持面向对象开发;
- 可视化,表示能力强;
- 独立于开发过程,可以适用于不同的软件过程;
- 概念明确,表示清晰、结构清晰、容易掌握;
1.4 UML 的结构
1.4.1 基本构造块
- 事物(元素)thing :模型中最具有代表性成分的抽象;
- 关系 relationship :事物之间的联系;
- 图 diagram :相关事物的集合;
用例图( use case diagram ):描述一组用例、参与者以及它们之间的联系,用例模型描述的是外部执行者所理解的系统功能,用于需要分析阶段;
用例之间的关系:
包含(include)
- 两个以上用例有共同功能,可分解到单独用例,形成包含依赖;
- 箭头方向由基本用例指向被包含用例;
- 执行基本用例时,每次都必须调用被包含的用例;
- 包含用例也可以单独执行;
扩展(extend)
- 如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,则可以断定将这个用例分为一个主用例和一个或多个辅助用例进行描述会更加清晰;
构建用例模型需要 3 个阶段:
(1)识别参与者(actor)
- 参与者是系统之外与系统进行交互的任何事物,参与者可以是使用系统的用户,可以是其他外部系统、外部设备等外部实体;
- 在 UML 中采用小人符号来表示参与者;
- 参与者有主要参与者和次要参与者,开发用例的重点是要找到主要参与者;
(2)合并需求获得用例
- 将参与者都找到后,为每一个参与者确定用例;
- 确定用例的依据主要类源于已取得的特征;
- 将特征分配至相应的参与者,然后进行合并操作,最后绘制用例图;
业务用例和系统用例:
- 业务用例:是描述这个业务具体工作流程的,体现功能性需求,需要 actor 和业务目标来体现;
- 系统用例:是侧重于系统交互的,可理解为要实现某个业务⽤例的系统级实现,要注意的是系统⽤例并不是业务需求的细分;
(3)细化用例描述
用例建模的主要工作是书写用例规约而不是画图;
用例模板为一个给定项目的所有人员定义了用例规约发结果,其内容至少包括用例名、参与者、目标、前置条件、事件流(基本事件流、扩展事件流)、后置条件等,其他的还可以包括非功能需求、用例优先级等;
边栏推荐
- 附录A printf、varargs与stdarg A.1 printf函数族
- C pitfalls and pitfalls Chapter 7. Portability pitfalls 7.10 Free first, then realloc
- Go Atomic
- 如何用Chrome编辑以及调试代码
- C陷阱与缺陷 第7章 可移植性缺陷 7.10 首先释放,然后重新分配
- Get started with Grafana in 15 minutes
- 98. Embedded controller EC actual combat EC development board development completed
- 字符串
- 15 分钟带你入门 Grafana
- JS提升:手写发布订阅者模式(小白篇)
猜你喜欢

with语句和上下文管理器

2022年秋招,软件测试开发最全面试攻略,吃透16个技术栈

OSG Notes: Set DO_NOT_COMPUTE_NEAR_FAR to manually calculate far and near planes

C专家编程 前言

Excel advanced drawing techniques, 100 (22) - how to respectively the irregular data

98.嵌入式控制器EC实战 EC开发板开发完成

宝塔搭建PESCMS-Ticket开源客服工单系统源码实测

STAHL触摸屏维修一体机显示屏ET-316-TX-TFT常见故障

wps excel 插入公式 整列

R语言 pca主成分分析的主要方法
随机推荐
人工智能可信安全与评测
系统收集集
任务调度线程池-应用定时任务
Transplant MQTT source code to STM32F407 development board
函数(二)
网络安全与基础设施安全局(CISA):两国将在网络安全方面扩大合作
2022年秋招,软件测试开发最全面试攻略,吃透16个技术栈
图片识别商品接口 API:天猫淘宝
Godaddy域名解析速度慢问题以及如何使用DNSPod解析解决
MySQL 中出现的字符编码错误 Incorrect string value: ‘\x\x\x\x‘ for column ‘x‘
OSG笔记:设置DO_NOT_COMPUTE_NEAR_FAR,手动计算远近平面
C陷阱与缺陷 第7章 可移植性缺陷 7.7 除法运算时发生的截断
深拷贝浅拷贝
Jmeter实战 | 同用户重复并发多次抢红包
win10版本1803无法升级1903系统如何解决
如何用Chrome编辑以及调试代码
【Kaggle】Classify Leaves
使用员工管理软件,解锁人力生产力新水平,提高人力资源团队灵活性
tiup mirror grant
R语言 pca主成分分析的主要方法