Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНОЕ ПОСОБИЕ Глухова Лилия Александровна 2007.pdf
Скачиваний:
568
Добавлен:
15.06.2014
Размер:
921.37 Кб
Скачать

УЧЕБНОЕ ПОСОБИЕ

по курсу

Технологии

разработки

программного

обеспечения

Для студентов специальности 1-40 01 01

«Программное обеспечение информационных технологий»

Минск 2007

Автор – Глухова Лилия Александровна, канд.техн.наук, доцент кафедры «Программное обеспечение информационных технологий»

Белорусского

государственного

университета

информатики

радиоэлектроники.

 

 

 

2

СОДЕРЖАНИЕ

Раздел 1.

Введение в технологии разработки программных средств .................

6

1.1. Основные понятия и определения .................................................................

6

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

7

Раздел 2.

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

 

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

10

2.1. Стратегии разработки программных средств и систем..............................

10

2.1.1. Базовые стратегии разработки программных средств и систем.........

10

2.1.2. Каскадная стратегия разработки программных средств и систем .....

11

2.1.3. Инкрементная стратегия разработки программных средств и систем ..

 

..........................................................................................................

12

2.1.4. Эволюционная стратегия разработки программных средств и систем..

2.2. Модели ..........................................................................................................жизненного цикла, реализующие каскадную стратегию

15

 

разработки программных средств и систем ...............................................

17

2.2.1. Общие сведения о каскадных моделях ................................................

17

2.2.2. Классическая каскадная модель...........................................................

18

2.2.3. Каскадная модель с обратными связями .............................................

18

2.2.4. Вариант каскадной модели по ГОСТ Р ИСО/МЭК ТО 15271-2002..

21

2.2.5. V-образная модель ................................................................................

23

2.3. RAD-модель быстрой разработки приложений ..........................................

26

2.3.1. Базовая RAD-модель.............................................................................

27

2.3.2. RAD-модель, базирующаяся на моделировании................................

28

2.3.3. RAD-модель параллельной разработки функций программного

 

средства....................................................................................................

29

2.3.4. RAD-модель быстрой разработки приложений по ГОСТ Р ИСО/МЭК

ТО 15271-2002 .........................................................................................

29

2.3.5. Достоинства, недостатки и области использования RAD-модели.....

32

2.4. Модели жизненного цикла, реализующие инкрементную стратегию

 

разработки программных средств и систем ...............................................

33

2.4.1. Общие сведения об инкрементных моделях .......................................

33

2.4.2. Инкрементная модель с уточнением требований на начальных

 

этапах разработки ....................................................................................

34

2.4.3. Вариант инкрементной модели по ГОСТ Р ИСО/МЭК ТО 15271-

 

2002 ..........................................................................................................

36

2.5. Модели жизненного цикла, реализующие эволюционную стратегию

 

разработки программных средств и систем ................................................

38

2.5.1. Общие сведения об эволюционных моделях ......................................

38

2.5.2. Эволюционная модель по ГОСТ Р ИСО/МЭК ТО 15271-2002 .........

38

2.5.3. Структурная эволюционная модель быстрого прототипирования ....

40

3

2.5.4. Эволюционная модель прототипирования по ГОСТ Р ИСО/МЭК ТО

15271-2002 ...............................................................................................

42

2.5.5. Спиральная модель Боэма ....................................................................

43

2.5.6. Упрощенные варианты спиральной модели........................................

48

Раздел 3. Выбор модели жизненного цикла для конкретного проекта............

57

3.1. Классификация проектов по разработке программных средств и систем

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

57

 

средств и систем ...........................................................................................

58

3.3. Адаптация модели жизненного цикла разработки ПС и систем к условиям

конкретного проекта ....................................................................................

63

Раздел 4. Классические технологии разработки программных средств ...........

66

4.1. Модульное проектирование программ........................................................

66

4.2. Метод нисходящего проектирования ..........................................................

67

4.2.1. Пошаговое уточнение ...........................................................................

68

4.2.2. Кодирование программы с помощью псевдокода и управляющих

 

конструкций структурного программирования .....................................

68

4.2.3. Использование комментариев для описания обработки данных ......

70

4.2.4. Анализ сообщений ................................................................................

72

4.3. Метод восходящего проектирования ..........................................................

76

4.4. Метод иерархического проектирования модулей (метод Джексона)........

78

4.4.1. Основные конструкции построения структур данных .......................

79

4.4.2. Построение структур данных...............................................................

83

4.4.3. Проектирование структур программ ...................................................

87

4.4.4. Этапы конструирования программы....................................................

92

4.5. Оценка корректности и эффективности структурного разбиения

 

программы на модули ................................................................................

109

4.5.1. Связность модуля...............................................................................

109

4.5.2. Сцепление модулей.............................................................................

111

Раздел 5. CASE-технологии проектирования программных средств .............

114

5.1. Общие сведения о CASE-технологиях......................................................

114

5.2. Методология структурного анализа и проектирования SADT ...............

