Известно, что основной задачей первых трех десятилетий компьютерной эры являлось развитие аппаратных



Pdf көрінісі
бет72/78
Дата30.09.2024
өлшемі1,76 Mb.
#146202
түріЛекция
1   ...   68   69   70   71   72   73   74   75   ...   78
Байланысты:
материалы ТРСПО 2024

 
Инкапсуляция 
Вспомним, что инкапсуляция — упаковка (связывание) совокупности элементов. Для классических ПС примерами 
низкоуровневой инкапсуляции являются записи и массивы. Механизмом инкапсуляции среднего уровня являются 
подпрограммы (процедуры, функции). 
В объектно-ориентированных системах инкапсулируются обязанности класса, представляемые его свойствами (а для 
агрегатов — и свойствами других классов), операциями и состояниями. 
Для метрик учет инкапсуляции приводит к смещению фокуса измерений с одного модуля на группу свойств и 
обрабатывающих модулей (операций). Кроме того, инкапсуляция переводит измерения на более высокий уровень абстракции 
(пример — метрика «количество операций на класс»). Напротив, классические метрики ориентированы на низкий уровень — 
количество булевых условий (цикломатическая сложность) и количество строк программы. 
 
Информационная закрытость 
Информационная закрытость делает невидимыми операционные детали программного компонента. Другим компонентам 
доступна только необходимая информация. 
Качественные объектно-ориентированные системы поддерживают высокий уровень информационной закрытости. Таким 
образом, метрики, измеряющие степень достигнутой закрытости, тем самым отображают качество объектно-
ориентированного проекта. 
 
Наследование 
Наследование — механизм, обеспечивающий тиражирование обязанностей одного класса в другие классы. Наследование 
распространяется через все уровни иерархии классов. Стандартные ПС не поддерживают эту характеристику. 
Поскольку наследование — основная характеристика объектно-ориентированных систем, на ней фокусируются многие 
объектно-ориентированные метрики (количество детей — потомков класса, количество родителей, высота класса в иерархии 
наследования). 
 
Абстракция 
Абстракция — это механизм, который позволяет проектировщику выделять главное в программном компоненте (как 
свойства, так и операции) без учета второстепенных деталей. По мере перемещения на более высокие уровни абстракции мы 
игнорируем все большее количество деталей, обеспечивая все более общее представление понятия или элемента. По мере 
перемещения на более низкие уровни абстракции мы вводим все большее количество деталей, обеспечивая более удачное 


представление понятия или элемента. 
Класс — это абстракция, которая может быть представлена на различных уровнях детализации и различными способами 
(например, как список операций, последовательность состояний, последовательности взаимодействий). Поэтому объектно-
ориентированные метрики должны представлять абстракции в терминах измерений класса. Примеры: количество экземпляров 
класса в приложении, количество родовых классов на приложение, отношение количества родовых к количеству неродовых 
классов. 


Достарыңызбен бөлісу:
1   ...   68   69   70   71   72   73   74   75   ...   78




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет