Разработка системы автоматизации документооборота


Разработка системы автоматизации документооборота - стр. 76


     1) логическая сложность;

     2) внутренняя гибкость;

     3) открытость (адаптируемость);

     4) толерантность (к изменениям входа системы);

     5) универсальность;

     6) удобство переноса;

     7) совместимость.

     В качестве меры логической сложности Джилб предложил число логических "двоичных принятий решений". Такая оценка может быть получена вручную или автоматически. Абсолютная логическая сложность задается числом нестандартных выходов из операторов, в которых происходит принятие решений. Джилб предполагает, что логическая сложность окажется значимым фактором для предсказания стоимости программы.

     Кроме этих, Джилб приводит еще большое количество иных метрик, но это длинное перечисление скорее будит воображение, чем приносит пользу. Работа Джилба демонстрирует новые возможности, однако реальное применение этих идей на практике дает обескураживающие результаты. Большинство характеристик очень трудно получить; сбивает с толку и то, что оценки сильно связаны, что затрудняет программисту предсказание влияния изменения программы на некоторую группу характеристик.

Оценка сложности Маккейба.

     Маккейб описывает оценку сложности с помощью теории графов и демонстрирует ее применение для управления, тестирования и контроля за сложностью программы. Следует оговорить, что в данном исследовании Маккейб под сложностью программы понимал ее логическую сложность. В его теории предполагается, что сложность не зависит от размера, а только от структуры выборов решений в программе.

     Маккейб предлагает математический метод, дающий количественные основания для модуляризации и позволяющий выявлять модули, которые будет трудно тестировать или обслуживать.

     Согласно его подходу вычисляется и контролируется число путей в программе. В математические предпосылки входит определение цикломатического числа V(G) для графа с n вершинами, e ребрами и p компонентами связности:

                           V(G) = e - n + p




Начало  Назад  Вперед