再回首UML之下篇

         接着我们上篇博客再回首UML之上篇说,在类图中有四种关系,关联、依赖、泛化、实现,接下来,我们来看看依赖,依赖--描述的是一种使用关系,她说明一个事物的规格说明的变化可能影响到他使用的另一个事物,反之未必,一如我们上图所示,顾客和超市构成一种依赖关系,特别需要注意的是,箭头指向被依赖的一方,如下图:

     

    看看依赖的代码实现

     

class Customer{};
class supermarket{};
{
 void buy(Customer& Customer){}
 void buy(Supermarket* psupermarket){}
};

           
泛化,泛化--简单的来说,A是B和C的父类,B、C具有公共类也就是父类A,说明A是B和C的一般化,在我们的UML当中,对于泛化关系有三个要求,首先,子类和父类应该完全一致,父类所具有的属性、操作,子类应该都有,再者,子类中除了与父类一致的信息以外,还包括额外的信息;最后可以使用父类实例的地方,也可以使用子类的实例。如下图:

      

     那么泛化的代码是如何体现的:

      

class Animal{};
class Person : public Animal{};
Animal* pAnimal = new Person;

       实现关系指定两个实体之间的一种合约,换言之,一个实体定义一个合约,而另一个实体保证履行合约。

        

       再来看看她的代码实现:

       

public interface CollegePerson{
}
public class Professor implements Collegepers{
}

       
时序图是一种行为图,她通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。她可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机引起转换的触发事件。

     时序图描述对象是如何交互的,并且将重点放在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。以机房收费系统为例,看看我们上下机的时序图是如何体现的:

         

       在这里,我们要特别注意,我们需要使用的单线程,当用户发出去一个命令,必须要返回一个信息。至此,我们三类图就介绍到这里。

 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一走很难过有特殊用途的语言,开始接触UML的时候,有个疑惑,这明明是一种图形,为什么说是语言呢?试想想,我们伟大的汉字还不是从图形-象形文字开始的么语言包括文字和图形,其实有很多内容文字是无法表达的,我们都见过建筑设计图纸,里面有很多图形,光用文字不能完全表达清楚建筑设计,在建筑界,有一套标准来描述设计,同样的道理,在软件开发的世界里,我们也需要一套标准来帮助我们做好软件开发的工作,UML就是其中的一种标准。来提高我们的软件开发水平。

  在学习的过程中,很多师哥师姐都告诉我,UML的主要用途就是软件设计,但是当我第一次接触的时候,应用UML却不是软件设计,而是需求分析,当我们与客户面对面沟通调研需求的时候,直接用类图,时序图,活动图等进行沟通,我们并没有因此和客户无法沟通,反而是更加顺畅,客户在我们的引导下,很快读懂这些图,让我们和客户的沟通效率和效果更好,UML可帮助我们做软件需求分析和软件设计的工作,UML会让我们的工作更上一层楼,告诉读者一个秘密,UML应用于软件需求分析时,其学习门槛将会大大降低,只要你对软件需求分析感兴趣,认真学习和应用UML,就很有机会成为软件需求分析高手。

时间: 2024-08-31 01:31:56

再回首UML之下篇的相关文章

再回首UML之上篇

        UML,统一建模语言,是一种用来对真实世界物体进行建模的标准标记,这个建模的过程是开发面向对象设计方法的第一步,UML不是一种方法学,不需要任何正式的工作产品.   UML提供多种类型的模型描述图,当在某种给定的方法学中使用这些图时,她使得开发中的应用程序更容易别我们所理解,UML的内涵远不只是这些模型描述图,但是对于我们来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍,通过把标准的UML图放进工作产品中,熟练UML的人员就更加容易加入项目并迅速进入角色.在UML这个

设计模式之SOLID原则再回首

    本科阶段学过设计模式,那时对设计模式的五大原则--SOLID原则的概念与理解还是比较模糊,此时过去了2年时间,在学习<高级软件工程>课程中老师又提到了设计模式,课程中还详细讨论了五大原则的过程,这次SOLID原则再回首作者提出了一些更通俗的理解吧~ 一. 什么是设计模式?     那么,什么是设计模式呢?     从广义角度讲设计模式是可解决一类软件问题并能重复使用的设计方案;     从狭义角度讲设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述,是在类和对象的

