- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程——10、面向对象设计
软件工程模型与方法Models Methods of Software Engineering 第十章 面向对象设计 修佳鹏 media@bupt.edu.cn 本章内容 10.1 面向对象设计综述 10.2 模型的层次化 10.3 面向对象设计原则 10.4 设计用例实现方案 10.1 面向对象设计综述 面向对象的设计就是在OOA模型基础上运用面向对象方法进行系统设计,目标是产生一个符合具体实现条件的面向对象设计(OOD)模型。 与实现条件有关的因素有:图形用户界面、硬件、操作系统、网络、数据库管理系统、编程语言和可复用的类库等。 OOD的成果: 以UML包图等表示的软件体系结构 以交互图和类图表示的用例实现 针对复杂对象的状态图 用以描述流程化处理过程的活动图等 面向对象的设计过程 10.2 模型的层次化 10.2.1 用户界面层 10.2.2 控制器/处理层 10.2.3 业务/领域层 10.2.4 持久化层 10.2.5 系统层 层次化模型 用户界面类实现了系统的主要用户界面元素。 业务/领域类实现与业务领域相关的概念,源于领域模型 。 控制器/处理类作为完成用例任务的责任承担者,用于协调、控制其他类共同完成用例规定的功能或行为。 持久类把永久存储、检索、更新和删除对象的能力封装起来,使底层的存储技术不暴露出来。 系统类为应用提供操作系统相关的功能,通过把特定于操作系统的特性包装起来,使软件与操作系统分离,增加应用的可移植性。 10.2.1 用户界面层 用户界面层指与用户进行交互的部分,包含应用程序中用户界面部分的代码。 系统与用户的用户界面可以以多种形式出现: 图形用户界面GUI 命令行界面 其他交互界面(语音等) 尽量将用户界面层与系统的业务逻辑分离,专门处理系统与用户的交互。 用户与系统的交互方式发生变化,系统的基本业务逻辑不需改变;系统业务逻辑变化,在交互内容不变的情况下,用户界面不需要进行改变。 10.2.2 控制器/处理层 当用户通过用户界面使用系统时,用户界面类会产生系统事件传递给控制器类,后者负责该系统事件的处理。 在系统事件的处理过程中,控制器类可能会调用领域类、系统类甚至其他的控制器类。 10.2.3 业务/领域层 在面向对象分析阶段,已经识别出了问题域中重要的概念,该阶段关注的是概念的本质含义以及属性。 在面向对象设计阶段,将会对这些概念增加操作,并进行必要的修改和调整,使之成为设计模型中业务/领域层中的类。 这也是为什么说OOA和OOD采用一致的表示法,OOA和OOD之间不存在结构化方法中分析与设计的鸿沟,两者能够紧密衔接。 10.2.4 持久化层 对象持久化:将对象状态永久保存到物理存储介质中。 持久化层提供了存储、检索、更新和删除对象的基础结构。 持久层封装对永久存储介质的访问,但其本身并不是永久存储机制。例如,持久层可能封装了对关系数据库的访问,但本身不是数据库,而是完成持久化功能的类的集合。 为何引入持久化类 引入持久层的目的在于当数据存储机制或策略发生变化的时候,能减少维护工作。 目前大部分系统都是采用数据库作为存储介质。但数据库肯定会改变,包括: 数据库升级 从一种数据库移动到另一种数据库 数据模式变化,如增加字段、修改字段名称、改变字段类型等 持久层将对数据库的操作类封装起来,提供专门数据管理功能,向业务/领域对象提供持久化服务,从而使数据库变化对业务领域的影响的范围局部化。 无论持久存储策略如何变化,业务/领域类都不会受影响,从而增加了应用程序的可维护性、可扩展性和可移植性。 10.2.5 系统层 系统层提供对操作系统和非面向对象资源的访问。 系统类将操作系统提供的系统调用封装起来,生成系统访问类,例如Java语言中的文件流类库。上层业务逻辑直接访问系统类。而不直接访问系统调用。 这样当程序需要在不同操作系统平台上进行移植时,只需要修改少数系统类就可以了。 10.3 面向对象设计原则 10.3.1单一职责原则SRP (Single Responsibility Principle) 10.3.2开闭原则OCP(Open Closed Principle) 10.3.3里氏替换原则LSP(Liskov Substitution Principle) 10.3.4依赖倒置原则DIP (Dependency Inversion Principle) 10.3.5接口隔离原则ISP(Interface Segregation Principle) 10.3.6组合/聚合复用原则(Composite/Aggregation Reuse Principle, CARP) 10.3.7迪米特法则(Law of Demeter, LoD) 10.3.
您可能关注的文档
最近下载
- 叠合板专项施工方案--超危大.pdf VIP
- 4.1 观察物体(一)(课件)数学青岛五四版二年级上册(新教材).pptx VIP
- 【外研社Unipus】新探索研究生英语(基础级)读写教程U6课件_AE1.pptx VIP
- 横纹肌溶解症ppt课件.pptx VIP
- 职业生涯规划管理课件PPT.pptx VIP
- 22G101图集三维解读(现浇砼框架)2023年.pptx VIP
- 辽宁省学业水平测试近三年物理真题.docx
- 马克思劳动价值理论教案.docx VIP
- 汉语词性类(实词).ppt VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》(含附录使用指南-中文版-雷泽佳译-2025年9月10日).pdf VIP
文档评论(0)