- •Кокорева е.В.
- •Технология программирования Москва 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. Технические требования
- •Литература
Лабораторная работа № 2 Структурный подход к программированию. Стадия «Эскизный проект»
Цель занятия: научиться создавать формальные модели и на их основе определять спецификации разрабатываемого программного обеспечения.
Лабораторная работа рассчитана на 4 академических часа.
Подготовка к лабораторной работе:
Ознакомиться с лекционным материалом по теме "Этапы разработки программного обеспечения. Анализ требований и определение спецификаций программного обеспечения" учебной дисциплины "Технология разработки программного обеспечения".
Изучить соответствующие разделы в изданиях [1, 2].
Теория:
Анализ требований и определение спецификаций при структурном подходе
На этом этапе необходимо построить модели ПО во взаимодействии с окружающей средой. Поскольку разные модели описывают проектируемое программное обеспечение с разных сторон, рекомендуется использовать сразу несколько моделей и сопровождать их описаниями. Структурный подход к проектированию программных продуктов предполагает разработку следующих моделей:
спецификаций процессов;
словаря терминов;
диаграмм переходов состояний (STD – State Transition Diagrams), характеризующих поведение системы во времени;
функциональных диаграмм (методология SADT);
диаграмм потоков данных (DFD – Data Flow Diagrams), описывающих взаимодействие источников и потребителей информации через процессы, которые должны быть реализованы в системе;
диаграмм «сущность-связь» (ERD – Entity-Relationship Diagrams), описывающих базы данных разрабатываемой системы.
Спецификации процессов
Спецификации процессов могут быть представлены в виде псевдокодов, блок-схем алгоритмов, Flow-форм, диаграмм Насси-Шнейдермана или просто краткого текстового описания.
При структурном программировании различают три вида вычислительного процесса: линейный, разветвленный и циклический:
линейная структура – выполнение операторов последовательно;
разветвленная структура – в зависимости от выполнения некоторого условия выполняется та или иная последовательность операторов;
циклическая структура – многократное выполнение одинаковой последовательности операторов.
1.1. Схемы алгоритмов
Для изображения схем алгоритмов разработан ГОСТ 19.701-90 (см. табл. 1)
Любой, сколь угодно сложный алгоритм, можно представить с использованием трех основных конструкций, которые получили название базовых:
следование – обозначает последовательное выполнение действий (рис. 1 а);
Таблица 1
Название |
Обозначение |
Назначение |
Терминатор |
|
Начало, завершение программы или подпрограммы |
Процесс |
|
Обработка данных (вычисления, пересылки и т. п.) |
Данные |
|
Операции ввода-вывода |
Решение |
|
Ветвление, выбор, поисковые и итерационные циклы |
Подготовка |
|
Счетные циклы |
Граница цикла |
Конец |
Любые циклы |
Предопределенный процесс |
|
Вызов процедур |
Соединитель |
|
Маркировка разрывов линий |
Комментарий |
|
Пояснения к операциям |
ветвление – соответствует выбору одного из двух вариантов действий (рис. 1, б);
цикл-пока – определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (рис. 1, в).
Рис 1. Базовые алгоритмические структуры:
а - следование; б - ветвление; в - цикл-пока
Помимо базовых, процедурные языки программирования высокого уровня обычно используют еще три конструкции, которые можно составить из базовых:
выбор – обозначает выбор одного варианта из нескольких в зависимости от значения некоторой величины (рис. 2, а);
цикл-до – обозначает повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле (рис. 2, б);
цикл с заданным числом повторений (счетный цикл) – обозначает повторение некоторых действий указанное количество раз (рис. 2, в).
Любая из дополнительных конструкций легко реализуется с помощью базовых. Перечисленные шесть конструкций были положены в основу структурного программирования.
EMBED Visio.Drawing.6
Рис. 2. Дополнительные структуры алгоритмов:
а - выбор; б - цикл-до; в - цикл с заданным числом повторений
Пример схемы алгоритма с использованием базовых и дополнительных алгоритмических структур приведен на рис. 3:
Рис. 3. Пример схемы алгоритма поиска максимального элемента массива
1.2. Псевдокоды.
Псевдокод – формализованное текстовое описание алгоритма (текстовая нотация). В литературе были предложены несколько вариантов псевдокодов. Один из них приведен в табл. 2.
Таблица 2
Структура |
Псевдокод |
Структура |
Псевдокод |
Следование |
<Действие1> <Действие2> |
Выбор |
Выбор <код> <код1>:<Действие1> <код2>: <Действие2> … Все-выбор |
Ветвление |
Если <Условие> то <Действие1> иначе <Действие2> Все-если |
Цикл с заданным количеством повторений |
Для <индекс> = <n>,<k>,<h> <Действие> Все-цикл |
Цикл-пока |
Цикл-пока <Условие> <Действие> Все-цикл |
Цикл-до |
Выполнять <Действие> До <Условие> |
Пример алгоритма поиска нужных значений, записанного псевдокодом:
Программа
Цикл-пока не конец файла
Прочитать запись
Сравнить заданные поля с критерием поиска
Если совпали
Сохранить в выходной список
Конец-если
Конец-цикл
Вывод результирующего списка
Конец-программа