基于UML的面向对象分析与设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于UML的面向对象分析与设计 ? 2009-01-07 来源:cnblogs ? 摘要 本文以实例的方式,展示了如果使用UML进行面向对象的分析与设计。本文将假设读者对UML、面向对象等领域的基本内容已了然于胸,所以将不会过多阐述, 而将重点放在应用过程上。本文的目的是通过一个完整的实例,展现基于UML的OOAD过程的一个简化模式,帮助朋友们更好的认识UML在 OOAD中起的作用。 前言 经常听到有朋友抱怨,说学了UML不知该怎么用,或者画了UML却觉得没什么作用。其实,就 UML本身来说,它只是一种交流工具,它作为一种标准化交流符号,在OOAD过程中开发人员间甚至开发人员与客户之间传递信息。另外,UML也 可以看做是OO思想的一种表现形式,可以说“OO是神,而UML是型”。所以,想用好UML,扎实的OO思想基础是必不可少的。然而,在UML应用到开发 过程中时,还是有一定的模式可以遵循的。(注意,是模式而不是教条,我下面给出的流程只是一个启发式过程,而不是说一定要遵循这个流程。)下面,我们通过 一个CMS系统的分析设计实例,看看如何将UML应用到实际的开发中。 1.从需求到业务用例图 OOAD的第一步,就是了解用户需求,并将其转换为业务用例图。我们的CMS系统需求非常简单,大致课做如下描述:这个系统主要用来发布新闻, 管理员只需要一个,登录后可以在后台发布新闻。任何人可以浏览新闻,浏览者可以注册成为系统会员,注册后可对新闻进行评论。管理员在后台可以对新闻、评 论、注册会员进行管理,如修改、删除等。 通过以上需求描述,我们画出如下的业务用例图: 这里要注意三点: 1.业务用例是仅从系统业务角度关注的用例,而不是具体系统的用例。它描述的是“该实现什么业务”,而不是“系统该提供什么操作”。例如,在实际系统中, “登录”肯定要作为一个用例,但是这是软件系统中的操作,而用户所关注的业务是不包含“登录”的。 2.业务用例仅包含客户“感兴趣”的内容。 3.业务用例所有的用例名应该让客户能看懂,如果某个用例的名字客户看不懂什么意思,它也许就不适合作为业务用例。 2.从业务用例图到活动图 完成了业务用例图后,我们要为每一个业务用例绘制一幅活动图。活动图描述了这个业务用例中,用户 可能会进行的操作序列。活动图有个很重要的使命:从业务用例分析出系统用例。例如,下面是“新闻管理”的活动图: 可以看到,一个“新闻管理”这个业务用例,分解出N多系统操作。这里要特别注意这些操作,其中很多“活动”都很可能是一个系统用例(当然,不是每个都 是)。例如,由这个活动图可以看出,系统中至少要包含以下备选系统用例:登录、注销登录、查看新闻列表、修改新闻、删除新闻。 这样,将每个业务用例都绘制出相应的活动图,再将其中的“活动”整合,就得出所有备选系统用例。 3.从活动图到系统用例图 找出所有的备选系统用例后,我们要对他们进行合并和筛选。合并就是将相同的用例合并成一个,筛选就是将不符合系统用例条件的备选用例去掉。 一个系统用例应该是实 际使用系统的用户所进行的一个操作,例如,“查看新闻列表”就不能算一个系统用例,因为他只是某系统用例的一个序列项。 最终我们得出的系统用例图如下: 4.从系统用例图到用例规约 得出系统用例图后,我们应该对每一个系统用例给出用例规约。关于用例规约,没有一个通用的格式, 大家可以按照习惯的格式进行编写。对用例规约唯一的要求就是“清晰易懂”。/p 下面给出“登录”这个系统用例的一个规约: 5.绘制业务领域类图 完成了上面几步,下面应该是绘制业务领域类图了。所谓业务领域类图要描述一下三点: 1.系统中有哪些实体。 2.这些实体能做什么操作。 3.实体间的关系。 这里要特别强调:这里的实体不是Actor,而是Actor使用系统时使用的所调用的实体,是处在系统边界之内的实体。例如,管理员就没有作为一个实体出 现在这里,因为管理员处在系统边界之外,它所有的工作都可以通过调用这三个类的方法完成。并且,这里的“注册会员”实体也不是刚才用例图中注册会员这个 Actor,而是作为一个系统内的业务实体,供Actor们使用的。例如,其中的注册功能是给注册会员这个Actor使用,而移除则是给管理员这个 Actor使用的。 理解以上这段话非常重要,我经常看到由于混淆了实体和Actor的关系而导致画出的领域类图不准 确或职责分配不准确。 大家可能还注意到,我们这里没有给出每个实体的属性。其实,在领域分析阶段,实体的属性并不重要,重要的是找出实体的操作。? 6.绘制实现类图 以上这几步,就是分析的过程。而下面的步骤就是设计了。 设计没有分析那么好描述,因为分析是“客户面”,它只关心系统本身的功能和业务,而不关心任何和 计算机有关的东西。但是,设计和平台、语言、开发模

文档评论(0)

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

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

1亿VIP精品文档

相关文档