- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии разработки программных средств и систем
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •НедостаткиV-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классификация проектов по созданию и развитию программных средств и систем
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •Использование комментариев для описания обработки данных
- •Анализ сообщений
- •Связность модуля
- •Сцепление модулей
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Основные конструкции построения структур данных
- •Построение структур данных
- •Создание структур программ
- •Этапы конструирования программы
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Методология структурного анализа и проектирования sadt
- •Введение
- •Общие сведения о методологии структурного анализа и проектирования sadt
- •Достоинства методологии sadt
- •Основные понятия idef0-модели
- •Синтаксис диаграмм
- •Синтаксис моделей
- •Декомпозиция и её стратегии при idef0-моделировании
- •Процесс моделирования в idef0
- •Инструментальные средства проектирования программного обеспечения
- •ЭволюцияCase-средств
- •Case–модель жизненного цикла.
- •Сравнительная оценка трудозатрат по этапам жизненного цикла.
- •Концептуальные основыCase–средств
- •Состав и функциональные особенностиCase–средств
- •КлассификацияCase–средств
Этапы конструирования программы
Метод Джексона реализуется 5 этапами:
Изобразить структур входных и выходных данных.
Идентифицировать соответствие между структурами данных.
Создать структуру программы.
Перечислить и распределить выполняемые операции.
Написать структурированное изложение.
Этап 1. Изображение структур входных и выходных данных.
При создании структур данных используется 3 вида документов:
А) Задание идентификации всех компонентов данных.
Б) Графическое представление данных.
В) Контрольные перечни структур данных.
А) Задание идентификации всех компонентов данных представляет собой таблицы следующего вида:
Идентификация: Код
Таблица 3.4 – Таблица всех компонентов данных
Ссылочный номер |
Повторение, последовательность, выбор или элементарн. |
Ссыл. номер старшего компонента |
Имя компонента данных (с условием появления) |
Ссылочные номера составляющих компонентов | |||
повт. |
посл. |
выб. |
элем. | ||||
1 |
Последователь-ность |
– |
Входной файл |
1.2, 1.3 |
1.1 |
- |
- |
1.1 |
Последователь-ность |
1 |
Запись файла |
- |
1.1.2 |
- |
1.1.1 |
1.2 |
повторение |
1 |
Тело файла |
- |
- |
1.2.1 |
- |
1.3 |
повторение |
1 |
Запись зав-ля |
- |
- |
- |
1.3.1 |
1.1.1 |
элемент. |
1.1 |
Символ «Н» |
- |
- |
- |
- |
… |
… |
… |
… |
… |
… |
… |
… |
Для заполнения таблицы необходимо выполнить следующие действия:
Рассмотреть совокупность всех входных и выходных данных как компонентов самого высокого уровня.
Перечислить подкомпоненты данных, которые содержат компонент из шага 1 или 4. Как компоненты, так и подкомпоненты должны быть либо последовательностью, либо повторением, либо элементарной конструкцией.
Снабдить иерархическими номерами все подкомпоненты, указать имя, тип, номер и условие появления.
Для каждого подкомпонента определить, можно ли его обрабатывать одним и тем же набором действий независимо от условий. Если да, то компонент можно считать элементарным. Если нет, то возвращаемся к шагу 2.
Б) Графическое представление структур данных (Рисунок 3 .46).
Рисунок 3.46 –Графическое представление структур данных
Входной файл имеет тип FT, FM или FS в зависимости от типа большинства записей. В выходном файле тип файла и дата создания файла извлекаются из файла. Количество T, M, S – это результат подсчета входных записей одного из типов.
В) Контрольный перечень. Представляет собой стандартный набор вопросов для оценки полноты и корректности структур данных. Состоит из двух частей:
для проверки полноты структуры данных.
Вопросы:
идентифицирован ли каждый вход и выход.
представляет ли компонент данных самого высокого уровня весь вход или выход.
идентифицирован ли каждый компонент данных именем.
идентифицированы ли все объекты прикладного уровня.
можно ли идентифицировать дополнительные структуры данных.
для оценки корректности структур данных.
Вопросы:
является каждый компонент выбора взаимоисключающим среди других соответствующих компонент выбора.
изображена ли структура данных сверху вниз и слева направо с точки зрения появления компонентов данных.
является ли каждый компонент данных конкретной последовательностью выбора, повторения или элементарным компонентом.
Этап 2. Идентификация соответствия между структурами данных (Рисунок 3 .47).
Общие правила установления соответствий между компонентами из различной входной и выходной структур данных:
Должны совпадать число соответствующих друг другу компонентов данных.
Соответствующие компоненты должны появляться в одинаковом порядке.
Должна иметься возможность совместной обработки каждого набора соответствующих компонентов.
Самый эффективный способ идентификации всех соответствий состоит в том, чтобы начать со структуры данных с наименьшим числом компонентов.
Рисунок3.47 –Идентификация соответствия между структурами данных
Этап 3. Создание структуры программы (Рисунок 3 .48).
Подэтапы:
Слить соответствующие компоненты данных, чтобы сформировать компоненты программы. В результате получается упрощенная структура программы. Каждый из сформированных компонентов программы снабжается именем. Результатом данного подэтапа является упрощенная структура программы:
Рисунок 3.48 – Создание структуры программы
Включить не имеющие соответствия компоненты структуры входных данных в формируемую структуру программы на те же относительные иерархические места и снабдить их соответствующим именем. Результат выполнения ( ):
Рисунок3.49 – Добавляем не имеющие соответствия компоненты структуры входных данных
Включить не имеющие соответствия компоненты структуры выходных данных в формируемую структуру программы на те же относительные иерархические места и снабдить их соответствующим именем. Результат выполнения ():
Рисунок 3.50 – Добавляем не имеющие соответствия компоненты структуры входных данных Ссылка
Этап 4: Перечисление и распределение исполнимых операций.
Для составления списка операций необходимо знать:
спецификацию того, что должна делать программа.
язык программирования, на котором необходимо написать программу.
Для составления списка используется контрольный перечень операций:
операции завершения.
операции открытия.
операции вывода результатов.
вычисления.
операции ввода входных данных.
управление внутренними переменными.
Опишем операции для нашей программы на метаязыке, который называется структурированное изложение.
Операции завершения.
Открыть входной файл.
Открыть выходной файл.
Закрыть входной файл.
Закрыть выходной файл.
Для определения операций вывода исследуется структура выходных данных. Каждому элементарному компоненту соответствует своя операция вывода.
Писать тип файла.
Писать дату создания файла.
Писать количество T.
Писать количество M.
Писать количество S.
Вычисления требуются для генерации данных, поэтому анализируется каждая из операций вывода и вычисляется, какие вычисления нужны для генерации выходных данных.
Ткол := Ткол + 1
Mкол :=Mкол + 1
Sкол :=Sкол + 1
Операции ввода входных данных.
Читать входной файл.
Внутренние переменные обнаруживаются только в вычислениях.
Tкол :=Tкол + 1
Mкол :=Mкол + 1
Sкол :=Sкол + 1
Для размещения операций в нужные места структуры программы по каждой из операций необходимо определить следующее:
какую часть данных обрабатывает операция и когда она работает под данными.
где эта часть данных обрабатывается в структуре программы. В результате идентифицируется компонент программы, в который вносится эта операция. Эта операция вносится как его последовательный компонент.
на каком последовательном месте должна появится операция в компоненте программы.
Рисунок
3.51 – Результат
Этап 5. Написание структурированного изложения.
Каждая из основных конструкций, используемых в методе Джексона, может быть записана в виде структурированного изложения.
Последовательность (Рисунок 3 .52)
Рисунок 3.52 – Последовательность
А посл.
выполнить В
выполнить С
выполнить D
А конец
Выбор (Рисунок 3 .53)
Рисунок 3.53 – Выбор
А выбуслов. Р
выполнить процесс Р
А илиуслов.Q
выполнить Q
А или(услов.R)
Выполнить процесс R
А конец
Повторение (Рисунок 3 .54)
Рисунок 3.54 – Повторение
Iповтпока не условие Х
выполнить процесс Х
Iконец
Для обеих конструкций выбора условия непосредственно связаны с проверкой содержимого записи. Для повторения обработка тела записи условием прекращения повторения является появление завершителя.
Структурированное описание программы отчета будет иметь следующий вид:
Программа отчета посл
Открыть входной файл.
Открыть выходной файл.
ТКОЛ=0
МКОЛ=0
SКОЛ=0
Читать входной файл
Обработка заголовка посл
Писать текст файла
Писать дату создания файла
Обработка заголовка конец
Обработка тела файла посл
Обработка тела записи повт пока
Не запись завершителя
Обработка записи посл
Читать входной файл
Обработка выбр. зап. выбусловия Т
ТКОЛ=ТКОЛ+1
Обработка выбр. Зап .ИЛИусловия М
МКОЛ=МКОЛ+1
Обработка выбр. Зап .ИЛИ(условияS)
SКОЛ=SКОЛ+1
Обработка выбр. зап. Конец
Обработка записи Конец
Обработка количеств посл
Писать количество Т
Писать количествоМ
Писать количество S
Обработка количеств Конец
Обработка тела файла Конец
Закрыть входной файл
Закрыть выходной файл
Стоп