Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций - ТРПО.docx
Скачиваний:
183
Добавлен:
04.06.2015
Размер:
3.06 Mб
Скачать

Федеральное агентство по образованию РФ

ГОУ ВПО «Сибирский государственный

технологический университет»

Технология разработки

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Курс лекций

Красноярск 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