Objected-Oriented Analysis and Design (OOAD 面对对象的分析与设计)

来源:互联网 发布:每次人口普查的数据 编辑:程序博客网 时间:2024/06/04 20:13
软件的功能、规模及复杂性与日俱增,软件的复杂性达到了它的开发者难以控制的程度。这种情况导致了严重的后果:
  1. 软件可靠性下降
  2. 开发效率低下
  3. 维护极为困难
这使软件开发者陷入困境,人们称之为“软件危机”。
因此,为了解决软件危机,软件工程学就此诞生,即用工程学的方法进行软件的开发与维护,并对软件生产过程进行工程化的管理。软件工程有三要素:
  1. 方法:完成软件开发的各项任务的技术方法,为软件开发提供“如何做” 的技术
  2. 工具:为运用方法而提供的自动的或半自动的软件工程的支撑环境
  3. 过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤,如何将软件工程方法与软件工具相结合,合理、及时地进行软件开发
在面向对象技术中,建造整个软件系统的过程常常被称为面向对象的分析和设计(Object-OrientedAnalysis and Design,OOAD)。对于我们要开发的软件系统来说,OOAD解决了系统是什么(面向对象的系统分析,即OOA)以及如何做的问题(面向对象的系统设计,即OOD),OOP只是用编程语言去实现该系统。一般来说,OOAD工作一般由需求分析师、系统分析员、系统架构师来完成,而OOP则由程序员来完成。但是,对于程序员来说,掌握OOD技术,对于编写高质量的代码以及个人技术成长和职业规划来说,有特别重要的意义。
 
如何衡量软件设计质量

首要的标准
  • 满足软件的功能需求
  • 满足软件功能需求的设计并不一定就是好的设计。
好的设计
  • 可读性:软件的设计文档是否轻易被其他程序员理解。可读性差的设计会给大型软件的开发和维护过程带来严重的危害。
  • 可复用性:软件系统的架构、类、组件等单元能否很容易被本项目的其它部分或者其它项目复用。
  • 可扩展性:软件面对需求变化时,功能或性能扩展的难易程度。
  • 可维护性:软件维护(主要是指软件错误的修改、遗漏功能的添加等)的难易程度。
简而言之,好的设计应该符合“高内聚,低耦合”的特征。
内聚度:表示一个应用程序的单个单元所负责的任务数量和多样性。内聚与单个类或者单个方法单元相关
耦合度:表示类之间关系的紧密程度。

要做到“高内聚,低耦合”,就应该满足如下的一些设计原则:


















0 0
原创粉丝点击