网站大量收购闲置独家精品文档,联系QQ:2885784924

需求分析与系统设计.pptx

  1. 1、本文档共196页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求分析与系统设计 第5章 高级分析 前一章为面向对象的可视化建模描绘了一幅令人鼓舞的图画。例子并不是很严格的,可视化建模语言很简单会让人想使用它,模型之间的相关性也很明显。 实际软件开发的情况是相当复杂的,对复杂的问题没有简单的解决方案。对象只是为求解这个复杂的问题提供了一种流行的技术。也正因如此,对象还需要具备与它们要解决的问题相当的技术上的深度。 第5章 高级分析 本章是对对象技术及其求解复杂问题的适应性的一个关键评价。我们引入类建模、类层次。继承以及代理等的高级概念。在贯穿本章的内容中,我们比较并审查各种判断,给出我们的观点并提出其他的解决方案。本章讨论的主题由于其技术上的特征而直接扩展到了系统设计阶段。这与UML的广泛特性和面向对象软件开发的迭代增量式过程的本质是一致的。 第5章 高级分析5.1高级类建模 5.2类层次 5.3高级泛化和继承建模 5.4高级聚合和代理建模 5.1高级类建模 到目前为止,我们所讨论的分析建模概念足以产生完整的分析模型,但这些模型仅仅停留在一个抽象的层次上,在这个层次上,我们并没有对分析建模阶段可以允许的所有可能的细节进行详尽的论述(即那些也还没有提出硬件/软件方案,但却丰富了模型的语义)。UML包含了许多其他的概念表示法,这些概念我们在前面只是顺便提了一下,或者有的还一点都没有涉及到。 5.1高级类建模 这些概念包括:构造型、约束、导出信息、可见性、量化关联、关联类、参数化类以及其他更多的概念。这些概念是可选的,许多不包含它们的模型也是允许的。但一旦用上它们,就要小心精确以使得该模型将来的读者能够不带任何疑惑地理解作者的意图。 5.1高级类建模 5.1.1构造型 5.1.2约束 5.1.3注释和标签 5.1.4可见性和封装 5.1.5导出信息 5.1.6被限定的关联 5.1.7关联类与具体类 5.1.1构造型 构造型扩展了现有的UML的建模元素,它改变了一个现有元素的语义。它本身并不是一个新的模型元素,它没有改变UML的结构,只是丰富了存在的表示法的含义,它还支持扩展并客户化这个方法。构造型可能的用途有许多。 通常,构造型就是在模型上贴上的一个标签,标签中带有一个处在对称的箭头括号之间的名字(法语中的引用符号),如global、PK、include等,构造型也可能由图标表示。 5.1.1构造型 一些流行的构造型是内部定义的——它们在UML中已预先定义。这些内部定义的构造型很可能由 CASE工具喜欢使用的图标表示。大多数的 CASE工具提供了创建分析员想要用的新的图标的可能性。图5-1分别给出了用图标构造型的类、用标号构造型的类以及不带构造型的类的例子。 5.1.1构造型 5.1.1构造型 构造型扩展了语义而不是UML的结构,这个限制很不明显。任何面向对象系统的底线是,其中的任何事物都是对象——类是对象、属性是对象、方法是对象等等。因此,通过对类进行构造型,我们实际上能够创建一个新的建模元素,以引入一种新的对象类型。 5.1.1构造型 解决设计模型问题的一个构造型的专门集合称为一个简档。将来的UML的标准可能包括为流行的设计目标,如数据库或CORBA(公共对象请求代理体系结构)等而制定的简档。 5.1.2约束 构造型经常会与约束混淆,这两个概念之间的区别确实常常也很不清楚。构造型常用于为模型引入新的约束,对建模者有意义的约束,但在UML中又不像约束那样被直接支持。 任何建模元素都可以具有一个关联的约束,或者可以被构造型。只有简单的约束显示在模型图中,它们表示为花招号中的一段文字,并且它们在图示上和在语义上都被约束到一个建模元素上。更精细的约束(在图形模型中表示出来可能太长了)存储在CASE资源库中,一般作为一个字处理文件。例5.1(电话销售) 参照例4.7(.3节),回想例4.7中的需求2的那段话“所有票都编了号。一次活动中的票号是惟一的。” 在例4.7的方案中(图4-4),我们没能够捕获到上述约束(CampaignTicket没有包括campaign_code(带有ticket_number)作为组合主码的一部分)。 我们的任务就是为类图上的这个约束建模。 例5.1(电话销售) 图5-2表示了对这个类模型的一个简单扩展以显示这个约束。这个约束被绑定到类CampaignTicket上。在由CASE工具产生的任何报告中,这个约束将与类的其他属性同时列出。 电话销售 例5.2(关系管理) 参照例4.8(节),假设一个新的需求被加入,系统不处理由雇员进行的对他们自己的事件调度。这意味着创建事件的雇员必须与安排执行该事件的雇员不是同一个人。 扩展类模型的相关部分(图4-5)以包含这个新的需求。 例5.2(关系管理) 这个例子的解决方案(图5-3)导致关联线之间的约束。它用从c

文档评论(0)

zhishifuwu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档