谈软件工程中的面向对象软件设计_第1页
谈软件工程中的面向对象软件设计_第2页
谈软件工程中的面向对象软件设计_第3页
谈软件工程中的面向对象软件设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、谈软件工程中的面向对象软件设计谈软件工程中的面向对象软件设计摘要本文软件从工程学习的角度,概括的阐述了面向对象软件设计的特点、步骤、原那么等方面的内容。关键词面向对象;软件设计;D中图分类号TP311.5文献标识码A文章编号1674-6708(2022)22-0220-02论文联盟.Ll.Thebjet-rientedSftareDesigninSftareEngineeringSNGAilinAbstratFrtheviefsftareengineeringlearning,thispapergenerallyintrduetheharateristisfbjet-rientedsftare

2、design,anditsstepsandpriniples,et.Keyrdsbjet-riented;SftareDesign;D随着20世纪80年代末面向对象技术的兴起,传统设计方法不能满足现代软件工程的需要,学习软件工程必需要重视面向对象的软件设计。1面向对象设计概述面向对象(,bjetedriented)方法是1979年以后开展起来的,它是一种系统的软件方法学。有学者认为面向对象技术与方法包括面向对象分析、面向对象设计、面向对象编程、面向对象测试和面向对象维护5个阶段。面向对象设计(D,bjetedrientedDesign)并不是指用一种详细语言去直接编写代码,而是建立在前期的面向

3、对象分析建模根底上,主要考虑如何实现问题,焦点从问题空间转到解空间,着重完成各种不同层次的模块设计。但是有一点与传统设计有很大区别,面向对象设计和分析没有明显的分界限,二者采用一样的符号表示,它们往往反复迭代地进展。设计对分析模型进展调整并补充与实现有关的局部,形成面向对象设计模型。2面向对象设计过程2.1系统设计系统设计确定实现系统的策略和目的系统的高层构造,要将系统分解为假设干子系统,在定义和设计子系统时应使其具有良好的接口,通过接口和系统的其余局部通信。主要步骤有:划分子系统,确定需要并发运行的子系统并分配处理器,描绘子系统之间的通信,确定系统资源的管理和控制,确定人机交互构件,选择实现

4、数据管理和任务管理的根本策略。2.2对象设计面向对象设计阶段是扩大、完善和细化对象模型的过程,设计类中的效劳、实现效劳的算法是面向对象设计的重要任务,还要设计类的关联、借口形式及进展设计的优化。一般步骤是:对象描绘,设计类中的效劳,设计类的关联,链属性的实现,设计的优化。2.3领域对象设计D阶段的一个重要内容是实现角度对领域模型做补充或修改。例如,增添、合并或分解类对象,调整继承关系等等。领域对象设计一般包括:调整需求,复用已有的组建,引入父类、分组管理领域类,增添一般化类以建立协议,调整A模型,设计复审。3面向对象设计的原那么3.1单一职责原那么就一个类而言,应该仅有一个引起它的变化的原因。

5、最有效类的职责简单而且集中,防止一样的职责分散到不同的类之中,防止一个类承当过多的职责减少类之间的耦合当需求变化时,只修改一个地方。3.2开放封闭原那么包含两个要点:一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。同一种可变性的不同表象意味着同一个继承等级构造中的详细子类。换言之,指当需求改变时设计人员扩展模块增加新功能,而不需要改动原来的代码。3.3Liskv交换原那么LSPLSP是主要针对继承的设计原那么,所有派生类的行为功能必须和客户程序对其基类所期望的保持一致。简单的说,假如一个软件实体使用的是基类的话那么也一定适用于子类,但反过来的代换不成立。3.4依赖倒置原那么

6、DIPIDP原那么规定:1)高层模块不应依赖于底层模块,两者都应该依赖于抽象;2)抽象不应该依赖于细节,细节应该依赖于抽象。3.5接口隔离原那么ISP从客户的角度来说:一个类对另外一个类的依赖性应当是建立在最小的接口上的。假如客户端只需要某一些方法的话,那么就应当向客户端提供这些需要的方法,而不要提供不需要的方法。提供接口意味着向客户端承诺,过多的承诺会给系统的维护造成不必要的负担。4面向对象设计的软件4.1设计软件概述20世纪80年代以来,出现了几十种支持软件开发的面向对象方法。其中,Bh,ad/Yurdn、T和Jabsn的方法在面向对象软件开发界得到了广泛的认可。目前主要使用的是统一建模语

7、言UL(UnifieddelingLanguage)进展建模,该方法结合了Bh、T和Jabsn方法的优点,统一了符号体系,并从其它的方法和工程理论中吸收了许多经过实际检验的概念和技术。UL1.1版本于1997年被G组织接纳确定为基于面向对象技术的标准建模语言。4.2详细的设计模型第一,用例模型,它是从用户的角度描绘系统需求。一般先将用例按优先级分类,再区分用例在体系构造方面的风险大小,最后对用例所需的工作量进展估算。第二,静态模型,它是描绘系统的元素,即元素间的关系,定义了类、对象和它们之间的关系及组件模型,可以使用用例图、类图、包图、对象图、构件图、部署图等。第三,动态模型,它描绘系统随时间

8、的推移发生的行为,可以使用的UL图有状态图、顺序图、活动图、协作图。第四,实现模型,它包括构件图和部署图,它们描绘了系统实现时的一些特性。构件图显示代码本身的逻辑构造;部署图显示系统运行时的构造。5面向对象设计的评价论文联盟.Ll.我们在关注面向对象思想进展开发的易维护、质量高、效率高、易扩展优点的同时,也必须充分认识其缺乏,尤其是关于效率的问题。有研究者发现,成功的操作系统没有一个是使用面向对象语言开发的,成功的搜索引擎也是如此。由于比拟脱离底层,因此在一些嵌入式等跟硬件打交道较多的地方不太合适使用。因此,有评论认为在效率极其关键、或者处理超大规模数据的情况下,面向对象思想毫无用途,面向过程的开发才是最合适的。虽然面向对象设计原那么上不依赖于特定的实现环境,但是实现结果和实现本钱却在很大程度上取决于实现环境。因此,笔者认为直接支持面向对象设计范式的面向对象程序语言、开发环境及类库,对于面向对象实现来说是非常重要的,作为软件工程的学习、研究人员有必要熟悉一门面向对象程序语言。参考文献1史济民,等.软件工程原理、方法与应用.北京:高等教育出版社.2任红卫.面向对象技术与软件复用技术的关系J.电脑与信息,2022(5):77-78,81.3任胜兰.面向对象的A、D软件开发技术分析J.忻州师

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论