UML2.0在系统设计中的实际使用情况

目前我在系统分析设计过程中主要使用UML2.0来表达,使用StarUML软件做实际设计,操作起来基本很顺手,下面整理一下自己的使用情况。

1. UML2.0之十三张图

UML2.0一共13张图,可以分为两大类:结构图-静态图,行为图-动态图,6+7=13张,如上图所示,采用用例图来表达设计活动。

2. 需求分析阶段使用情况

我们的太极讲究一阴一阳为之道,需求分析阶段就用两张图:用例图和活动图,足矣。

虽然UML知识讲解里都把用例图归为动态图,它的用例确实也是讲一个个活动或操作的,但是我喜欢把它当静态角度的分析工具,因为它就没表达业务流程的交互嘛,至少很不明显。

业务层面的流程设计,我用活动图,活动图比较简单灵活,可以天马行空地设计,也没讲究是什么组件、什么子系统参与的,所以客户能听得懂看得明,至少有这个条件。

这也就是书上所说的场景视图。

3. 系统设计阶段使用情况

系统设计阶段按传统讲法就是四个视图,共包括12张图,如上图所示。

实际上我平时最多只用8张图,另外4张图从来不用,感觉用不着,也可能是我理解不到位。

  1. **逻辑视图:**所谓逻辑视图角度就是从静态角度分解系统功能点,用类来实现表达这些功能,包图和子系统都是对类进行分层分模块管理。
  2. **开发视图:**主要从系统的各个子系统或各个模块组织关联方式来表达,这里我们会画出关联的存储系统、第三方系统等,场景比类图包图要大一些,就是使用组件图。
  3. **进程视图:**从系统运行角度去设计,动态视图角度,设计具体交互流程,时序图和活动图使用最广。
  4. **物理视图:**主要设计系统怎么部署的,就是使用部署图。

设计上四个视图不分先后,也不需要全部使用,具体采用什么、设计到什么程度,需要自己去把握,目标就是能指导好实际编码工作就OK, 所谓用兵之道、存乎一心,需要自己用心去揣摩。

每张图具体怎么使用,留待后面文章再叙述。

相关推荐
张较瘦_2 天前
[论文阅读] AI + 软件工程 | 突破LLM代码生成瓶颈:编程知识图谱(PKG)让检索增强更精准
论文阅读·人工智能·软件工程
肖有米XTKF86462 天前
河北奢源水光商城系统制度开发
人工智能·软件工程·团队开发·csdn开发云
肖有米XTKF86462 天前
二二复制裂变小程序系统制度(双轨制公排模式)
人工智能·小程序·软件工程·团队开发
思茂信息3 天前
CST软件如何进行参数化扫描?
运维·开发语言·javascript·windows·ecmascript·软件工程·软件需求
互联网推荐官3 天前
上海物联网应用开发技术路径拆解:从协议选型到平台架构的工程实践
大数据·人工智能·软件工程
极创信息3 天前
信创领域五种主流CPU架构(X86 / ARM / RISC-V / MIPS / LoongArch)
java·arm开发·数据库·spring boot·mysql·软件工程·risc-v
Thanks_ks3 天前
软件系统中的熵增定律:技术债的形成与重构的艺术
软件工程·敏捷开发·架构设计·状态管理·代码重构·技术债·康威定律
互联网推荐官4 天前
上海小程序开发实践:技术选型、场景分化与平台能力的全面审视
人工智能·软件工程
a里啊里啊4 天前
软考-软件评测师:知识点整理(七)——软件工程
设计模式·软件工程·软考·uml·结构化开发·软件评测师·软件模型
互联网推荐官5 天前
上海小程序开发:从技术架构到工程落地的完整拆解
人工智能·物联网·软件工程