软件模型设计基础.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件模型设计基础

软件模型设计基础(3) 四.UML的内容详述   基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言(我已经强调了这个不同于程序设计语言);其次,UML不仅仅是上述方法(BOOCH91,OMT1和OOSE等)的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而成,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程(关于开发过程UML应用迭代过程,由三鼻祖力荐)。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程 但主要适用于迭代式开发,UML三鼻祖在统一开发过程中推荐的 。   下面我们来详细地说明关于UML的结构: 1.UML的事物 1.1结构事物 1.1.1类 Class   我们学习过C++或者Java(面向对象的语言好象都有,但称谓是否是类我还不清楚)的人都知道,该语言中有类的概念。   类的定义是一组具有相同属性、操作、关系和语义的对象描述。   UML的图形表示上,类是一个矩形。   重要说明:UML图形是采用Rose工具画出,然后剪切下来的,对于以后的本书中的一切图形,都是如此而来的。 ① 类的名称 Name   类当然有名称,但也必须有一个名称;名称是一个标记,我们应该记起我们在数学一章中介绍的关于名称如何的标记的,可以是一个字符串也可以是一个数字串或者其他什么标记符号。   一般类有两种表示,一是直接表示,就是类名;一是路径表示,就是类名加路径名。就好象国外人起名字,喜欢加上父亲或爷爷的名字来表示他产生的路径。比如用TOMClass来表示一个类,也可以用TOMGranddadClass::TOMFatherClass::TOMClass来表示这个类。   以图示之: ② 类属性(Attribute)   光有类的名称是不完全的,徒其是个空类。   何谓属性?是以被冠名的类(事物的抽象)特性。我们仍然以农场主和羊的例子来说明:   羊的特性:有毛(叫羊毛),有皮(羊皮),有肉(羊肉)…   以此,我们画一个羊的类图:   同样我们也可以在表示属性的同时,给属性加上一些标记或属性的属性。比如说Wool是白色的,Mutton是鲜的,Sheepskin是一种皮革…等,我们可以在属性后附加如此说明。   说一句简单道理,何谓属性?属性就是文章中形容词(如果你老兄文章不识词性?),如果我们要说明一只羊,我们写了一篇文章,该文章有说明文字和被说明的对象,该说明文字就是属性,而被说明的对象有两层东西:操作和关系。   我们先来谈谈操作。 ③ 类操作 operation   何谓操作?操作是一个服务的实现,深了!操作是一个对象的动作行为。若对象的行为被对象实施或实施过或可能实施,该行为就是对象的一项操作。   比如羊的吃草就是一项操作(当然在没有吃草的时候不能算操作,但吃草就是羊操作的一种);羊的产崽也是一项操作(当然公羊不可能实施了,但若为母羊呢?),对于操作,只要群体的部分有其行为,该行为也可以算该对象的一项操作。   以图示之:   我们看见了一个清晰的类,该类由三部分组成:类名、属性和操作。   那么,我们是否理解一个类了?先别问,我们还有一个问题没有解决-关系。我先问一个简单的问题,一个羊它产崽了,那么老羊和小羊有什么关系。从属性和操作上看是继承关系。   在羊的产崽的过程,这个继承过程是完全的(在这里我所指的是母羊产了母羊),我们现在讨论的关系是不是老羊和小羊间的母子关系,不是的。具体的关系会被表达成:该类(羊)被销售、让其产崽,被替换(可能养羊不值钱该养牛),被屠杀等,而不是一个羊是一个另一个羊的老妈,但老妈的关系是存在,这个存在关系并不需要我们关心。   如何正确地分析类与类的关系,我们将会在关联一段具体分析。   关于类的属性和操作,若完全分析 ④ 类职责(Responsibility)   当创建一个类时就声明该类的所有对象具有相同种类的状态和行为。在理解上类的属性和操作正是完成该类的职责的说明或特征。   举例示之:   该WoolClass类负责说明羊毛的颜色、长度、质量和加工方法。   如此就很清楚了,类属性和类操作是负责该类的特性的描述和行为的执行(此时程序编写者就可以拿程序设计中的类和此比较,观察一下细微的区别)。如何说明该类(该问题)就是语义问题。   一般情况是如何表述类的职责的,在类图的矩形框中再加一栏来说明类的职责:

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档