Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
yakunin_trpo.pdf
Скачиваний:
63
Добавлен:
07.12.2018
Размер:
2.5 Mб
Скачать

Электронный

учебно-методический комплекс

ТЕХНОЛОГИИ

РАЗРАБОТКИ

ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

Учебная программа дисциплины Учебное пособие Лабораторный практикум

Учебное пособие по курсовому проектированию Методические указания по самостоятельной работе Банк тестовых заданий в системе UniTest

Красноярск ИПК СФУ

2008

УДК 004.3 ББК 32.973

Я49

Электронный учебно-методический комплекс по дисциплине «Технологии разработки программного обеспечения» подготовлен в рамках инновационной образовательной программы «Инновационно-образовательный центр технологий поддержки жизненного цикла и качества продукта», реализованной в ФГОУ ВПО СФУ в 2007 г.

Рецензенты:

Красноярский краевой фонд науки; Экспертная комиссия СФУ по подготовке учебно-методических комплексов дисциплин

Я49

Якунин, Ю. Ю.

 

Технологии разработки программного обеспечения. Версия 1.0 [Электрон-

 

ный ресурс] : электрон. учеб.

пособие / Ю. Ю. Якунин. – Электрон. дан.

 

(3 Мб). – Красноярск : ИПК СФУ, 2008. – (Технологии разработки программ-

 

ного обеспечения : УМКД

№ 183-2007 / рук. творч. коллектива

 

Ю. Ю. Якунин). – 1 электрон. опт. диск (DVD). – Систем. требования : Intel

 

Pentium (или аналогичный процессор других производителей) 1 ГГц ; 512 Мб

 

оперативной памяти ; 3 Мб свободного дискового пространства ; привод DVD ;

 

операционная система Microsoft Windows 2000 SP 4 / XP SP 2 / Vista (32 бит) ;

 

Adobe Reader 7.0 (или аналогичный продукт для чтения файлов формата pdf).

ISBN 978-5-7638-0975-6 (комплекса)

ISBN 978-5-7638-1435-4 (пособия)

Номер гос. регистрации в ФГУП НТЦ «Информрегистр» 0320802414

от 21.11.2008 г. (комплекса)

Настоящее издание является частью электронного учебно-методического комплекса по дисциплине «Технологии разработки программного обеспечения», включающего учебную программу, учебное пособие по курсовому проектированию, лабораторный практикум, методические указания по самостоятельной работе, контрольноизмерительные материалы «Технологии разработки программного обеспечения. Банк текстовых заданий», наглядное пособие «Технологии разработки программного обеспечения. Презентационные материалы».

Рассмотрены технологии, методики и стандарты, обеспечивающие процесс разработки программных систем. Особое внимание уделено новой технологии, ориентированной на архитектуру, управляемую моделью (MDA), и языкам модельной разработ-

ки (UML и OCL).

Предназначено для студентов направления 230100.62 «Информатика и вычислительная техника» укрупненной группы 230000 «Вычислительная техника и информационные технологии».

© Сибирский федеральный университет, 2008

Рекомендовано Инновационно-методическим управлением СФУ в качестве учебного пособия

Редактор Н. Н. Вохман

Разработка и оформление электронного образовательного ресурса: Центр технологий электронного обучения информационно-аналитического департамента СФУ; лаборатория по разработке мультимедийных электронных образовательных ресурсов при КрЦНИТ

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

Подп. к использованию 01.10.2008 Объем 3 Мб

Красноярск: СФУ, 660041, Красноярск, пр. Свободный, 79

Оглавление

 

Введение....................................................................

7

1. ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО

 

ОБЕСПЕЧЕНИЯ..........................................................

8

1.1. Основные этапы развития технологии разработки....................................

8

указание последовательности выполнения технологических операций; .....

8

1.1.1. Этап 1. «Стихийное» программирование..............................................

9

1.1.2. Этап 2. Структурный подход к программированию

 

(60–70-е гг. ХХ в.)................................................................................................................

11

1.1.3. Этап 3. Объектный подход к программированию

 

(с середины 1980-х гг. до нашего времени) .....................................................................

13

1.1.4. Этап 4. Компонентный подход и CASE-технологии

 

