首页 > 代码库 > 软件设计师必备——软件工程·建模
软件设计师必备——软件工程·建模
由来
Why Modeling ???
我们由一个小的例子引入建模这个话题!
建造一个狗窝不需要太多的考虑,因为狗的需求是简单的,直接去建就可以满足他们的所有需求。
建造一座房子或者一座高层建筑就需要深思熟虑了。一个家庭或者客房的需求不那么不那么简单,因此即使为了满足客户最起码的需求,也不能直接去建造,而是必须建立以资额模型。不同的人员会从不同的角度宜不同的目的来看待问题,所以对于复杂的建筑物,你必须作平面图设计、立体图设计、暖气/冷气设计、电气设计、管道设计、甚至网络设计。没有任何一个模型能够充分地捕捉一个复杂建筑的所有方面。
而在软件界,他曾经这么说
综合我们的例子和专家的看法,构造建筑和构造软件,在某些地方还是相通的,在建筑界解决复杂要求,考虑复杂环境的方法:建模,我们也可以拿过来用!
UML概述
基本定义:
UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。
UML的定义包括UML语义和UML表示法两个部分。
(1) UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人
而异的表达方法所造成的影响。
(2) UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这
些图形符号和文本语法为系统建模提供了标准。
我们 这不再赘述基本的概念,咱们讨论讨论,大家有争议或者迷茫的地方
关系:include和extend
对比着两个关系,我们可以发现,包含有一种更强的联系,而扩展是可有可无的联系,在图形表现方面,包含有
理解业务
这块就是我们要充分理解需求,分析出我们系统的主要业务和业务流程,有必要就画画!
做好标记
在理解业务时,对名字,尤其是操作和表名要特备标记,以防我们丢失一些重要的业务!
紧跟经验
很多时候,我们画图,要紧跟我们的生活经验,项目经验,业务的理解和我们的项目经验息息相关!
事后查验
所有的事情都不是一蹴而就,有时候我们需要多接触,多了解,我们画出NUL图后也要带到内容中去,进行反复查验,完善我们的系统!
总结:
UML就像我们生活中的演算纸,我们在上边勾勾画画,试图揭开谜团,我们画好了之后,还会找人交流,这正好符合咱们的软件开发,我们的软件开发实际没有什么是新鲜的,他也照样是生活的一个缩影!