
- •Технология разработки
- •Введение
- •Жизненный цикл программных систем План лекции
- •Введение
- •Программа, программная система. Программный продукт. Программная система как технологический объект.
- •Понятие жизненного цикла программных систем
- •Модели жизненного цикла программного обеспечения
- •Фазы жизненного цикла по
- •Заключение
- •Прикладной системный анализ при разработке по. Принципы структурного анализа. Процедура требований
- •План лекции
- •Введение
- •Проблема сложности ис
- •Группы средств моделирования систем
- •Заключение
- •Моделирование функций по. Нотация idef0. Case-средство bpWin
- •План лекции
- •Введение
- •ДиаграммыIdef0.
- •Виды связей вIdef0
- •Диаграмма дерева узлов
- •Диаграмма «Только для просмотра» (ForExpositionOnly–feo)
- •Case-средство bpWin
- •Заключение
- •Описание динамики системы. Нотация idef3
- •План лекции
- •Введение
- •Основные символыIdef3
- •Виды перекрестков вIdef3
- •Виды связей вIdef3
- •Пример диаграммыIdef3
- •Заключение
- •Постановка требований к данным. Словари данных. Моделирование данных в нотации idef1x. Case-средство erWin
- •План лекции
- •Введение
- •Словарь данных
- •Моделирование данных в нотацииIdef1x
- •Базовые понятияErd
- •Виды сущностей вIdef1x
- •Виды связей вIdef1x
- •Нормализация схемы данных
- •Заключение
- •Постановка требований к интерфейсу по. Понятие Usability.
- •План лекции
- •Введение
- •Эргономические цели и показатели качества программного продукта
- •Проблемы, возникающие на этапе разработки прототипа gui и варианты их решения
- •Принципы реализации пользовательского интерфейса
- •Заключение
- •Объектно-ориентированная методология проектирования по. Язык uml. Case-средство Rational Rose.
- •План лекции
- •Введение
- •Основные компоненты языка uml
- •Назначение языка uml
- •Общая структура языка uml
- •Пакеты в языке uml
- •Основные пакеты метамодели языка uml
- •Пакет Основные элементы
- •Пакет Элементы ядра
- •Пакет Вспомогательные элементы
- •Пакет Механизмы расширения
- •Пакет Типы данных
- •Пакет Элементы поведения
- •Пакет Общее поведение
- •Пакет Кооперации
- •Пакет Варианты использования
- •Пакет Автоматы
- •Пакет Общие механизмы
- •Пакет Управление моделями
- •Специфика описания метамодели языка uml
- •Особенности изображения диаграмм языка uml
- •Объектно-ориентированные case-средства (Rational Rose)
- •Структура и функции
- •Взаимодействие с другими средствами и организация групповой работы
- •Среда функционирования
- •Вариант использования
- •Интерфейсы
- •Примечания
- •Отношения на диаграмме вариантов использования
- •Отношение ассоциации
- •Отношение расширения
- •Отношение обобщения
- •Отношение включения
- •Пример построения диаграммы вариантов использования
- •Заключение
- •Проектирование внутренней структуры приложений при помощи диаграмм классов в uml
- •План лекции
- •Введение
- •Имя класса
- •Атрибуты класса
- •Операция
- •Отношения между классами
- •Отношение зависимости
- •Отношение ассоциации
- •Отношение агрегации
- •Отношение композиции
- •Отношение обобщения
- •Интерфейсы .
- •Объекты
- •Шаблоны или параметризованные классы
- •Заключение
- •Проектирование динамики приложений при помощи диаграмм переходов состояний, диаграмм последовательности и диаграмм взаимодействия в uml
- •План лекции
- •Введение
- •Автоматы
- •Состояние
- •Имя состояния
- •Список внутренних действий
- •Начальное состояние
- •Конечное состояние
- •Переход
- •Сторожевое условие
- •Выражение действия
- •Составное состояние и подсостояние
- •Последовательные подсостояния
- •Параллельные подсостояния
- •Историческое состояние
- •Сложные переходы
- •Переходы между параллельными состояниями
- •Переходы между составными состояниями
- •Синхронизирующие состояния
- •Заключительные рекомендации по построению диаграмм состояний
- •Диаграмма деятельности (activity diagram)
- •Состояние действия
- •Переходы
- •Дорожки
- •Объекты
- •Рекомендации по построению диаграмм деятельности
- •Диаграмма последовательности (sequence diagram)
- •Объекты
- •Линия жизни объекта
- •Фокус управления
- •Сообщения
- •Ветвление потока управления
- •Стереотипы сообщений
- •Временные ограничения на диаграммах последовательности
- •Комментарии или примечания
- •Пример построения диаграммы последовательности
- •Заключение
- •Управление требованиями к программному продукту. Case-средство Requisite Pro.
- •План лекции
- •Введение
- •Нормативная основа
- •Термины, сокращения и определения
- •Основные положения
- •Цели управления требованиями
- •Участники управления требованиями
- •Политика в области управления требованиями
- •Обеспечение процессов управления требований
- •Распределение ответственности
- •Аналитик
- •Менеджер проекта
- •Тестировщик
- •Проектировщик
- •Разработчик
- •Документирование
- •Обеспечение ресурсами
- •Обучение
- •Действия по управлению требованиями
- •Анализ требований
- •Разработка материалов проекта на основе требований
- •Контроль изменений требований
- •Измерения
- •Показатель важности
- •Контроль со стороны руководителя проекта
- •Контроль со стороны гок
- •Стандарт оформления требований
- •Шаблон для разработки требований
- •Правила оформления требований
- •Структурирование требований
- •Показатели качества требований
- •Проверяемость
- •Модифицируемость
- •Прослеживаемость
- •Начало работы сRequisitePro
- •Создание и настройка проекта
- •Создание проекта
- •Создание типов требований
- •Определение атрибутов
- •Создание типов документов
- •Добавление требований
- •Требования в документах
- •RequisitePro Views
- •Обсуждения
- •Заключение
- •Тестирование приложений. Функциональное тестирование, нагрузочное тестирование. Case-средстваRational Functional Tester,Rational Performance Tester.
- •План лекции
- •Введение
- •Дестабилизирующие факторы и методы обеспечения высокого качества функционирования по
- •Использование среды автоматизированного тестированияPlatinumTestBytes
- •Методы обеспечения качества и надежности программных средств
- •Использование case для повышения качества по
- •Влияние стандартов открытых систем на качество по
- •Повышение качества по путем тестирования
- •Основные особенности процесса тестирования по
- •Организационные особенности тестирования
- •Сертификация по
- •Организация и планирование тестирования для обеспечения качества по
- •Важнейшие разделы iso 9003
- •Общие положения
- •Документирование системы качества
- •Программа качества
- •Внутренние проверки системы качества
- •Корректирующие действия
- •Заключение
- •Комплексная интеграция bpWin, erWin и Paradigm Plus.
- •План лекции
- •Введение
- •Соответствие объектов моделей процессов и моделей данных
- •Экспорт между моделью данных и моделью процессов
- •Paradigm Plus: двусторонняя связь с eRwin
- •Создание физической модели данных вErWin
- •Уровни физической модели
- •Правила валидации и значения по умолчанию
- •Индексы
- •Триггеры и хранимые процедуры
- •Значения ri, используемые erWin для различных типов связей
- •Заключение
- •Стандарты, регламентирующие разработку по
- •План лекции
- •Введение
- •Iso 15504 spice
- •Серия стандартов гост 34-ххх «Информационная технология»
- •Группы процессов
- •Взаимосвязи процессов
- •Процессы инициации
- •Результаты
- •Исходная информация
- •Шаги задачи
- •Методика и подход
- •Выработать основные положения проекта
- •Определить область применения, цели и подход
- •Произвести оценку рисков
- •Получить подтверждение Заказчика и Исполнителя
- •Роли и ответственность
- •Заключение
- •Рабочий план
- •План лекции
- •Введение
- •Основные процессы планирования
- •Вспомогательные процессы планирования
- •Документ «Рабочий план»
- •По работам
- •По исполнителям
- •Диаграмма Гантта по проекту
- •Процессы управления
- •Основные процессы управления
- •Вспомогательные процессы управления
- •Основные процессы анализа
- •Вспомогательные процессы анализа
- •Заключение Заключение
- •Контрольные вопросы
- •Библиографический список
Федеральное агентство по образованию РФ
ГОУ ВПО «Сибирский государственный
технологический университет»
Технология разработки
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Курс лекций
Красноярск 2006
Федеральное агентство по образованию РФ
ГОУ ВПО «Сибирский государственный
технологический университет»
ТЕХНОЛОГИЯ РАЗРАБОТКИ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Курс лекций
Для студентов направления 552800,
специальности 220400 всех форм обучения.
Красноярск 2006
Технология разработки программного обеспечения: Курс лекций для студентов направления 552800, специальности 220400 всех форм обучения/ сост. Доррер М.Г. – Красноярск: СибГТУ, - 2006, 97 с.
Курс лекций предназначен для приобретения теоретических навыков в применении средств, позволяющих разрабатывать программные продукты на современном технологическом уровне, а также ориентироваться в CASE-средствах и системах управления проектами. Курс предусматривает знакомство сCASE-средствами, их теоретическими основами и принципами использования.
Рекомендуется студентам, специализирующимся в области разработки программного обеспечения.
Утверждён на заседании кафедры системотехники 16.02.2006 г., протокол №4.
Рекомендован к изданию методическим советом факультета ФАИТ 09.03.2006, протокол №3.
© ГОУ ВПО «Сибирский государственный технологический университет», 2006.
© М.Г. Доррер, 2006
Содержание
Введение 11
Лекция 1Жизненный цикл программных систем 13
План лекции 13
1.1Введение 13
1.2Программа, программная система. Программный продукт. Программная система как технологический объект. 13
1.3Понятие жизненного цикла программных систем 15
1.4Модели жизненного цикла программного обеспечения 15
1.5Фазы жизненного цикла ПО 18
1.6Заключение 19
Лекция 2Прикладной системный анализ при разработке ПО. Принципы структурного анализа. Процедура требований 20
2.1План лекции 20
2.2Введение 20
2.3Проблема сложности ИС 22
2.4Группы средств моделирования систем 23
2.5Заключение 27
Лекция 3Моделирование функций ПО. Нотация IDEF0. CASE-средство BPWin 28
3.1План лекции 28
3.2Введение 28
3.3Диаграммы IDEF0. 30
3.3.1Виды связей в IDEF0 32
3.3.2Диаграмма дерева узлов 35
3.3.3Диаграмма «Только для просмотра» (For Exposition Only – FEO) 36
3.4CASE-средство BPWin 36
3.5Заключение 37
Лекция 4Описание динамики системы. Нотация IDEF3 38
4.1План лекции 38
4.2Введение 38
4.3Основные символы IDEF3 38
4.4Виды перекрестков в IDEF3 39
4.5Виды связей в IDEF3 41
4.6Пример диаграммы IDEF3 41
4.7Заключение 42
Лекция 5Постановка требований к данным. Словари данных. Моделирование данных в нотации IDEF1x. CASE-средство ERWin 43
5.1План лекции 43
5.2Введение 43
5.3Словарь данных 43
5.4Моделирование данных в нотации IDEF1x 44
5.4.1Базовые понятия ERD 44
5.4.2Виды сущностей в IDEF1x 45
5.4.3Виды связей в IDEF1X 46
5.4.4Нормализация схемы данных 48
5.5Заключение 54
Лекция 6Постановка требований к интерфейсу ПО. Понятие Usability. 55
6.1План лекции 55
6.2Введение 55
6.3Эргономические цели и показатели качества программного продукта 55
6.4Проблемы, возникающие на этапе разработки прототипа GUI и варианты их решения 58
6.5Принципы реализации пользовательского интерфейса 60
6.6Заключение 60
Лекция 7Объектно-ориентированная методология проектирования ПО. Язык UML. CASE-средство Rational Rose. 61
7.1План лекции 61
7.2Введение 61
7.3Основные компоненты языка UML 64
7.4Назначение языка UML 66
7.5Общая структура языка UML 69
7.6Пакеты в языке UML 72
7.7Основные пакеты метамодели языка UML 74
7.7.1Пакет Основные элементы 75
7.7.2Пакет Элементы ядра 75
7.7.3Пакет Вспомогательные элементы 76
7.7.4Пакет Механизмы расширения 76
7.7.5Пакет Типы данных 77
7.7.6Пакет Элементы поведения 78
7.7.7Пакет Общее поведение 79
7.7.8Пакет Кооперации 79
7.7.9Пакет Варианты использования 79
7.7.10Пакет Автоматы 80
7.7.11Пакет Общие механизмы 81
7.7.12Пакет Управление моделями 81
7.8Специфика описания метамодели языка UML 83
7.9Особенности изображения диаграмм языка UML 87
7.10Объектно-ориентированные CASE-средства (Rational Rose) 91
7.10.1Структура и функции 92
7.10.2Взаимодействие с другими средствами и организация групповой работы 93
7.10.3Среда функционирования 93
7.11Заключение 93
Лекция 8Описание функциональных требований к ПО при помощи диаграмм вариантов использования в UML 94
8.1План лекции 94
8.2Введение 94
8.3Вариант использования 95
8.4Актеры 97
8.5Интерфейсы 98
8.6Примечания 100
8.7Отношения на диаграмме вариантов использования 101
8.7.1Отношение ассоциации 102
8.7.2Отношение расширения 104
8.7.3Отношение обобщения 105
8.7.4Отношение включения 107
8.8Пример построения диаграммы вариантов использования 108
8.9 Заключение 112
Лекция 9Проектирование внутренней структуры приложений при помощи диаграмм классов в UML 116
9.1План лекции 116
9.2Введение 116
9.3Класс 117
9.4Имя класса 118
9.5Атрибуты класса 119
9.6Операция 123
9.7Отношения между классами 126
9.7.1Отношение зависимости 126
9.7.2Отношение ассоциации 128
9.7.3Отношение агрегации 130
9.7.4Отношение композиции 132
9.7.5Отношение обобщения 133
9.8Интерфейсы . 136
9.9Объекты 137
9.10Шаблоны или параметризованные классы 137
9.11Заключение 139
Лекция 10Проектирование динамики приложений при помощи диаграмм переходов состояний, диаграмм последовательности и диаграмм взаимодействия в UML 141
10.1План лекции 141
10.2Введение 141
10.2.1Автоматы 142
10.2.2Состояние 145
10.2.3Переход 148
10.2.4Сторожевое условие 150
10.2.5Выражение действия 152
10.2.6Составное состояние и подсостояние 152
10.2.7Последовательные подсостояния 153
10.2.8Параллельные подсостояния 154
10.2.9Историческое состояние 156
10.2.10Сложные переходы 157
10.2.11Переходы между параллельными состояниями 157
10.2.12Переходы между составными состояниями 158
10.2.13Синхронизирующие состояния 158
10.2.14Заключительные рекомендации по построению диаграмм состояний 161
10.3Диаграмма деятельности (activity diagram) 162
10.3.1Состояние действия 163
10.3.2Переходы 164
10.3.3Дорожки 169
10.3.4Объекты 170
10.3.5Рекомендации по построению диаграмм деятельности 173
10.4Диаграмма последовательности (sequence diagram) 175
10.4.1Объекты 176
10.4.2Линия жизни объекта 177
10.4.3Фокус управления 178
10.4.4Сообщения 179
10.4.5Ветвление потока управления 181
10.4.6Стереотипы сообщений 183
10.4.7Временные ограничения на диаграммах последовательности 184
10.4.8Комментарии или примечания 185
10.4.9Пример построения диаграммы последовательности 185
10.4.10Заключение 187
Лекция 11Управление требованиями к программному продукту. CASE-средство Requisite Pro. 189
11.1План лекции 189
11.2Введение 189
11.3Нормативная основа 189
11.4Термины, сокращения и определения 189
11.5Основные положения 191
11.5.1Цели управления требованиями 191
11.5.2Участники управления требованиями 191
11.5.3Политика в области управления требованиями 192
11.6Обеспечение процессов управления требований 193
11.6.1Распределение ответственности 193
11.6.2Документирование 195
11.6.3Обеспечение ресурсами 196
11.6.4Обучение 196
11.7Действия по управлению требованиями 196
11.7.1Анализ требований 196
11.7.2Разработка материалов проекта на основе требований 197
11.7.3Контроль изменений требований 197
11.8Измерения 198
11.8.1Показатель важности 198
11.8.2Стабильность 198
11.8.3Статус требований 198
11.8.4Степень выполнения требований 198
11.8.5Трудоемкость 198
11.9Верификация 199
11.9.1Контроль со стороны руководства 199
11.9.2Контроль со стороны руководителя проекта 199
11.9.3Контроль со стороны ГОК 199
11.10Стандарт оформления требований 200
11.10.1Шаблон для разработки требований 200
11.10.2Правила оформления требований 200
11.10.3Структурирование требований 200
11.11Показатели качества требований 201
11.11.1Корректность 201
11.11.2Однозначность 201
11.11.3Полнота 201
11.11.4Совместимость 201
11.11.5Ранжированность по важности и стабильности 201
11.11.6Проверяемость 202
11.11.7Модифицируемость 202
11.11.8Прослеживаемость 202
11.12Начало работы с RequisitePro 203
11.13Создание и настройка проекта 203
11.13.1Создание проекта 203
11.13.2Создание типов требований 206
11.13.3Определение атрибутов 207
11.13.4Создание типов документов 210
11.14Добавление требований 211
11.14.1Требования в документах 211
11.14.2RequisitePro Views 214
11.15Обсуждения 216
11.16Заключение 218
Лекция 12Тестирование приложений. Функциональное тестирование, нагрузочное тестирование. CASE-средства Rational Functional Tester, Rational Performance Tester. 219
12.1План лекции 219
12.2Введение 219
12.3 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО 221
12.3.1Использование среды автоматизированного тестирования Platinum TESTBytes 222
12.3.2 Методы обеспечения качества и надежности программных средств 222
12.3.3 Использование CASE для повышения качества ПО 223
12.3.4Влияние стандартов открытых систем на качество ПО 224
12.3.5Повышение качества ПО путем тестирования 224
12.4 Основные особенности процесса тестирования ПО 225
12.4.1 Организационные особенности тестирования 225
12.4.2 Сертификация ПО 225
12.4.3Организация и планирование тестирования для обеспечения качества ПО 226
12.5 Важнейшие разделы ISO 9003 228
12.5.1 Общие положения 228
12.5.2 Документирование системы качества 229
12.5.3 Программа качества 229
12.5.4 Внутренние проверки системы качества 229
12.5.5 Корректирующие действия 229
12.6Заключение 229
Лекция 13Комплексная интеграция BPWin, ERWin и Paradigm Plus. 230
13.1План лекции 230
13.2Введение 230
13.3Соответствие объектов моделей процессов и моделей данных 230
13.4Экспорт между моделью данных и моделью процессов 231
13.5Paradigm Plus: двусторонняя связь с ERwin 232
13.6Создание физической модели данных в ERWin 233
13.6.1Уровни физической модели 233
13.6.2 Правила валидации и значения по умолчанию 234
13.6.3 Индексы 236
13.6.4 Триггеры и хранимые процедуры 236
13.6.5 Значения RI, используемые ERWin для различных типов связей 238
13.7Заключение 239
Лекция 14Стандарты, регламентирующие разработку ПО 240
14.1План лекции 240
14.2Введение 240
14.3ISO 15504 SPICE 244
14.4 Серия стандартов ГОСТ 34-ХХХ «Информационная технология» 247
14.4.1ГОСТ 34.601-90. Информационная технология. Автоматизированные системы. Стадии создания. 247
14.4.2ГОСТ 34.602-89. Информационная технология. Техническое задание на создание автоматизированной системы 247
14.4.3ГОСТ 34.603-92. Информационная технология. Виды испытаний автоматизированных систем 247
14.5Заключение 247
Лекция 15Определение концепции проекта 248
15.1План лекции 248
15.2Введение 248
15.3Процессы управления проектами 248
15.4 Процессы проекта 248
15.5 Группы процессов 248
15.6 Взаимосвязи процессов 249
15.7 Процессы инициации 250
15.8Результаты 250
15.9Исходная информация 250
15.10Шаги задачи 251
15.11Методика и подход 251
15.11.1Выработать основные положения проекта 251
15.11.2Определить область применения, цели и подход 251
15.11.3Произвести оценку рисков 252
15.12Получить подтверждение Заказчика и Исполнителя 253
15.13Роли и ответственность 253
15.14Заключение 253
Лекция 16Рабочий план 254
16.1План лекции 254
16.2Введение 254
16.3Основные процессы планирования 254
16.4Вспомогательные процессы планирования 255
16.5Документ «Рабочий план» 256
16.5.1По работам 256
16.5.2По исполнителям 258
16.5.3Диаграмма Гантта по проекту 258
16.5.4График движения денежных средств по проекту 258
16.6Полномочия в изменении плана 259
16.7Заключение 259
Лекция 17Организация выполнения работ в проектах разработки ПО. Процедура доведения задач до исполнителей. 260
17.1План лекции 260
17.2Введение 260
17.3Процессы управления 260
17.3.1 Основные процессы управления 261
17.3.2 Вспомогательные процессы управления 261
17.4 Процессы завершения 261
17.5Заключение 261
Лекция 18Процессы анализа 262
18.1План лекции 262
18.2Введение 262
18.3Основные процессы анализа 262
18.4 Вспомогательные процессы анализа 263
18.5Заключение 263
Заключение 264
Контрольные вопросы 265
Библиографический список 271