(с середины 1990-х гг. до нашего времени) .....................................................................

15

1.1.5. этап 5. Разработка, ориентированная на архитектуру и CASE-

 

технологии (с начала XXI в. до нашего времени) ............................................................

17

1.2. Эволюция моделей жизненного цикла программного обеспечения......

18

1.2.1. Каскадная модель..................................................................................

18

1.2.2. Спиральная модель...............................................................................

21

1.2.3. Макетирование.......................................................................................

23

1.2.4. Быстрая разработка приложений.........................................................

25

1.2.5. Компонентно-ориентированная модель..............................................

26

1.2.6. XР-процесс.............................................................................................

27

1.3. Стандарты, регламентирующие процесс разработки программного

 

обеспечения.......................................................................................................................

30

1.3.1. ГОСТ Р ИСО 9000–2001. Системы менеджмента качества.

 

Основные положения и словарь.......................................................................................

30

1.3.2. ГОСТ Р ИСО/МЭК ТО 15504 .................................................................

40

1.3.3. ГОСТ Р ИСО/МЭК 12207–99. Информационная технология.

 

Процессы жизненного цикла программных средств........................................................

55

2. АНАЛИЗ ПРОБЛЕМЫ И ПОСТАНОВКА ЗАДАЧИ 61

2.1. Введение в системный анализ......................................................................

61

2.1.1. Системные ресурсы...............................................................................

62

2.2. Анализ проблемы и моделирование предметной области с

 

использованием системного подхода.........................................................................

63

2.2.1. Основные положения............................................................................

63

2.2.3. Этап 2. Выделение основных причин, стоящих за проблемой..........

64

2.2.4. Этап 3. Выявление заинтересованных лиц и пользователей............

67

2.2.5. Этап 4. Определение границ системы-решения.................................

68

2.2.6. Этап 5. Выявление ограничений, налагаемых на решение...............

69

2.3. Методология ARIS ............................................................................................

71

Технологии разработки программного обеспечения. Учеб. пособие

-3-

ОГЛАВЛЕНИЕ

 

2.3.1. Организационная модель......................................................................

74

2.3.2. Диаграмма цепочки добавленного качества.......................................

76

2.3.3. Модели еEPC .........................................................................................

77

2.4. Стандарты IDEF0–IDEF3 ..................................................................................

79

2.4.1. Методология описания бизнес-процессов IDEF3 ...............................

79

2.4.2. Методология функционального моделирования IDEF0 .....................

88

3. АНАЛИЗ ТРЕБОВАНИЙ И ИХ ФОРМАЛИЗАЦИЯ104

3.1. Методы определения требований..............................................................

104

3.1.1. Интервьюирование..............................................................................

104

3.1.2. «Мозговой штурм» и отбор идей........................................................

107

3.1.3. Совместная разработка приложений (JAD – Joint Application Design)109

3.1.4. Раскадровка..........................................................................................

111

3.1.5. Обыгрывание ролей............................................................................

113

3.1.6. CRC-карточки (Class – Responsibility – Collaboration, класс –

 

обязанность – взаимодействие)......................................................................................

114

3.1.7. Быстрое прототипирование................................................................

114

3.2. Формализация требований...........................................................................

117

3.2.1. Метод вариантов использования и его применение ........................

118

3.2.2. Псевдокод.............................................................................................

121

3.2.3. Конечные автоматы.............................................................................

122

3.2.4. Графические деревья решений..........................................................

123

3.2.5. Диаграммы деятельности...................................................................

123

3.3. Техническое задание (ГОСТ 34.602–89) ......................................................

124

3.3.1. Общие сведения..................................................................................

125

3.3.2. Назначение и цели создания (развития) системы............................

125

3.3.3. Характеристики объекта автоматизации...........................................

125

3.3.4. Требования к системе .........................................................................

125

3.3.5. Состав и содержание работ по созданию (развитию) системы.......

130

3.3.6. Порядок контроля и приемки системы...............................................

130

3.3.7. Требования к составу и содержанию работ по подготовке

 

объекта автоматизации к вводу системы в действие...................................................

130

3.3.8. Требования к документированию.......................................................

