
- •Проектирование асоиу в современных условиях
- •Принципы создания асоиу
- •Разработчик ас в современной системе разделения труда.
- •Особенности рынка асоиу и программного обеспечения.
- •Асоиу как объект проектирования
- •Аспекты представления асоиу. Функциональное представление асоиу.
- •Аспекты представления асоиу. Структурное представление асоиу.
- •Аспекты представления асоиу. Компонентное представление асоиу.
- •Проектирование асоиу и программного обеспечения как сложной системы. Понятие простых и сложных систем, признаки сложной системы. Способы борьбы со сложностью.
- •Методы проектирования программного продукта как сложной системы: структурный, объектный, потоковый.
- •Описание бизнес-процессов. Концепция. Форматы графических схем бизнес-процессов.
- •Модели объекта автоматизации. Методика функционального проектирования idef0 (Integrated deFinition 0).
- •Моделирование бизнес-процессов спецификация требований на основе структурного подхода
- •Модели объекта автоматизации. Методика информационного проектирования idef3.
- •Модели объекта автоматизации. Методика dfd. Примеры диаграмм.
- •Автоматизация проектирования. Case – системы bPwin. Примеры диаграмм
- •Автоматизация проектирования. Case – системы eRwin. Примеры диаграмм.
- •Организация процесса конструирования программного обеспечения ас.
- •Понятие метода и технологии конструирования.
- •Классический жизненный цикл программных систем. Макетирование.
- •Инкрементная модель стратегии конструирования
- •Спиральная модель.
- •Тяжеловесные и облегченные процессы. Xp-процессы.
- •Унифицированный процесс проектирования по асоиу
- •Моделирование бизнес-процессов спецификация требований на основе объектно-ориентированного подхода. Методика rup.
- •1.Определение требований
- •2.Анализ
- •3.Проектирование
- •4.Реализация
- •5.Тестирование
- •Унифицированный язык моделирования. Предметы, отношения и диаграммы в uml.
- •Руководство программным проектом
- •Процессы руководства проектом.
- •Измерения, меры и метрики. Размерно-ориентированные метрики.
- •Измерения, меры и метрики. Функционально-ориентированные метрики.
- •Измерения, меры и метрики. Метрики объектно-ориентированных программных систем.
- •Набор метрик Чидамбера и Кемерера
- •Использование метрик Чидамбера-Кемерера
- •Оценка проекта на основе loc и fp метрик.
- •Оценка проекта на основе loc и fp метрик.
- •Стандартизация проектирования ас и программного обеспечения
- •Общие понятия стандартизации. Международные и национальные организации, разрабатывающие стандарты.
- •Национальные организации, разрабатывающие стандарты
- •Нормативные документы по стандартизации и виды стандартов
- •Стандарты в области программного обеспечения ас
- •Стандарты комплекса гост р 34. Стадии и этапы проектирования ас, определяемые стандартом гост 34.602.
- •Стандарты комплекса гост р 34. Содержание технического задания на создание ас, гост 34.601.
- •Процессы жизненного цикла программного средства, определяемые в стандарте гост p исо/мэк 12207.
- •Фазы разработки и внедрения асоиу.
- •Фаза «Обоснование»
- •Фаза «Создание»
- •Реализация автоматизированной системы
- •Тестирование программного продукта
- •Основные понятия и принципы тестирования, тестирование «белого» и «черного» ящиков
- •Тестирование «черного ящика»
- •Тестирование «белого ящика»
- •Особенности тестирования «белого ящика»
- •Тестирования базового пути. Цикломатическая сложность программного обеспечения.
- •Потоковый граф
- •Цикломатическая сложность
- •Тестирования условий. Тестирования циклов Способы тестирования условий
- •Тестирование ветвей и операторов отношений
- •Способ тестирования потоков данных
- •Тестирование циклов
- •Простые циклы
- •Вложенные циклы
- •Объединенные циклы
- •Неструктурированные циклы
- •Особенности объектно-ориентированного тестирования по.
- •Изменение методики при объектно-ориентированном тестировании
- •Тестирование объектно-ориентированной интеграции
- •Объектно-ориентированное тестирование правильности
- •Управление качеством ас
- •Процесс управления качеством. Обеспечение и планирование качества.
- •Процесс управления качеством
- •Планирование качества
- •Контроль качества. Измерение показателей программных систем
- •Контроль качества
- •Измерение показателей по
- •Стандарт исо/мэк 15504. Модель зрелости конструирования программных систем. (смм).
- •Модели качества процессов конструирования
- •V. Высокая оптимизация/Optimizing
- •IV. Управляемость/Managed
- •III. Начало оптимизации (Определенность) /Defined
- •II. Контроль/Repeatable
- •I. Начальный уровень (хаос)/Initial
- •Гост исо/мэк 12119-2000. Требования к качеству пакетов программ.
- •1 Область применения
- •3 Требования к качеству
- •Описание продукта
- •3.1.1 Общие требования к содержанию
- •3.1.2 Обозначения и указания
- •3.1.4 Формулировки надежности
- •3.1.5 Формулировки практичности
- •3.2 Документация пользователя
- •3.3 Программы и данные
- •Гост исо/мэк 12119-2000. Указания по тестированию пакетов программ.
- •4 Указания по тестированию
- •4.1 Необходимые условия для тестирования
- •4.2 Работы по тестированию
- •4.3 Протоколы тестирования
- •4.4 Отчет о тестировании
- •4.5 Дополнительное тестирование
- •Документация автоматизированной системы
- •Предпроектная документация. Материалы обследования объекта автоматизации. Техническое задание. Договорная документация.
- •Проектная документация.
- •Рабочая документация.
- •Эксплуатационная документация
- •Организационно-распорядительная документация. Оформление документации.
- •Интегрированная система управления производством класса erp (Enterprise Recourse Planning).
- •Концепция erp II – Enterprise Resource and Relationship Processing (Управление внутренними ресурсами и внешними связями предприятия)
Набор метрик Чидамбера и Кемерера
В 1994 году С. Чидамбер и К. Кемерер (Chidamber и Кетегег) предложили шесть проектных метрик, ориентированных на классы. Набор Чидамбера-Кемерера наиболее часто цитируется в программной индустрии и научных исследованиях. Рассмотрим каждую из метрик набора.
Метрика 1: Взвешенные методы на класс WMC (Weighted Methods Per Class)
Допустим, что в классе С определены п методов со сложностью с1...,c2,..., сn. Для оценки сложности может быть выбрана любая метрика сложности (например, цикломатическая сложность). Главное — нормализовать эту метрику так, чтобы номинальная сложность для метода принимала значение 1. В этом случае
Количество методов и их сложность являются индикатором затрат на реализацию и тестирование классов. Кроме того, чем больше методов, тем сложнее дерево наследования (все подклассы наследуют методы их родителей). С ростом количества методов в классе его применение становится все более специфическим, тем самым ограничивается возможность многократного использования. По этим причинам метрика WMC должна иметь разумно низкое значение.
Метрика 2: Высота дерева наследования DIT (Depth of Inheritance Tree)
DIT определяется как максимальная длина пути от листа до корня дерева наследования классов. Для показанной на рис. 14.3 иерархии классов метрика DIT равна 3.
Рис. 14.3. Дерево наследования классов
Соответственно, для отдельного класса DIT, это длина максимального пути от данного класса до корневого класса в иерархии классов.
По мере роста DIT вероятно, что классы нижнего уровня будут наследовать много методов. Это приводит к трудностям в предсказании поведения класса. Высокая иерархия классов (большое значение DIT) приводит к большей сложности проекта, так как означает привлечение большего количества методов и классов.
Вместе с тем, большое значение DIT подразумевает, что многие методы могут использоваться многократно.
Метрика 3: Количество детей NOC (Number of children)
Подклассы, которые непосредственно подчинены суперклассу, называются его детьми. Значение NOC равно количеству детей, то есть количеству непосредственных наследников класса в иерархии классов. На рис. 14.3 класс С2 имеет двух детей — подклассы С21 и С22.
С увеличением NOC возрастает многократность использования, так как наследование — это форма повторного использования.
Однако при возрастании NOC ослабляется абстракция родительского класса. Это означает, что в действительности некоторые из детей уже не являются членами родительского класса и могут быть неправильно использованы.
Кроме того, количество детей характеризует потенциальное влияние класса на проект. По мере роста NOC возрастает количество тестов, необходимых для проверки каждого ребенка.
Метрики DIT и NOC — количественные характеристики формы и размера структуры классов. Хорошо структурированная объектно-ориентированная система чаще бывает организована как лес классов, чем как сверхвысокое дерево. По мнению Г. Буча, следует строить сбалансированные по высоте и ширине структуры наследования: обычно не выше, чем 7 ± 2 уровня, и не шире, чем 7 + 2 ветви [22].
Метрика 4: Сцепление между классами объектов СВО (Coupling between object classes)
СВО — это количество сотрудничеств, предусмотренных для класса, то есть количество классов, с которыми он соединен. Соединение означает, что методы данного класса используют методы или экземплярные переменные другого класса.
С ростом СВО многократность использования класса, вероятно, уменьшается. Очевидно, что чем больше независимость класса, тем легче его повторно использовать в другом приложении.
Высокое значение СВО усложняет модификацию и тестирование, которое следует за выполнением модификации. Понятно, что, чем больше количество сцеплений, тем выше чувствительность всего проекта к изменениям в отдельных его частях. Минимизация межобъектных сцеплений улучшает модульность и содействует инкапсуляции проекта.
СВО для каждого класса должно иметь разумно низкое значение. Это согласуется с рекомендациями по уменьшению сцепления стандартного программного обеспечения.
Метрика 5: Отклик для класса RFC (Response For a Class)
Введем вспомогательное определение. Множество отклика класса RS — это множество методов, которые могут выполняться в ответ на прибытие сообщений в объект этого класса. Формула для определения RS имеет вид
,
где {Ri} — множество методов, вызываемых методом г, {М} — множество всех методов в классе.
Метрика RFC равна количеству методов во множестве отклика, то есть равна мощности этого множества:
RFC – card{RS}.
Приведем другое определение метрики: RFC — это количество методов класса плюс количество методов других классов, вызываемых из данного класса.
Метрика RFC является мерой потенциального взаимодействия данного класса с другими классами, позволяет судить о динамике поведения соответствующего объекта в системе. Данная метрика характеризует динамическую составляющую внешних связей классов.
Если в ответ на сообщение может быть вызвано большое количество методов, то усложняются тестирование и отладка класса, так как от разработчика тестов требуется больший уровень понимания класса, растет длина тестовой последовательности.
С ростом RFC увеличивается сложность класса. Наихудшая величина отклика может использоваться при определении времени тестирования.
Метрика 6: Недостаток связности в методах LСOM (Lack of Cohesion in Methods)
Каждый метод внутри класса обращается к одному или нескольким свойствам (экземплярным переменным). Метрика LCOM показывает, насколько методы не связаны друг с другом через свойства (переменные). Если все методы обращаются к одинаковым свойствам, то LCOM = 0.
Введем обозначения:
НЕ СВЯЗАНЫ — количество пар методов без общих экземплярных переменных;
СВЯЗАНЫ — количество пар методов с общими экземплярными переменными.
Ij— набор экземплярных переменных, используемых методом Мj
Очевидно, что
НЕ
СВЯЗАНЫ = card
{Iij
| Ii
Ij
= 0},
СВЯЗАНЫ = card {Iij | Ii Ij 0}.
Тогда формула для вычисления недостатка связности в методах примет вид
Можно определить метрику по-другому: LCOM — это количество пар методов, не связанных по свойствам класса, минус количество пар методов, имеющих такую связь.