- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程03-12
第十章 面向对象分析 面向对象分析的基本过程 需求陈述 建立对象模型 建立动态模型 建立功能模型 定义服务 面向对象分析的基本过程 概述 三个子模型与五个层次 Object model:最重要,开发任何系统都需要; Dynamic model:对于开发交互式系统(interactive system)很重要; Function model:对于开发大运算量问题(如科学计算、编译系统等)很重要。 Object model 由五个层次组成(CoadYourdon, 1991),相当于把五张透明胶片(transparencies)叠在一起,每一层显示更多的细节。 需求陈述 10.2.1 书写要点 10.2.2 例子 需求陈述 书写要点 问题范围 功能需求 性能要求 应用环境 假设条件 建立对象模型 10.3.1 确定类一一对象 10.3.2 确定关联 10.3.3 划分主题 10.3.4 确定属性 10.3.5 识别继承关系 10.3.6 反复修改 建立对象模型 确定类一一对象 列出所有候选对象(candidates),它们可能是 物理实体 人或组织 要处理的事件 对象间的活动 抽象概念 去粗取精 建立对象模型 确定关联 收集 需求陈述中涉及objets的动词短语 需求陈述中隐含的关联 根据问题域知识得出的关联 建立对象模型 确定关联 筛选 删除与已删去的object 有关的关联 与问题无关的或应在实现阶段考虑的关联 瞬时事件:注意关联描述静态结构 三元关联:分解为二元关联或限定关联 派生关联:即可用其它关联定义的冗余关联 完善 正名分解补充 标明阶数 建立对象模型 10.3.1 确定类一一对象 10.3.2 确定关联 10.3.3 划分主题 10.3.4 确定属性 10.3.5 识别继承关系 10.3.6 反复修改 建立对象模型 10.3.1 确定类一一对象 10.3.2 确定关联 10.3.3 划分主题 10.3.4 确定属性 10.3.5 识别继承关系 10.3.6 反复修改 建立对象模型 划分主题 按问题域而不是按功能分解 主题间的依赖和交互尽可能少 确定属性 Attribute 不表示 objects 之间的关系,只表示其本质性质,不要与链属性、限定词混淆。 暂不考虑纯用于实现的 attributes(即单纯的内部状态)。 需求陈述中与已确定的 objects 有关的名词、形容词可能是选择的线索 10.3.5 识别继承关系 10.3.6 反复修改 建立对象模型 识别继承关系 Bottom-up:将具有相同属性的classes向上归纳出父类。 Top-down: 将现有classes向下细化出子类(但分析阶段避免过度细化) 反复修改 建立动态模型 10.4.1 编写脚本 10.4.2 设想用户界面 10.4.3 画事件跟踪图 10.4.4 画状态图 10.4.5 审查动态模型 建立动态模型 编写脚本 正常情况脚本 特殊情况脚本(输入\输出取边界值时) 异常情况脚本(应允许用户异常中止或取消一个操作) 设想用户界面 建立动态模型 画事件跟踪图 确定事件 画出事件跟踪图 画状态图 审查动态模型 建立功能模型 10.5.1 画出基本系统模型图 10.5.2 画出功能级数据流图 10.5.3 描述处理框功能 定义服务 10.6.1 常规行为 10.6.2 从事件导出的操作 10.6.3 与数据流图中处理框对应的操作 10.6.4 利用继承减少冗余操作 第十一章 面向对象设计 面向对象设计的准则 启发规则 软件重用 系统分解 设计问题域子系统 设计人—机交互子系统 设计任务管理子系统 设计数据库管理子系统 设计类中的服务 设计关联 设计优化 面向对象设计的准则 11.1.1 模块化 11.1.2 抽象 11.1.3 信息隐藏 11.1.4 弱耦合 11.1.5 强内聚 11.1.6 可重用 面向对象设计的准则 模块化 抽象 抽出事物的本质特性, 暂不考虑其细节,使设计从具体实现方法中超脱 信息隐藏 弱耦合 交互耦合(interactive coupling):通过传递message发生 继承耦合 面向对象设计的准则 强内聚 服务内聚(service cohesion):一个服务只完成一个功能 类内聚(class cohesion):一个类只有一个用途,否则分解之 一般-特殊内聚 可重用 启发规则 11.2.1 设计结果应该清晰易懂 11.2.2 一般----特殊结构的深度应适当 11.2.3 设计简单的类 11.2.4 使用简单的协议 11.2.5 使用简单的服务 11.2.6 把设计变动减
您可能关注的文档
最近下载
- 《建设工程设计优化服务标准》.pdf
- 12J926-无障碍设计标准图集.pdf VIP
- (完美版)动物营养学第五章碳水化合物的营养.课件文档.ppt VIP
- 初始设计评审检查表.docx VIP
- 浅谈产品研制“三化”工作.docx VIP
- 安全隐患排查治理活动实施方案01290.doc VIP
- 第十五章 精斑检验解析.ppt VIP
- 近三年(2020-2022)高考题•再开发•通用版课时卷(16)练习 2023届高考英语一轮复习.docx VIP
- 部编版五年级语文上册《1 白鹭》PPT优秀课件.pptx VIP
- 《AI公文写作范例大全:格式、要点与技巧》课件 第7、8章 运用AI润色公文、 法定类公文的写作.pptx
文档评论(0)