面向对象的基本概念
面向对象的基本概念有对象、类、抽象、封装、继承、多态、接口、消息、组件、模式和复用等。
对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和对这组属性进行操作的一组服务构成。对象包含三个基本要素,分别是对象标识、对象状态和对象行为。
类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作或服务,它表现类动态的一面。
类和对象的关系。对象是类的实际例子。如果将对象比作房子,那么类就是房子的设计图纸。
抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。
封装是将相关的概念组成一个单元,然后通过一个名称来引用它。
继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的(attributes)和能力(operations),继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。
多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。
所谓接口就是对操作规范的说明。
消息(Message)是对象间的交互手段,其形式如下:
Message: [dest.op, para]
其中dest指目标对象Destination Object,op指操作Operation,Para指操作需要的参数Parameters。
组件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能)并提供了一组接口的实现方法。
模式是一条由三部分组成的规则,它表示了一个特定环境、一个问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题的解决方案。
软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。组件技术是软件复用实现的关键。
统一建模语言UML
统一建模语言(Unified Modeling Language,UML)是一个通用的可视化建模语言,它是面向对象分析和设计的一种标准化表示,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。它记录了对所构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。
UML具有如下的语言特征。
1) 不是一种可视化的程序设计语言,而是一种可视化的建模语言。
2) 是一种建模语言规范说明,是面向对象分析与设计的一种标准表示。
3) 不是过程,也不是方法,但允许任何一种过程和方法使用它。
4) 简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改。
5) 为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用。
6) 与最好的软件工程实践经验集成。
UML提供了9种主要的图来对待建系统进行建模:用例图、类图、对象图、构件图、部署图、状态图、序列图、协作图、活动图、
可视化建模
可视化建模(VISUAL MODELING)是利用围绕现实想法组织模型的一种思考问题的方法。
可视化建模就是以图形的方式描述所开发的系统的过程。可视化建模允许你提出一个复杂问题的必要细节,过滤不必要的细节。它也提供了一种从不同的视角观察被开发系统的机制。
面向对象系统分析和设计
面向对象的系统分析和设计是将面向对象的方法运用到软件工程的分析设计阶段。面向对象的系统分析和设计的主要目的是完成对某个特定应用论域(application domain)的分析和系统的建模。应完成的主要工作是描述系统中的对象、对象的属性和操作、对象的动态特性、对象间的构造关系和通信关系等,从而建立系统的静态结构和动态活动模型。
系统分析和设计应遵循的原则是:
1) 系统开发是面向客户的,应从客户的角度考虑。
2) 诸如系统开发生命周期之类的产品更新换代机构应该在所有的信息系统开发项目中建立起来。
3) 信息系统开发的过程并不是一个顺序的过程,它允许步骤的重叠和倒转等。
4) 如果系统的成功可能性受到很大限制时,应取消整个项目。
5) 文档材料是系统开发生命周期中重要的可递交成果,应加以重视。
使用面向对象技术进行软件开发的最佳实践——RUP
RUP是软件工程的过程。它提供了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算的前提下,确保满足虽终用户需求的高质量产品。
RUP是Rahonal公司开发和维护的过程产品。RUP提高了团队生产力。对于所有的关键开发活动,它为每个团队成员提供了使用准则、模板、工具指导来进行访问的知识基础。
RUP能对大部分开发过程提供自动化的工具支持。
RUP是可配置的过程。RUP既适用小的开发团队也适合大型开发组织。
RUP以适合于大范围项目和机构的方式捕捉了许多现代软件开发过程的最佳实践。
各省软考办 | ||||||||||