这些用于确定一个人的成功或失败,也可以量化整个过程中软件的改进。这些度量可用于加强良好的OO编程技术,从而使代码更可靠。面向对象的软件工程度量是用于表征以下特征的度量单位:
- 面向对象的软件工程产品,例如设计源代码和测试用例。
- 面向对象的软件工程过程,例如设计和编码。
- 面向对象的软件工程人员,例如单个设计师的生产力。
为何面向对象的软件工程指标不同?
OOSE之所以有所不同,是因为以下原因,如下图所示:
本地化:这是将项目放置在彼此物理上接近的过程。
- 功能分解过程将信息定位在功能周围。
- 数据驱动的方法将数据周围的信息本地化。
- 面向对象的方法将信息定位在对象周围。
顾名思义,在面向对象的软件中,本地化是基于对象的。这表示:
- 尽管我们可能谈到对象提供的功能,但是至少我们的一些指标识别和收集工作必须将“对象”识别为软件的基本单元。
- 在对象系统中,功能和对象之间的本地化不是一对一的关系。例如,一个函数有许多对象,而一个对象也可以具有许多功能。
封装:它是一组项目的包装。
- 封装的低级示例包括记录和数组。
- 子程序是封装的中级机制。
- 对于面向对象的编程语言,例如C++,类,Ada的程序包和Modula 3的模块,仍然存在很长的封装机制。
- 对象封装:
- 状态知识
- 广告功能
- 其他物件
- 例外情况
- 常数
- 概念
信息隐藏:这是对象的隐藏或隐藏。
- 我们仅显示实现目标所需的信息。
- 信息隐藏的程度从部分受限的可见性到完全不可见。
- 封装和信息隐藏不是同一件事,例如,一个项目可以被封装,但仍然是完全可见的。
它在诸如对象耦合和信息隐藏程度之类的指标中起直接作用。
继承:一种机制,其中一个对象从一个或多个其他对象获取特征。
- 一些面向对象的语言仅支持单继承。
- 一些面向对象的语言仅支持多重继承。
- 继承类型及其语义因语言而异。
有许多基于继承的面向对象软件工程指标,例如,
- 儿童数量
- 父母人数
- 类层次结构嵌套级别
抽象:这是一种机制,在此机制中,我们仅关注概念的重要细节,而忽略了本质细节。
- 这是一个相对的概念。
- 也有不同的抽象类别,例如功能数据,过程和对象抽象。
- 在对象抽象中,对象被视为高级实体。
类:关于“类”的定义,共有三种常用的视图。
- 分类为切饼机:对于结构相同的商品,分类是图案,模板或蓝图。可以使用类创建的项目称为实例。
- 将类作为实例工厂:基本上,类是既包含模式又基于该模式创建项目的机制的事物,实例就像使用类创建机制“制造”的单个项目一样。
- 一个类是使用特定模式创建的所有项目的集合,即,该类是该模式的所有实例的集合。