谈软件工程中的面向对象软件设计.docVIP

 谈软件工程中的面向对象软件设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
 谈软件工程中的面向对象软件设计

谈软件工程中的面向对象软件设计 谈软件工程中的面向对象软件设计 摘要 本文软件从工程学习的角度,概括的阐述了面向对象软件设计的特点、步骤、原则等方面的内容。   关键词 面向对象;软件设计;OOD   中图分类号TP311.文献标识码A 文章编号 1674-6708(2016)22-0220-0    论文联盟   The Object-oriented Software Design in Software Engineering   SONG Ailin   Abstract From the view of software engineering learning, this paper generally introduce the characteristics of object-oriented software design, and it’s steps and principles, etc.   Keywords Object-Oriented;Software Design;OOD      随着20世纪80年代末面向对象技术的兴起,传统设计方法不能满足现代软件工程的需要,学习软件工程必须要重视面向对象的软件设计。   1 面向对象设计概述   面向对象(OO, Objected Oriented)方法是1979年以后发展起来的,它是一种系统的软件方法学。有学者认为面向对象技术与方法包括面向对象分析、面向对象设计、面向对象编程、面向对象测试和面向对象维护5个阶段。   面向对象设计(OOD, Objected Oriented Design)并不是指用一种具体语言去直接编写代码,而是建立在前期的面向对象分析建模基础上,主要考虑“如何实现”问题,焦点从问题空间转到解空间,着重完成各种不同层次的模块设计。但是有一点与传统设计有很大区别,面向对象设计和分析没有明显的分界线,二者采用相同的符号表示,它们往往反复迭代地进行。设计对分析模型进行调整并补充与实现有关的部分,形成面向对象设计模型。   面向对象设计过程    系统设计   系统设计确定实现系统的策略和目标系统的高层结构,要将系统分解为若干子系统,在定义和设计子系统时应使其具有良好的接口,通过接口和系统的其余部分通信。主要步骤有:划分子系统,确定需要并发运行的子系统并分配处理器,描述子系统之间的通信,确定系统资源的管理和控制,确定人机交互构件,选择实现数据管理和任务管理的基本策略。   2.对象设计   面向对象设计阶段是扩充、完善和细化对象模型的过程,设计类中的服务、实现服务的算法是面向对象设计的重要任务,还要设计类的关联、借口形式及进行设计的优化。一般步骤是:对象描述,设计类中的服务,设计类的关联,链属性的实现,设计的优化。   领域对象设计   OOD阶段的一个重要内容是实现角度对领域模型做补充或修改。例如,增添、合并或分解类对象,调整继承关系等等。领域对象设计一般包括:调整需求,复用已有的组建,引入父类、分组管理领域类,增添一般化类以建立协议,调整OOA模型,设计复审。   面向对象设计的原则    单一职责原则   就一个类而言,应该仅有一个引起它的变化的原因。最有效类的职责简单而且集中,避免相同的职责分散到不同的类之中,避免一个类承担过多的职责减少类之间的耦合当需求变化时,只修改一个地方。   3.开放封闭原则   包含两个要点:一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。同一种可变性的不同表象意味着同一个继承等级结构中的具体子类。换言之,指当需求改变时设计人员扩展模块增加新功能,而不需要改动原来的代码。   替换原则 LSP   LSP是主要针对继承的设计原则,所有派生类的行为功能必须和客户程序对其基类所期望的保持一致。简单的说,如果一个软件实体使用的是基类的话那么也一定适用于子类,但反过来的代换不成立。   3.依赖倒置原则DIP   IDP原则规定:1)高层模块不应依赖于底层模块,两者都应该依赖于抽象;2)抽象不应该依赖于细节,细节应该依赖于抽象。   3.接口隔离原则——ISP   从客户的角度来说:一个类对另外一个类的依赖性应当是建立在最小的接口上的。如果客户端只需要某一些方法的话,那么就应当向客户端提供这些需要的方法,而不要提供不需要的方法。提供接口意味着向客户端承诺,过多的承诺会给系统的维护造成不必要的负担。   面向对象设计的软件    设计软件概述   20世纪80年代以来,出现了几十种支持软件开发的面向对象方法。其中,Booch, Coad/Yourdon、OMT和Jacobson的方法在面向对象软件开发界得到了广

文档评论(0)

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

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

1亿VIP精品文档

相关文档