07面向对象分析讲解.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.4.4 画状态图 根据一张事件跟踪图画出状态图之后,再把其他脚本的事件跟踪图合并到已画出的状态图中。 考虑完正常事件之后再考虑边界情况和特殊情况,其中包括在不适当时候发生的事件。 当状态图覆盖了所有脚本,包含了影响某类对象状态的全部事件时,该类的状态图就构造出来了。 图7.9  ATM类的状态图 7.4.5 审查动态模型 各个类的状态图通过共享事件合并起来,构成了系统的动态模型。在完成了每个具有重要交互行为的类的状态图之后,应该检查系统级的完整性和一致性。 7.5 建立功能模型 通常在建立了对象模型和动态模型之后再建立功能模型。 1、画出基本系统模型图 基本系统模型由若干个数据源点/终点,及一个处理框组成,这个处理框代表了系统加工和变换数据的整体功能。 图7.12 ATM系统的基本系统模型 7.5 建立功能模型 2、画出功能级数据流图 把基本系统模型中单一的处理框分解成若干个处理框,以描述系统加工、变换数据的基本功能,就得到功能级数据流图。 ATM系统的功能级数据流图如图7.13所示。 图7.13 ATM系统的功能级数据流图 7.5 建立功能模型 2、描述处理框功能 把数据流图分解细化到一定程度之后,就应该描述图中各个处理框的功能。应该注意的是,要着重描述每个处理框所代表的功能,而不是实现功能的具体算法。 描述是说明性的,也可以是过程性的。表7.3给出了对“更换新账户”这个处理的功能描述。 7.6 定 义 服 务 需要等到建立了动态模型和功能模型之后,才能最终确定类中应有的服务,因为这两个子模型更明确地描述了每个类中应该提供哪些服务。事实上,在确定类中应有的服务时,既要考虑该类实体的常规行为,又要考虑在本系统中特殊需要的服务。 1.常规行为 在分析阶段可以认为,类中定义的每个属性都是可以访问的。 2.从事件导出的操作 状态图中发往对象的事件也就是该对象接收到的消息,因此该对象必须有由消息选择符指定的操作,这个操作修改对象状态(即属性值)并启动相应的服务。 7.6 定 义 服 务 3.与数据流图中处理框对应的操作 数据流图中的每个处理框都与一个对象(也可能是若干个对象)上的操作相对应。 4.利用继承减少冗余操作 应该尽量利用继承机制以减少所需定义的服务数目。 7.6 定 义 服 务 7.7 面向对象分析实例 该例题大家比较熟悉,自己完成该内容的学习。 7.7 面向对象分析实例 课堂练习: P193 第四大题第3小题。 要求:建立医院病房监护系统的功能模型。(画数据流图) 2.筛选出正确的类与对象 筛选时主要依据下列标准,删除不正 确或不必要的类与对象: 属性 一些名词其实上描述的是其他对象的属性。如:“现金、支票、取款额、账单、余额、分行代码、卡号、密码、类型”。 7.3.1 确定类与对象 2.筛选出正确的类与对象 操作 有时候,有的名词可能使用时既可以作为名词也可以作为动词,应根据具体使用场景来处理。 实现 在分析阶段不能过早地考虑实现目标系统,应去掉与实现有关的类和对象。 7.3.1 确定类与对象 7.3.1 确定类与对象 对于ATM系统的例子中,经过初步筛选,剩下下列的类与对象: ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务和现金兑换卡。 7.3.2 确定关联 在初步分析了问题域中的类与对象后,接下来确定类与对象之间存在的关联关系。(这个顺序并非绝对的) 分析确定关联,能促使分析员考虑问题域的边缘情况,有助于发现那些尚未被发现的类与对象。 7.3.2 确定关联 1. 初步确定关联 在需求陈述中使用的描述性动词或动词词组,通常表示关联关系。因此,在初步确定关联时,大多数关联可以通过直接提取需求陈述中的动词词组而得出。 见教材P172。 2.筛选 筛选时主要根据下述标准删除候选的关联。 (1)已删去的类之间的关联 (2)与问题无关的或应在实现阶段考 虑的关联 (3) 瞬时事件 关联应该描述问题域的静态结构,而不应该是一个瞬时事件。 7.3.2 确定关联 (4) 三元关联 三个或三个以上对象之间的关联,大多可以分解为二元关联或用词组描述成限定的关联。 (5) 派生关联 应该去掉那些可以用其他关联定义的冗余关联。 7.3.2 确定关联 3.进一步完善 应该进一步完善经筛选后余下的关联,通常从下述几个方面进行改进: (1) 正名 (2) 分解 (3)

文档评论(0)

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

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

1亿VIP精品文档

相关文档