UML建模
来源:互联网 发布:支付宝贷款软件 编辑:程序博客网 时间:2024/05/17 01:02
简介
UML全称是Unified Modeling Language 统一建模语言。模型图有很多,有很多diagram(图表),主要讲三大类型:类图、时序图、用例图。
UML的作用:我们在软件工程里出现敏捷开发之前,其实还有一个,敏捷开发之前很正规,大型软件工程要写各种各样的文档,文档写的很详细,要按照各种各样的标准。软件工程发展到一定阶段,发现这样的共同效率是很低。敏捷开发里面讲的极限编程、结对编程、每日一会等等。敏捷开发里面讲了很多的方法。因为在过去搞的话,就是写文档,每天写报告,反正写各种各样的东西,这样效率很低。所以敏捷开发就脱离了这些。UML就是敏捷开发之前的东西。如果你是做欧美外包啊、对日外包啊,像这样的大型的项目的话,写的文档就比较多,而且要求非常的高,因为这些文档是由技术总监啊,甚至是顾问。比如大型的ERP,专门有ERP需求,会画各种各样的用例图啊,交会图啊等等之类的,给我们开发人员去看。
好,UML主要是画图。画图就有一个问题,它叫统一建模语言,它就必须有一个画图的统一的语言,不能A画的图B不认识,B画的图A不认识。这就是UML的作用,UML是画图的标准。那么问什么要画图,就是写代码,文字沟通的效率比较低,画图就比较醒目,比较直接,我们常说一图胜千言。一张图可能要几千行,几万行代码来代替。
在项目里看到的就是这三张图:类图、时序图、用例图。我们通常说二八原则,这三种图其实就是占了80%。
用例图
用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示一个外部用户能够观察到的系统功能模型图。用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系统的功能需求。
参与者(actor)
在系统外部与系统直接交互的人或事物;需要注意以下两点:
- 参与者是角色而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。
- 参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。
在UML中,参与者使用如图所示的一个小人表示:
用例(Use Case)
系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用椭圆表示,椭圆中的文字简述系统的功能:
关系(RelationShip)
关联(Association)
表示参与者与用例之间的交互,通信途径,任何一方都可发送或接受消息。
箭头指向:指向消息接收方。
泛化(Inheritance)
在编程中,泛化关系是一种很重要的关系,我们随处可见。
泛化关系是一般和特殊关系,就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
箭头指向(需要特别注意):指向父用例。
包含(Include)
包含关系用来把一个较复杂用例所表示功能分解成较小的步骤。包含用例是必须的,如果缺少包含用例,基用例就不完整;包含用例必须被执行。
箭头指向:指向分解出来的功能用例。
扩展(Extend)
扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性。
箭头指向(需要特别注意):指向基用例
提供一个完整的系统的用例图
- UML建模
- uml建模
- UML建模
- UML建模
- UML建模
- uml建模
- UML建模
- UML建模
- uml建模
- UML建模
- UML建模
- UML建模
- UML建模
- UML建模
- UML 建模
- UML建模
- UML建模
- UML建模
- 创新榜单出炉,哪15家生物领域公司入了MIT的法眼?
- Java高级篇-1-Java基础知识快速过一遍
- Linux常用命令之cd
- Postgres设置特定数据库的连接数为0
- HDU5273--Dylans loves sequence
- UML建模
- 1134 最长递增子序列(时间复杂度O(n*log(n))
- 最长上升子序列
- 大众这家车企,在电动汽车和自动驾驶上将有哪些举动?
- 步步高再次杀入手机红海,imoo能否成为第二个OPPO?
- Spring boot整合Springfox在线生成restful的api doc
- 编译原理——3.3 词法单元的规约
- Postgres使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- 简单MySQL教程二