随想录(熟练掌握uml)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】


    从事软件开发工作的同学,大部分都是从事应用开发的。这本无可厚非。但是往往干了一段时间之后,很多同学就裹足不前了,具体表现在对开发失去了兴趣,工作的积极性越来越低,收入也基本上原地踏步了。如果真的遇到这种情况,建议大家可以向上、或者向下来发展。向上的话,可以多学习一些uml、项目管理的东西。向下的话,可以往嵌入式、芯片方向发展走,这需要对芯片、电路、操作系统、编译原理和协议有清晰的了解。关于嵌入式的东西,之前已经说了很多,今天就谈谈uml。


1、uml是什么?

    uml就是一个工具,它可以帮助我们设计软件的基本架构。


2、uml的常用工具有哪些?

    常用的uml工具有staruml,当然自己也可以用visio绘制。


3、uml能做什么?

    uml可以帮助我们理清需求、流程、数据结构、状态机、部署等很多信息。它是架构师的好伙伴。


4、uml不能做什么?

    uml不能帮你解决编译、分布式、操作系统、数据库、协议通信、机器学习、算法、性能分析等很多具体的问题。


5、uml有哪些图形?

    uml有用例图、类图、对象图、时序图、协作图、状态图、活动图、组件图和部署图这九种形式。

    其中,用例图 - 对接需求

               类图  - 描述抽象主体

               对象图 - 实例化抽象主体

               时序图 - 描述具体业务

               协作图 - 时序图的另外一种表示方法,当时侧重于对象和业务的关系,而不是时序

               状态图 - 对象的状态机切换

               活动图 - 时序图的进一步细化

               组件图 - 一般用来描述文件的分布

               部署图 - 描述软件的部署方法等


    一个完整的的项目会有几十到几百张图形,代码范围可以控制在几千到几百万行。

    常见的开发模型是这样的,首先根据需求创建用例图。用例图告诉我们哪些人会使用这个系统。接着,时序图会将软件系统、各用户之间的操作顺序表述清楚,这个时候可以同步画出协作图,因为两者是等价的。等到时序图结束后,可以根据操作对象的内容和主要动作,提炼出类图和对象图。当然,有了时序图还是不完整的,针对某项具体操作或者活动,还要进一步细化成状态图和活动图。在状态图、活动图优化的过程当中,可以同步设计组件图和部署图,这就是整个uml操作的基本步骤和流程。


6、uml各个图的完成的顺序是怎么样的?

    一般先完成用例图,接着可以完成时序图和协作图。针对时序图,可以创建类图,并且进一步细化为状态图和活动图。在此过程中,组件图和部署图可以同期更新、或者在项目最后结束的时候调整一下也行。


7、uml可以单独存在吗?

    uml本身只是图的信息,它必须和其他文档、代码、ppt一起合作,才能构建一个完整的项目。


8、如何学习uml?

    可以直接找一个app或者网站、开源软件,画出uml图。画的越多、疑问越多,提高也越快。


9、画完uml,以后可以不写代码了吗?

    想多了,好的架构师往往也是好的工程师。流程再好,不符合团队和客户要求也没用。

    架构师和架构师也不一样,有的负责项目流程,有的还要负责平台设计、产品模式和平台推广。


其他:

    a, 

    uml最大的作用是对内梳理流程,对外提供接口。

    当然,编写uml的时候,既考验开发者的需求理解能力,也考验架构师的抽象提取能力、业务分解能力。

    架构师本身也代替不了开发者的实现、设计师的设计和运维工程师的友好建议,它本身只是一个综合集合体而已。

    当然,uml也不只是一个框架,它可以看成是业务+开发+运维+设计+接口+框架+语言开发的混合体。

    uml作为一个工具,一般会搭配rup的方法论一起处理,rup(rational universal process)是一种迭代模型。


    b,

    相对而言,uml偏重于流程和框架,如果能搭配axure这些原型工具,效果就更好了。



猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/80835288