📜  软件工程中的面向对象度量

📅  最后修改于: 2021-08-29 11:35:22             🧑  作者: Mango

这些用于确定一个人的成功或失败,也可以量化整个过程中软件的改进。这些度量可用于加强良好的OO编程技术,从而使代码更可靠。面向对象的软件工程度量是用于表征以下特征的度量单位:

  • 面向对象的软件工程产品,例如设计源代码和测试用例。
  • 面向对象的软件工程过程,例如设计和编码。
  • 面向对象的软件工程人员,例如单个设计师的生产力。

为何面向对象的软件工程指标不同?

OOSE之所以有所不同,是因为以下原因,如下图所示:

本地化:这是将项目放置在彼此物理上接近的过程。

  • 功能分解过程将信息定位在功能周围。
  • 数据驱动的方法将数据周围的信息本地化。
  • 面向对象的方法将信息定位在对象周围。

顾名思义,在面向对象的软件中,本地化是基于对象的。这表示:

  • 尽管我们可能谈到对象提供的功能,但是至少我们的一些指标识别和收集工作必须将“对象”识别为软件的基本单元。
  • 在对象系统中,功能和对象之间的本地化不是一对一的关系。例如,一个函数有许多对象,而一个对象也可以具有许多功能。

封装:它是一组项目的包装。

  • 封装的低级示例包括记录和数组。
  • 子程序是封装的中级机制。
  • 对于面向对象的编程语言,例如C++,类,Ada的程序包和Modula 3的模块,仍然存在很长的封装机制。
  • 对象封装:
    • 状态知识
    • 广告功能
    • 其他物件
    • 例外情况
    • 常数
    • 概念

信息隐藏:这是对象的隐藏或隐藏。

  • 我们仅显示实现目标所需的信息。
  • 信息隐藏的程度从部分受限的可见性到完全不可见。
  • 封装和信息隐藏不是同一件事,例如,一个项目可以被封装,但仍然是完全可见的。

它在诸如对象耦合和信息隐藏程度之类的指标中起直接作用。

继承:一种机制,其中一个对象从一个或多个其他对象获取特征。

  • 一些面向对象的语言仅支持单继承。
  • 一些面向对象的语言仅支持多重继承。
  • 继承类型及其语义因语言而异。

有许多基于继承的面向对象软件工程指标,例如,

  • 儿童数量
  • 父母人数
  • 类层次结构嵌套级别

抽象:这是一种机制,在此机制中,我们仅关注概念的重要细节,而忽略了本质细节。

  • 这是一个相对的概念。
  • 也有不同的抽象类别,例如功能数据,过程和对象抽象。
  • 在对象抽象中,对象被视为高级实体。

类:关于“类”的定义,共有三种常用的视图。

  • 分类为切饼机:对于结构相同的商品,分类是图案,模板或蓝图。可以使用类创建的项目称为实例。
  • 将类作为实例工厂:基本上,类是既包含模式又基于该模式创建项目的机制的事物,实例就像使用类创建机制“制造”的单个项目一样。
  • 一个类是使用特定模式创建的所有项目的集合,即,该类是该模式的所有实例的集合。