- •Кокорева е.В.
- •Технология программирования Москва 2007
- •Содержание
- •Лабораторная работа № 1 Этапы разработки программного обеспечения при структурном подходе к программированию. Стадия «Техническое задание»
- •Разработка технического задания
- •Порядок разработки технического задания
- •Общие положения
- •Содержание разделов
- •Лабораторная работа № 2 Структурный подход к программированию. Стадия «Эскизный проект»
- •Анализ требований и определение спецификаций при структурном подходе
- •Спецификации процессов
- •Словарь терминов
- •Диаграммы переходов состояний (sdt)
- •Функциональные диаграммы
- •Диаграммы потоков данных (dfd)
- •Диаграммы сущность-связь
- •Лабораторная работа № 3 Структурный подход к программированию. Стадия «Технический проект»
- •Проектирование программного обеспечения при структурном подходе
- •Структурная схема разрабатываемого программного обеспечения.
- •Функциональная схема
- •Метод пошаговой детализации при составлении алгоритмов
- •Структурные карты Константайна
- •Структурные карты Джексона
- •Лабораторная работа № 4 Этапы разработки программного обеспечения. Стадия «Реализация»
- •Составление программной документации
- •1. Виды программных документов
- •Лабораторная работа № 5 Проектирование программной системы при объектном подходе к программированию
- •Основы uml - проектирования
- •1. Шаг первый
- •2. Шаг второй
- •3. Шаг третий
- •Шаг четвертый
- •Лабораторная работа № 6 Тестирование программ методами «белого ящика»
- •Тестирование программного обеспечения
- •1. Виды тестов
- •2. Стратегия «белого ящика»
- •Лабораторная работа № 7 Тестирование программ методами «черного ящика»
- •Тестирование по принципу «черного ящика»
- •Эквивалентное разбиение Основу метода составляют два положения:
- •1.1. Выделение классов эквивалентности
- •1.2. Построение тестов
- •Анализ граничных значений
- •Анализ причинно-следственных связей
- •Предположение об ошибке
- •Пример применения методов тестирования «черным ящиком»
- •6. Общая стратегия тестирования
- •Лабораторная работа № 8 Создание сетевых приложений на Delphi с использованием Windows Sockets api
- •Сетевые приложения
- •Лабораторная работа № 9 Использование технологий ole, com и ActiveX
- •2. Понятие сом
- •3. Как работает сом
- •4. Обзор технологий ActiveX и ole
- •5. Составные документы
- •6. Управляющие элементы ActiveX
- •7. Распределенная сом
- •Приложение 1 Варианты заданий Лабораторные работы №№ 1-4 выполняются для одного и того же варианта.
- •Приложение 2 Пример технического задания на программный продукт
- •2. Основание для разработки
- •3. Назначение разработки
- •4. Технические требования
- •Литература
Структурные карты Константайна
Методика структурных карт используется на этапе проектирования ПО для того, чтобы продемонстрировать, каким образом программный продукт выполняет системные требования. При этом наиболее часто применяются две техники: структурные карты Константайна (Constantine), предназначенные для описания отношений между модулями, и структурные карты Джексона (Jackson), предназначенные для описания внутренней структуры модулей.
Структуру программной системы составляют модули, которые в любом языке программирования имеют следующие общие свойства:
модуль имеет имя, по которому к нему можно обращаться как к единому фрагменту;
модуль состоит из множества операторов языка программирования, записанных последовательно;
модуль может принимать и/или передавать данные как параметры в вызывающей последовательности или связывать данные через фиксированные ячейки или общие области.
Структурные карты Константайна представляют собой модель отношений между модулями программы. Узлы структурных карт соответствуют модулям и областям данных, потоки изображают межмодульные связи. На диаграмме специальными узлами изображаются циклические и условные вызовы модулей, а потоки проходят через эти специальные узлы. Потоки, изображающие межмодульные связи по данным и управлению также изображаются на диаграмме специальными узлами, а стрелками указываются направления потоков. На рис. 4 приведены основные компоненты структурных карт Константайна:
Рис. 4. Элементы структурных карт
а – модуль; б – вызов модуля; в – связь по данным; связь по управлению
Модуль является базовым элементом структурной карты. Различают следующие типы модулей (см. рис. 5):
модуль (рис. 5, а);
подсистема – детализированный модуль или программа. Может использоваться повторно любое число раз (рис. 5, б);
библиотека – совокупность подпрограмм размещенных в модуле отдельно от данной системы (рис. 5, в);
область данных – описывает модули, содержащие исключительно области глобальных/распределенных данных (рис. 5, г).
Рис. 5. Типы модулей
Отдельные части программной системы (программы, подпрограммы) могут вызываться последовательно, параллельно или как сопрограммы (см. рис. 6).
Для моделирования условных и циклических вызовов применяются следующие узлы (рис. 7):
условный узел применяется для моделирования конструкций IF-THEN-ELSE (на диаграмме из узла выходят два потока) и IF-THEN (из узла выходит один поток). Условный узел изображается в виде ромба, потоки – альтернативные вызовы изображаются выходящими из него;
итерационный узел используется для того, чтобы показать, что вызываемый модуль выполняется в цикле. Он изображается полуокружностью со стрелкой с выходящими из него потоками.
Рис. 6. Типы вызовов модулей
Если необходимо показать, что подчиненный модуль вызывается однократно, это осуществляется указанием цифры "1" рядом со стрелкой, обозначающей вызов модуля-наследника.
Рис. 7. Условные и циклические вызовы модулей
а - циклический; б - условный; в - однократный
Связи по данным и управлению между модулями (передаваемые как параметры) обозначают стрелками, параллельными дуге вызова, которые показывают направления связей (рис. 8).
Рис. 8. Связи а – по данным и б – по управлению
Пример 2. Разработать структурную карту Константайна для задачи сортировки одномерного массива с помощью алгоритмов Пузырька, прямого выбора и Шелла.
Программа состоит из модулей Меню, Методов сортировки, и Вывода результата. Пользователь выбирает нужный метод, вводит массив и получает в результате отсортированный массив.
Результат приведен на рис. 9:
Рис. 9. Пример структурной карты Константайна