
- •СОДЕРЖАНИЕ
- •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-ю очередь
Рисунок 4.7 – Одновременное проектирование нисходящим и восходящим методами
4.4.Метод иерархического проектирования модулей (метод Джексона)
К классическим методам разработки программных средств, наряду с методами нисходящего и восходящего проектирования, относится метод
расширения |
ядра. |
Данный |
метод |
отличается |
от |
метода |
нисходящег |
проектирования тем, что в нем больше внимания вначале уделяется выявлению |
|||||||
множества |
вспомогательных |
функций, а |
не определению |
функции всей |
|||
программы в целом. |
|
|
|
|
|
|
Для получения вспомогательных функций существует два подхода [12]. Первый подход основан на методах проектированияструктур данных,
используемых при иерархическом проектировании модулей. Данный подход разработан Джексоном.
Второй подход основан на определении областей хранения данных с
последующим |
анализом |
связанных |
с |
ними |
функций. Данный |
подход |
|
использует |
метод |
определения |
спецификаций |
, модуляразработанный |
Парнасом.
В данном учебном пособии рассмотрен метод Джексона, реализующий первый подход. Метод наиболее эффективен в случае высокой степени
78

структуризации данных (например, в |
задачах, |
связанных с |
экономической |
||
отчетностью). |
|
|
|
|
|
Метод разработан в 1975 г. А.Джексоном. |
|
|
|||
Метод |
базируется |
наисходном |
положении, состоящем |
в том, что |
|
структура |
программы |
зависит от |
формы |
подлежащих |
обработке .данных |
Поэтому структура данных может использоваться для фактического формирования структуры программы.
4.4.1.Основные конструкции построения структур данных
Метод Джексона основывается на возможности представления структур данных и структур программ единым набором основных конструкций[16].
Существует четыре основных конструкции данных.
1. Конструкция последовательности данных.
Конструкция возникает, когда два или более компонента данных помещаются вместе, строго последовательным образом, и образуют единый большой компонент данных (рисунок 4.8).
На данном рисунке компонентыВ, С, D, E объединяются в указанном порядке и образуют последовательность А.
Таким образом, в последовательности должно быть не менее двух подкомпонентов, причем каждый из них должен встретиться строго один раз и обязательно в предписанном порядке.
Рисунок 4.9 представляет пример последовательности данных – запись R, состоящая из трех последовательных частей – поля Н заголовка, поля D данных и поля Т завершителя.
А
B |
|
C |
|
D |
|
E |
|
|
|
|
|
|
|
Рисунок 4.8 – Конструкция последовательности данных
79

Запись R
|
|
|
|
|
|
Заголовок Н |
|
Данные D |
|
Завершитель |
|
|
|
Т |
|||
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 4.9 – Пример последовательности данных
2. Конструкция выбора данных.
Конструкцией выбора данных (выбором данных) называется конструкция сведения результирующего компонента данных к одному из двух или более избираемых подкомпонентов.
Рисунок 4.10 иллюстрирует выбор S, который сводится либо к подкомпоненту Р, либо Q, либо R.
S
|
|
|
|
|
|
О |
|
|
О |
|
О |
Р |
|
Q |
|
R |
|
|
|
|
|
|
|
Рисунок 4.10 – Конструкция выбора данных
Внешне конструкция выбора данных отличается от последовательности наличием символа «О» в верхнем правом углу каждого из выбираемых подкомпонентов.
Таким образом, в выборе должно быть не менее двух подкомпонентов. Если выбор заключается в том, что его подкомпонент либо присутствует,
либо отсутствует, то такой выбор некорректно изобразить, кактак иллюстрирует рисунок 4.11. Данный выбор должен быть представлен так, как изображает рисунок 4.12.
80

Запись
О
Присутствует
Рисунок 4.11 – Пример некорректного изображения выбора данных
Запись
О |
|
О |
Присутствует |
|
Отсутствует |
|
|
|
Рисунок 4.12 – Пример правильного представления конструкции выбора данных
3. Конструкция повторения данных. |
|
Данная конструкция применяется |
тогда, когда конкретный элемент |
данных повторяется от нуля до неограниченного числа раз.
Стандартное представление повторения данных иллюстрирует рисунок
4.13. Здесь |
конструкция |
повторенияI |
состоит |
из |
повторяющихся |
подкомпонентов Х. |
|
|
|
|
У конструкции повторения только один подкомпонент. Символ * в верхнем правом углу является признаком повторяемой части конструкции.
Пример конструкции повторения данных представляет рисунок4.14. Файл F состоит из нуля или более записей R.
Если конкретное повторение должно включать хотя бы одно появление
повторяемого подкомпонента (ноль появлений возникнуть не может), то |
|
|||
используется конструкция, которую представляет рисунок 4.15. |
|
|||
Файл F |
теперь |
изображается |
последовательностью |
из |
подкомпонентов. Остаток файла – это повторение записи R.
При необходимости указания конкретного количества повторений оно указывается в круглых скобках рядом с повторяемой частью конструкции(см.,
81

например, рисунок 4.16). Это является расширением нотации Джексона.
I
*
X
Рисунок 4.13 – Конструкция повторения данных
Файл F
*
Запись R
Рисунок 4.14 – Пример конструкции повторения данных
Файл F
Первая |
|
Остаток |
|
запись R |
|
файла |
|
|
|
|
|
|
|
|
|
*
Запись R
Рисунок 4.15– Пример конструкции повторения данных с не менее чем одним появлением
82