
- •Проектирование асоиу в современных условиях
- •Принципы создания асоиу
- •Разработчик ас в современной системе разделения труда.
- •Особенности рынка асоиу и программного обеспечения.
- •Асоиу как объект проектирования
- •Аспекты представления асоиу. Функциональное представление асоиу.
- •Аспекты представления асоиу. Структурное представление асоиу.
- •Аспекты представления асоиу. Компонентное представление асоиу.
- •Проектирование асоиу и программного обеспечения как сложной системы. Понятие простых и сложных систем, признаки сложной системы. Способы борьбы со сложностью.
- •Методы проектирования программного продукта как сложной системы: структурный, объектный, потоковый.
- •Описание бизнес-процессов. Концепция. Форматы графических схем бизнес-процессов.
- •Модели объекта автоматизации. Методика функционального проектирования 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 (Управление внутренними ресурсами и внешними связями предприятия)
Тестирования базового пути. Цикломатическая сложность программного обеспечения.
Тестирование базового пути — это способ, который основан на принципе «белого ящика». Автор этого способа — Том МакКейб (1976) [49].
Способ тестирования базового пути дает возможность:
получить оценку комплексной сложности программы;
использовать эту оценку для определения необходимого количества тестовых вариантов.
Тестовые варианты разрабатываются для проверки базового множества путей (маршрутов) в программе. Они гарантируют однократное выполнение каждого оператора программы при тестировании.
Потоковый граф
Для представления программы используется потоковый граф. Перечислим его особенности.
1. Граф строится отображением управляющей структуры программы. В ходе отображения закрывающие скобки условных операторов и операторов циклов (end if; end loop) рассматриваются как отдельные (фиктивные) операторы.
2. Узлы (вершины) потокового графа соответствуют линейным участкам программы, включают один или несколько операторов программы.
3. Дуги потокового графа отображают поток управления в программе (передачи управления между операторами). Дуга — это ориентированное ребро.
4. Различают операторные и предикатные узлы. Из операторного узла выходит одна дуга, а из предикатного — две дуги.
Предикатные узлы соответствуют простым условиям в программе. Составное условие программы отображается в несколько предикатных узлов. Составным называют условие, в котором используется одна или несколько булевых операций (OR, AND).
Например, фрагмент программы
if a OR b
then x
else у
end if;
вместо прямого отображения в потоковый граф вида, показанного на рис. 6.4, отображается в преобразованный потоковый граф (рис. 6.5).
Рис. 6.4. Прямое отображение в потоковый граф
Рис. 6.5. Преобразованный потоковый граф
6. Замкнутые области, образованные дугами и узлами, называют регионами.
7. Окружающая граф среда рассматривается как дополнительный регион. Например, показанный здесь граф имеет три региона — Rl, R2, R3.
Пример 1. Рассмотрим процедуру сжатия:
процедура сжатие
1 выполнять пока нет EOF
1 читать запись;
2 если запись пуста
3 то удалить запись:
4 иначе если поле а >= поля b
5 то удалить b;
6 иначе удалить а;
7а конец если;
7а конец если;
7b конец выполнять;
8 конец сжатие;
Рис. 6.6. Преобразованный потоковый граф процедуры сжатия
Она отображается в потоковый граф, представленный на рис. 6.6. Видим, что этот потоковый граф имеет четыре региона.
Цикломатическая сложность
Цикломатическая сложность — метрика ПО, которая обеспечивает количественную оценку логической сложности программы. В способе тестирования базового пути Цикломатическая сложность определяет:
количество независимых путей в базовом множестве программы;
верхнюю оценку количества тестов, которое гарантирует однократное выполнение всех операторов.
Независимым называется любой путь, который вводит новый оператор обработки или новое условие. В терминах потокового графа независимый путь должен содержать дугу, не входящую в ранее определенные пути.
ПРИМЕЧАНИЕ
Путь начинается в начальном узле, а заканчивается в конечном узле графа. Независимые пути формируются в порядке от самого короткого к самому длинному.
Перечислим независимые пути для потокового графа из примера 1:
Путь 1: 1-8.
Путь 2: 1-2-3-7а-7b-1-8.
Путь 3: 1-2-4-5-7а-7b-1-8.
Путь 4: 1-2-4-6-7а-7b-1-8.
Заметим, что каждый новый путь включает новую дугу.
Все независимые пути графа образуют базовое множество.
Свойства базового множества:
1) тесты, обеспечивающие его проверку, гарантируют:
однократное выполнение каждого оператора;
выполнение каждого условия по True-ветви и по False-ветви;
2) мощность базового множества равна цикломатической сложности потокового графа.
Значение 2-го свойства трудно переоценить — оно дает априорную оценку количества независимых путей, которое имеет смысл искать в графе.
Цикломатическая сложность вычисляется одним из трех способов:
1) цикломатическая сложность равна количеству регионов потокового графа;
2) цикломатическая сложность определяется по формуле
V(G)-E-N+2,
где Е — количество дуг, N — количество узлов потокового графа;
3) цикломатическая сложность формируется по выражению V(G) =p+ 1, где р — количество предикатных узлов в потоковом графе G.
Вычислим цикломатическую сложность графа из примера 1 каждым из трех способов:
1) потоковый граф имеет 4 региона;
2) V(G) = 11 дуг - 9 узлов + 2 = 4;
3) V(G) = 3 предикатных узла +1=4.
Таким образом, цикломатическая сложность потокового графа из примера 1 равна четырем.