软件工程导论课件第10章-面向对象的分析(第六版)(张海潘编著).pptVIP

软件工程导论课件第10章-面向对象的分析(第六版)(张海潘编著).ppt

  1. 1、本文档共63页,可阅读全部内容。
  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文档。上传文档
查看更多
软件工程导论课件第10章-面向对象的分析(第六版)(张海潘编著)

例子 问题: 有甲、乙、丙三人住店,一间房30。于是每人10元,共计给店老板30元住进一间房。 后来店老板发现弄错了,房价应该是25元,于是给小二5元让小二退给 房客。 小二黑心,贪污了2 元,退给甲乙丙每人1 元。 这样房客每人付了10-1=9元,三九27,加上小二贪污的2 元,共29元,问那 1元哪里去了? 如何看待和解决上面的问题? 过程论观点 经历五个步骤后,数据变为 : 乙丙各1元,老板25元,小二2元,这就是 终止状态,也是这个过程的输出 对象论观点 对象论眼中,有五个基本对象,每个对象有自己的一系列数据和逻辑,这就是这件事的本质模样,所涉及的东西就是这么几个对象。 本来它们各自独立,老死不相往来。只不过在住店这个外部驱动力下,几个对象偶然、暂时互相联系,利用其他对象提的公开服务,完成了一些交互。 例子中五个对象很相似,可以看做一类东西,于是,我们给出一个类,叫“人”,且认为这五个对象都是“人”这个类的具体例子,我们叫其为实例。以后遇到类似的对象,我们都可以知道,这个对象属于“人”类。 10.3 建立对象模型 建立对象模型典型的步骤: 确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题; 给类和关联增添属性,以进一步描述它们; 利用适当的继承关系进一步合并和组织类。 ATM系统的基本系统模型 * 对象模型 动态模型 功能模型 * * * * * * * * * * * * * * * * * * * “脚本” 原指“表演戏曲、话剧,拍摄电影、电视剧等所依据的本子,里面记载台词、故事情节等”。 * * * * * * * * Imp comments: 没有查帐事务, 退卡,请求继续 不在需求中;请求继续=询问, 加入停机,考虑断电后电池弱时停机 * IMP:合并为一,加等待ATM请求, ONLY ONE INIT STATE 若1个类有2个无共态的状态图,可能应为2个类。 +1 way to communicate with ATM: a/synchronic, different efficiencies and securities, but it is more a design issue. * * 建立类间的继承是为了共享其公共性质/属性。 继承也对类按层次加以组织。 继承关系反映出一定深度的领域知识,需领域专家密切配合才能完成。 继承前人的成果是提高效率的重要方法,也是复用的基础。 10.3.5 识别继承关系 两种建立继承(即泛化)关系的方式: (1) 自底向上:从现有类泛化出父类; 抽象出现有类的共同性质泛化出父类,这个过程实质上模拟了人类归纳思维过程。 例如,在ATM系统中,“远程事务”和“柜员事务”是类似的,可以泛化出父类“事务”;类似地,从“ATM”和“柜员终端”泛化出父类“输入站”。 (2) 自顶向下:把现有类细化成子类。 把现有类细化成更具体的子类或从已知类派生出一个新类,这模拟了人类的演绎思维过程:从一般到特殊。 例如,带有形容词修饰的名词词组往往暗示了一些具体类。分析阶段应该避免过度细化。 增加了继承关系之后的ATM对象模型 一次建模过程很难得到完全正确的对象模型。 下面以ATM系统为例,讨论可能做的修改: 10.3.6 反复修改 1.分解类 如:分解“现金兑换卡”类为“卡权限”和“现金兑换卡”,使每个类功能更单一; 2.合理组织类 如:“事务”由“更新”组成,“更新”包括“取款”、“存款”、“查询”等动作。 3.合并类 如:合并“分行”与“分行计算机”、“总行”与“中央计算机”。 修改后的ATM对象模型图 对于仅存储静态数据的系统(例如数据库)来说,动态模型并没有什么意义。 但是若开发交互式系统时,动态模型却起着很重要的作用。 10.4 建立动态模型的方法 建立动态模型的步骤: 编写典型交互行为的脚本, 不遗漏常见的交互行为。 从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。 排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。 最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 脚本: 是指系统在某一执行期间内出现的一系列事件。 脚本功能: 描述用户(或其他外部设备)与目标系统之间的一个或多个典型的交互过程。 编写脚本的目的: 是保证不遗漏重要的交互步骤,有助于确保整个交互过程的正确性的和清晰性。 编写脚本内容: 描写既可以包括系统中发生的全部事件,也可以只包括由某些特定对象触发的事件。 对于每个事件

文档评论(0)

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

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

1亿VIP精品文档

相关文档