
- •СОДЕРЖАНИЕ
- •1.1. Основные понятия и определения
- •1.2. Жизненный цикл программных средств
- •2.1. Стратегии разработки программных средств и систем
- •2.1.1. Базовые стратегии разработки программных средств и систем
- •2.1.2. Каскадная стратегия разработки программных средств и систем
- •2.1.3. Инкрементная стратегия разработки программных средств и систем
- •2.1.4. Эволюционная стратегия разработки программных средств и систем
- •2.2.1. Общие сведения о каскадных моделях
- •2.2.2. Классическая каскадная модель
- •2.2.3. Каскадная модель с обратными связями
- •2.2.5. V-образная модель
- •2.3.1. Базовая RAD-модель
- •2.4.1. Общие сведения об инкрементных моделях
- •2.4.2. Инкрементная модель с уточнением требований на начальных этапах разработки
- •2.5.1. Общие сведения об эволюционных моделях
- •2.5.3. Структурная эволюционная модель быстрого прототипирования
- •2.5.5. Спиральная модель Боэма
- •2.5.6. Упрощенные варианты спиральной модели
- •3.1. Классификация проектов по разработке программных средств и систем
- •3.2. Процедура выбора модели жизненного цикла разработки программных средств и систем
- •3.3. Адаптация модели жизненного цикла разработки ПС и систем к условиям конкретного проекта
- •4.1. Модульное проектирование программ
- •4.2. Метод нисходящего проектирования
- •4.2.1. Пошаговое уточнение
- •4.2.2. Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •4.2.3. Использование комментариев для описания обработки данных
- •4.2.4. Анализ сообщений
- •4.3. Метод восходящего проектирования
- •4.4. Метод иерархического проектирования модулей (метод Джексона)
- •4.4.1. Основные конструкции построения структур данных
- •4.4.2. Построение структур данных
- •4.4.3. Проектирование структур программ
- •4.4.4. Этапы конструирования программы
- •4.5.1. Связность модуля
- •4.5.2. Сцепление модулей
- •5.1. Общие сведения о CASE-технологиях
- •5.2. Методология структурного анализа и проектирования SADT
- •5.2.2. Основные понятия IDEF0-модели
- •5.2.3. Синтаксис диаграмм
- •5.2.4. Синтаксис моделей
- •5.2.6. Процесс моделирования в IDEF0
- •5.3. Информационное моделирование
- •5.3.1. Сущности
- •5.3.2. Атрибуты
- •5.3.3. Способы представления сущностей с атрибутами
- •5.3.4. Классификация атрибутов
- •5.3.5. Правила атрибутов
- •5.3.6. Связи
- •5.3.7. Безусловные связи
- •5.3.8. Условные формы связи
- •5.3.9. Формализация связи
- •5.3.10. Подтипы и супертипы
- •5.3.11. Рабочие продукты информационного моделирования
- •6.1. Эволюция Case-средств
- •6.2. Концептуальные основы Case–средств
- •6.3.1. Поддержка графических моделей
- •6.3.2. Контроль ошибок
- •6.3.3. Организация и поддержка репозитория
- •6.3.4. Поддержка процесса проектирования и разработки
- •6.4. Классификация CASE–средств
- •6.4.1. Классификация по типам
- •6.4.2. Классификация по категориям
- •6.4.3. Классификация по уровням
- •6.5. Инструментальные средства компании Telelogic, предназначенные для автоматизации жизненного цикла программных средств и систем
- •6.5.1. Telelogic DOORS
- •6.5.2. Telelogic TAU
- •6.5.3. Telelogic SYNERGY
- •6.5.4. Telelogic DocExpress
- •6.5.5. Telelogic TAU Logiscope
- •7.2. Реализация процесса документирования в соответствии со стандартом ISO/IEC 15910:1999
- •7.2.2. Выполнение процесса документирования
- •7.2.3. Содержание плана документирования
- •7.2.4. Требования к содержанию спецификации стиля документации
- •ЛИТЕРАТУРА
УЧЕБНОЕ ПОСОБИЕ
по курсу
Технологии
разработки
программного
обеспечения
Для студентов специальности 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