面向对象分析与设计第8章.pptVIP

  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文档。上传文档
查看更多
面向对象分析与设计第8章

# 面向对象分析与设计 易国洪 第七章 系统分析 7.1、分析过程概述 在Ripple中,在客户满意之前,分析需要重复经历如下步骤: 1. 使用系统需求模型查找候选的类,以描述与系统相关的对象,并在类图上建立它们 2.确定类之间的关系(关联、聚合、组合、继承) 3.确定类的属性(对象的已指定的简单特性) 4.确定类的操作,检查系统用例,确定已有的对象支持它们,在检查过程中微调类、属性和关系,这个用例的实现过程将生成一些操作。 7.2、静态分析 静态建模设计确定系统的逻辑或物理部分,以及如何把它们连接在一起。也就是说,它描述了如何构建和初始化系统。 7.2.1 确定类 以系统用例的形式获得好的候选类,候选类常常在用例中用名词来表示,只要稍微实践一下,就可以快速删除表示下述含义的名词: (1)系统本身 (2)参与者 (3)边界 (4)小类型(字符串或数字) 7.2.1 确定类 7.2.2 正确运用抽象原则 在OOA中正确运用抽象原则 首先要舍弃哪些与系统责任无关的事物,只注意与系统责任有关的事物。 其次,对于与系统责任有关的事物,也不是把它们的任何特征都在相应的对象中表达出来,而要舍弃哪些与系统责任无关的特征。 如何判断事物是否与系统责任有关呢?一是该事物是否为系统提供一些有用的信息,或者它是否需要系统为它保存和管理某些信息。二是它是否向系统提供某些服务,或者,它是否需要系统描述它的某些行为。 7.2.3发现类的策略 1、考虑问题域 2、考虑系统边界 3、考虑系统责任 7.2.4审查和筛选 找到了候选类后,要对它们逐个进行审查,看看它们是不是OOA模型真正需要的,从而筛选掉一些对象。 1、舍弃无用对象 对于每个候选对象,要判断它在系统中是否真正有用,判断的标准是它们是否提供了有用的属性和服务 A.通过属性判断 B.通过服务判断 7.2.4审查和筛选 对象精简 如果系统中的对象的种类及数量过多,则将增加系统的复杂性,应该考虑是否能精简。重点审查 1、只有一个属性的对象 如果对象只有一个属性,应考虑它是被那些对象引用,看看能否合并到这些对象中去。 2、只有一个服务的对象 如果一个对象只有一个服务,没有属性,并且系统中只有一个类的对象请求这个服务,可以考虑将其合并到它的请求者对象中。 异常情况的检查和调整 1、类的属性或服务不适合该类的全部对象 2、属性及服务相同的类 3、属性和服务相似的类 4、对同一事物的重复描述 7.3标识类的关系 一旦有了候选类列表,就可以绘制出它们之间的关系。有四种类型的关系: 继承:子类继承了超类的所有属性和行为 关联:一种类型的对象与另一种类型的对象关联 聚合:强关联,一个类的实例由另一个类的实例构成。 组合:强聚合,组合的对象不能由其它对象共享,且与构成它的对象一起消亡。 7.3标识类的关系 继承与其它三种关系不同:继承描述了类在编译期间的关系,而其它三种关系描述了对象在运行期间的连接关系。根据UML标准,所有运行期间的关系都可以使用同一的术语关联association 但是大多数人把关联看作:既不是聚合也不是复合的关联关系 在关系之间选择时是很困难的,需要使用直觉、经验和推测。在分析过程中这些关系出现的频率。 关联 聚合 继承 组合 就涉及和实现而言,关联、聚合、组合之间的区别很难界定 7.4标识类的属性 属性是对象的一个特性,例如对象的大小、位置、名称、价格、颜色等。在UML中每个属性都可以指定一个类型,指定的这个类型可以使类或原型。(在分析阶段也可不指定类型,对提交的、或在设计阶段必须指定一个类型) 属性是描述对象静态特征的一个数据项。 服务是描述对象动态特征的一个操作序列。 属性的命名必须规范。 7.4.1发现属性的策略 针对每个对象提出并回答以下问题,从而启发自己从各种角度去发现对象的属性: 1、按一般常识这个对象应该有哪些属性 对象的某些属性,按一般常识就可以知道,例如人的姓名、职业、地址、电话等属性,但要注意,按照一般常识发现的属性未必都有用应该在审查时去掉。 2、在当前的问题域中,这个对象应该有哪些属性 对象的某些属性,只有认真研究问题域才能得到 例如商品的条形码。 7.4.1发现属性的策略 3、根据系统责任的要求,这个对象应具有哪些属性 4、建立这个对象是为了保存和管理哪些信息 5、对象为了在服务中实现其功能,需要增设哪些属性 6、对象有哪些需要区别的状态,是否增加一个属性来区别这些状态 7、用什么属性来表示整体-部分结构和实例连接 7.4.2审查和筛选 对于初步发现的属性,要进行审查和筛选。为此对每个属性提以下问题: 1、这个属性是否体现了以系统责任 该属性是否提供了系统用的着的信息,OOA应该只注意与系统责任有关的特征 2、这个属性是不是描述这个对象本

文档评论(0)

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

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

1亿VIP精品文档

相关文档