131

3.3.9. Источники разработки.........................................................................

131

4. АРХИТЕКТУРЫ ПРОГРАММНЫХ СИСТЕМ ....

132

4.1. Планирование архитектуры.........................................................................

132

4.1.1. Архитектурно-экономический цикл.....................................................

132

4.1.2. Программный процесс и архитектурно-экономический цикл...........

134

4.1.3. Суть программной архитектуры..........................................................

136

4.2. Проектирование архитектуры......................................................................

146

4.2.1. Атрибутный метод проектирования...................................................

146

4.2.2. Создание макета системы..................................................................

148

4.3. Документирование программной архитектуры........................................

150

4.3.1. Варианты применения архитектурной документации ......................

150

Технологии разработки программного обеспечения. Учеб. пособие

-4-

ОГЛАВЛЕНИЕ

 

4.3.2. Представления.....................................................................................

150

4.3.3. Документирование представления ....................................................

152

4.4. Методы анализа архитектуры......................................................................

160

4.4.1. Метод анализа компромиссных архитектурных решений –

 

комплексный подход к оценке архитектуры...................................................................

160

4.4.2. Метод анализа стоимости и эффективности – количественный

 

подход к принятию архитектурно-проектных решений .................................................

162

5. ТЕХНОЛОГИЯ MDA ..........................................

167

5.1. Использование архитектуры, управляемой моделью............................

167

5.1.1. Концепция архитектуры, управляемой моделью..............................

167

5.1.2. Модельные точки зрения и модели MDA...........................................

168

5.2. Язык объектных ограничений OCL.............................................................

171

5.2.1. Типы данных и операции OCL ............................................................

173

5.2.2. Инфиксная форма записи выражений OCL.......................................

173

5.2.3. Последовательности доступа к объектам в языке OCL ...................

174

5.2.4. Операции над коллекциями................................................................

175

5.3. Возможности технологии ECO .....................................................................

178

5.3.1. Введение в технологию ЕСО..............................................................

178

5.3.2. Модель ЕСО.........................................................................................

179

5.3.3. Пространство имен ЕСО.....................................................................

180

5.4. Разработка приложений на основе ECO ....................................................

180

5.4.1. Этапы создания приложения по технологии ECO ............................

180

5.4.2. Создание простого MDA-приложения................................................

181

6. ДОКУМЕНТИРОВАНИЕ ПРОГРАММНЫХ

 

СИСТЕМ В СООТВЕТСТВИИ С ГОСТ ...................

191

6.1. Управление документированием программного обеспечения.............

191

6.1.1. Область применения...........................................................................

191

6.1.2. Роль руководителей............................................................................

192

6.1.3. Функции программной документации.................................................

192

6.1.4. Установление стратегии документирования.....................................

194

6.1.5. Определение стандартов и руководств по документированию.......

195

6.1.6. Установление процедуры документирования...................................

199

6.1.7. Распределение ресурсов для документирования ............................

200

6.1.8. Планирование документирования......................................................

201

6.2. Требования к содержанию документов на автоматизированные

 

системы............................................................................................................................

202

6.2.1. Общие положения................................................................................

202

6.2.2. Требования к содержанию документов по общесистемным

 

решениям..........................................................................................................................

202

6.2.3. Требования к содержанию документов с решениями по

 

организационному обеспечению.....................................................................................

212

6.2.4. Требования к содержанию документов с решениями по

 

программному обеспечению............................................................................................

215

Технологии разработки программного обеспечения. Учеб. пособие

-5-

ОГЛАВЛЕНИЕ

 

6.2.5. Другие разделы....................................................................................

216

6.3. Принципы разработки руководства программиста.................................

217

6.3.1. Общие положения................................................................................

217

6.3.2. Содержание разделов.........................................................................

217

6.4. Разработка руководства пользователя.....................................................

218

6.4.1. Общие замечания................................................................................

218

6.4.2. Содержание разделов руководства...................................................

220

ЗАКЛЮЧЕНИЕ........................................................

222

БИБЛИОГРАФИЧЕСКИЙ СПИСОК........................

223

Технологии разработки программного обеспечения. Учеб. пособие

-6-