- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 建立动态模型的方法 建立动态模型的步骤: 编写典型交互行为的脚本, 不遗漏常见的交互行为。 从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。 排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。 最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 脚本: 是指系统在某一执行期间内出现的一系列事件。 脚本功能: 描述用户(或其他外部设备)与目标系统之间的一个或多个典型的交互过程。 编写脚本的目的: 是保证不遗漏重要的交互步骤,有助于确保整个交互过程的正确性的和清晰性。 编写脚本内容: 描写既可以包括系统中发生的全部事件,也可以只包括由某些特定对象触发的事件。 对于每个事件
您可能关注的文档
最近下载
- 2025年辽宁医药职业学院单招职业适应性测试题库(历年真题).docx VIP
- 25个作业女性化教程.docx VIP
- 2025年沈阳中考英语试题及答案.docx VIP
- 广东省湛江市廉江市2023年小升初语文试卷.doc VIP
- PEP 三年级下册英语 期末真题测试卷(一) 含答案.pdf VIP
- 风电基础工程清单报价汇总表.pdf VIP
- 10万吨年合成氨技术改造项目可行性研究报告建议书.doc
- 信息素养:效率提升与终身学习的新引擎学习通超星期末考试答案章节答案2024年.docx VIP
- 2024年广东省揭阳市中考数学试卷(含答案逐题解析).docx
- 学前儿童科学教育-形成性考核四-学习资料-电大hb.docx VIP
文档评论(0)