再回首奥运“网事”:几大门户网站巅峰对决

2008年8月8日,第二十九届奥运会圣火在主体育场鸟巢点燃时,互联网多股力量间的争夺战也正式拉开帷幕. 新浪.搜狐.网易.腾讯.百度.凤凰网.央视网七大门户以及各大视频网站,成为这次争夺战中的主角.他们或挟持着国家垄断性资源.或依赖着惊人的用户数量,或以"媒体气质"专注于新闻的精品加工,试图在草根与精英之间寻找双赢的路径. 这次奥运报道更像互联网的一场豪赌,各互联网大佬们在进行一场关于财力.智力.信誉的豪赌,赌的是自己未来5年内的发展,甚至是生死存亡.这其中的种种交锋,在奥运残酷的竞争

图文:第一阶段对话再回首全景

图为:第一阶段 对话再回首全景.(来源:新浪科技 陈鑫) 2009年第七届ChinaJoy展会将于7月23日至26日在上海新国际博览中心举行.2009年7月23日,中国网络游戏产业十年高峰对话举行.图为第一阶段对话再回首全景.

UML再回首

             最近在为软考做准备,UML是其中的一个考点,听大师出在下午题中,分值大,所以对于UML的学习再总结,UML的学习早在去年就学过了,请您查看我的系列博客,对于UML的理解也越来越深刻,UML就好像是软件设计的血液.工程师,没有它,软件设计就只是纸上得来.              图中明显的讲时序图.用例图.包图标记为红色,简单的说一下他们的依存关系:包图->类图-->用例图-->时序图 ,因为这三种图在我们的软件开发过程中起着非常重要的作用,下面我就对这三种图进

再回首2013

        转眼14年已经差不多过了六分之一,13年的总结迟迟没有提笔:13年经历很多,也许正是因为这样一直不知道怎么开始写.        年初是呆在提高班的第一个寒假,自己虽然是信息与计算科学专业的要说真正接触编程还得从这个寒假的VB学习开始.记得当时每天都很充实,白天基本上都在学习,中午必须睡半个小时,也没有打扰(每个打扰我都会记下来,后来就没有人打扰了),每天都享受着每个小例子中的小幸福.        3到5月份的作品展,一切都是我们10期策划组织的,身为10期的一员我也尽了自己的

21世纪经济报道:再回首往日,向eBay致敬

刘燚 近日纷纷扬扬的淘宝"伤城"事件,引起上至中央部委.外至华尔街投行的广泛注意,不论观点立场如何,都无一例外折射出一个基本事实:淘宝足够大了,Too Big to ignore!与之相反,淘宝曾经学习的对象eBay(微博)虽然也很大,但是却越来越被媒体和投资者所ignore.曾经,eBay是在后视镜里看淘宝:如今,看起来确实淘宝在后视镜里都看不到eBay似的. 在这个当口,重新回看eBay走过的路和正在走的路,别有一番风景,或另有启示. 慢的好处 10月19日,eBay发布了第三季度

2012中国互联网十大事件再回首:电商井喷

编者按 2012年,国内互联网市场发生了许许多多极为重大的标志性事件,其中,最为重大的标志性事件便是国内互联网市场开始告别依赖模仿全球化开发的老路,从关注国计民生的实际需求出发,贴近市场,开发最适合国人应用的互联网产品,尤其是移动互联网产品,使得本来全球化味道浓郁的互联网越来越变得有"中国味"啦. 1 优酷土豆突然合并 冤冤相"抱""合"时了 本报记者 贺 骏 两家彼此之间存在上亿版权官司及诸多过节未了的公司,竟然能在一夜间合并,2012年,优酷

可视即安全——再回首,Gartner2016年十大信息安全技术深度解读

此前,Gartner分析师公布了关于2016年十大信息安全技术的研究成果,引来国内外从业者不同解读.从各方版中管中窥豹,"可视化"这一技术当之无愧堪称"独占鳌头",其中云访问安全代理服务(Cloud Access Security Brokers),用户和实体行为分析(UEBA),微分割和流量可视化(Visibility)这三大Gartner力挺的技术热点都或丰满,或骨感的勾勒出"可视化网络安全"发展的美妙蓝图. 如果把目前国内广泛应用的基于用户