软件工程和uml

一些文章:

这篇文章,讲类图中的六种关系,比较清晰:
  https://blog.csdn.net/qq_20936333/article/details/86773664
这篇文章介绍uml中常用的图的功能:
  https://blog.csdn.net/weixin_43574446/article/details/106728306
这篇讲业务系统设计,属于软件前期的业务梳理,需求整理,写的太好了,后边可以反复看看:
  https://zhuanlan.zhihu.com/p/127384988
这篇讲业务梳理,需求建模用到的uml图:
  https://zhuanlan.zhihu.com/p/433666903


理解:

一、首先,软件工程,说白了就是制作一个软件,实现某些功能。那么,制作过程就可以这么分:

  1.确定要实现什么(确定业务)
  2.把要实现的软件,细分功能模块(梳理、划分需求、得到整体/概要设计)
  3.根据2得到的设计,软件开发人员进行详细的设计
  4.编码实现
  5.测试
  6.部署


二、根据上面的这些开发流程,uml提供了各个阶段的规范图形,帮助梳理各个阶段的任务,帮助不同人员清晰的沟通协作;

1.确定业务阶段:
  (1)业务流程图:清晰的流程图有助于梳理清楚业务关系、现状、问题;
  (2)组织架构图:得到组织关系
     这两个其实不属于uml图,uml图比较偏设计、实现。
     这两个图其实是将业务调研得到的一些信息、数据整理,得到的用来描述清楚业务逻辑的图,有了业务流程图,才有后边的进一步需求细分,此时,业务方案应该基本有了。

2.整体设计阶段:
  (1)系统架构图(uml中的组件图):根据梳理的业务,把业务和目前现有系统以及需要依赖的三方库等联系起来,便于展示沟通
  (2)功能模块图:对业务进行拆分,得到功能模块。
  (3)演进蓝图:对功能模块图中的具体功能划分迭代周期,找到重点关注的功能。
  (4)跨部门流程图:对业务流程图的细化,根据功能模块细化流程图。

3.详细设计阶段:
  (1)ER图:描述业务对象及关系的模型,实体建模,最重要的环节。“只要模型清晰合理,功能设计、界面设计都是水到渠成的事。”
  (2)类图(uml):ER图已经描述好了对象及关系的模型,类图则是对这些的实现。
  (3)用例图(uml):有了整体设计阶段得到的功能模块图,相当于模块划分好了,用例图,从用户视角描述各个功能模块,主要给业务、用户看。
  (4)活动图(uml):与之前的业务流程图/跨部门流程图其实本质一样,都是流程图,不过在详细设计阶段更强调对某个功能的流程图;且面向开发人员。此外,有说活动图可以并行表现,这个只是画图上的差异。
  (5)时序图(uml):对各个功能模块,表现其行为的时间顺序(也说消息传递的时间顺序)。
  (6)状态机图(uml):状态机图(State Machine Diagram)也叫有限状态机图(Finite State Machine Diagram),是一种描述所有状态及状态之间流转规则的图形。对各个模块在不同功能操作下的状态变化。

4.编码

5.测试

6.部署:
     部署图(uml)


总结:
综上,常用的uml图基本上是以上这7种:
  1.组件图用来表现做整体模块架构 (整体设计/概要设计)
  2.类图用来表现实体建模 (详细设计)
  3.用例图、活动图、时序图、状态机图从不同角度表现划分好的各个功能模块 (详细设计)
     用例图从外部用户使用的场景表现
     活动图描述各个功能的操作流程
     时序图表现各个功能操作的时间顺序,这个相对重要,可以功能和各模块对象的顺序关系、交互关系
     状态机图表现各个对象在执行不同功能时的不同状态变化(执行不同功能就是条件)
   这些图理论每个功能模块应该对应一个,不过一般对核心的、重要的功能画图即可,目的是梳理清楚模块的功能,不要有遗漏。
  4.部署图用来表现与硬件的部署关系:(部署阶段,如果有的话)
  5.没出现的图不太重要:
     对象图(感觉有了类图不怎么需要对象图)
     包图(这个感觉是对类图中的一些相近类的一个打包显示,使图的结构更清晰)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值