116

5.2.1. Общие сведения о методологии структурного анализа и

 

проектирования SADT ..........................................................................

116

5.2.2. Основные понятия IDEF0-модели .....................................................

117

5.2.3. Синтаксис диаграмм ...........................................................................

119

5.2.4. Синтаксис моделей .............................................................................

123

5.2.5. Декомпозиция и её стратегии при IDEF0-моделировании ..............

128

5.2.6. Процесс моделирования в IDEF0 .......................................................

130

5.3. Информационное моделирование .............................................................

133

5.3.1. Сущности.............................................................................................

133

5.3.2. Атрибуты .............................................................................................

134

5.3.3. Способы представления сущностей с атрибутами...........................

135

5.3.4. Классификация атрибутов ..................................................................

137

4

5.3.5.

Правила атрибутов..............................................................................

138

5.3.6.

Связи....................................................................................................

139

5.3.7.

Безусловные связи ..............................................................................

140

5.3.8.

Условные формы связи.......................................................................

141

5.3.9.

Формализация связи ...........................................................................

144

5.3.10.

Подтипы и супертипы.........................................................................

146

5.3.11.

Рабочие продукты информационного моделирования .....................

147

Раздел 6.

Инструментальные средства разработки программного

 

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

149

6.1. Эволюция Case-средств..............................................................................

149

6.2. Концептуальные основы Case–средств .....................................................

151

6.3. Состав и функциональные возможности CASE–средств.........................

152

6.3.1. Поддержка графических моделей ......................................................

153

6.3.2. Контроль ошибок ................................................................................

153

6.3.3. Организация и поддержка репозитория.............................................

154

6.3.4. Поддержка процесса проектирования и разработки .........................

155

6.4. Классификация CASE–средств..................................................................

156

6.4.1. Классификация по типам....................................................................

156

6.4.2. Классификация по категориям ...........................................................

157

6.4.3. Классификация по уровням................................................................

158

6.5. Инструментальные средства компании Telelogic, предназначенные для

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

159

6.5.1. Telelogic DOORS.................................................................................

159

6.5.2. Telelogic TAU ......................................................................................

160

6.5.3. Telelogic SYNERGY............................................................................

161

6.5.4. Telelogic DocExpress ...........................................................................

162

6.5.5. Telelogic TAU Logiscope .....................................................................

163

Раздел 7. Разработка документации программных средств и ее

 

стандартизация ...............................................................................................

165

7.1. Процесс документирования по стандарту ISO/IEC 12207: 1995 ............

165

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

ISO/IEC 15910:1999 ....................................................................................

166

7.2.1. Основные определения стандарта ISO/IEC 15910:1999 ..................

167

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

168

7.2.3. Содержание плана документирования ..............................................

173

7.2.4. Требования к содержанию спецификации стиля документации.....

175

Литература ...........................................................................................................

177

5

РАЗДЕЛ 1. ВВЕДЕНИЕ В ТЕХНОЛОГИИ

РАЗРАБОТКИ

ПРОГРАММНЫХ СРЕДСТВ

1.1. Основные понятия и определения

Существуют

различные

 

 

определения

технологии

разраб

программного

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

К

наиболее

распространенным

 

относятся

следующие.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Технология

разработки

программного

обеспечения(ПО)

это

 

совокупность процессов и методов создания программного продукта.

 

 

 

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

это

система

инженерных принципов для создания экономичного ПО, которое надежно и

эффективно работает в реальных компьютерах[19]. Данное определение имеет

 

частный характер, поскольку учитывает только две из шести характеристик

качества

ПО – надежность

и

эффективность[3, 9]. С

учетом

этого

можно

сформулировать более общее определение.

 

 

 

 

 

 

 

 

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

это

система

инженерных

принципов

для

создания

экономичного

ПО с заданны

характеристиками качества.

 

 

 

 

 

 

 

 

 

 

 

 

Любая технология разработки ПО базируется на некоторой методологии.

 

Под

методологией

 

понимается

система

 

принципов

 

и

способо

организации

процесса разработки

программ. Цель методологии разработки

ПО – внедрение методов разработки программ, обеспечивающих достижение

 

соответствующих характеристик качества.

 

 

 

 

 

 

 

 

 

В настоящее время широкую известность

приобрели

два

базовы

принципа разработки программных средств(ПС):

модульный

принцип и

 

объектно-ориентированный

 

принцип.

Разработка

 

модульных

 

программ

основывается

на

использовании

таких

классических

методологий, как

нисходящее проектирование, расширение ядра, восходящее проектирование и их комбинации, а также ряда современных методологий разработки. ПО Объектно-ориентированная разработка базируется на применении методологий

объектно-ориентированного

анализа

и

объектно-ориентирован

программирования.

 

 

 

Одним из базовых понятий технологии

разработки программного

обеспечения является понятие жизненного цикла программного средства или

системы.

 

 

 

При этом подсистемой

подразумевается

комплекс, состоящий из

6