- •Кокорева е.В.
- •Технология программирования Москва 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. Технические требования
- •Литература
Лабораторная работа № 3 Структурный подход к программированию. Стадия «Технический проект»
Цель занятия: изучить вопросы проектирования программного обеспечения. Ознакомиться с понятиями структурной и функциональной схем. Рассмотреть метод пошаговой детализации при разработке структурной схемы программного продукта. Изучить методики Джексона и Константайна при проектировании программного обеспечения.
Лабораторная работа рассчитана на 4 академических часа.
Подготовка к лабораторной работе:
Ознакомиться с лекционным материалом по теме "Этапы разработки программного обеспечения. Проектирование программного обеспечения" учебной дисциплины "Технология разработки программного обеспечения".
Изучить соответствующие разделы в изданиях [1, 2].
Теория:
Проектирование программного обеспечения при структурном подходе
При проектировании сложного программного обеспечения, прежде всего, необходимо определить структурные компоненты и связи между ними. Полученная в результате структура ПО должна быть представлена в виде структурной или функциональной схем и спецификаций ее компонентов.
Структурная схема разрабатываемого программного обеспечения.
Структурной называют схему, отражающую состав и взаимодействие по управлению частей разрабатываемого программного обеспечения.
Структурная схема определяется архитектурой разрабатываемого ПО.
Разработку структурной схемы программы обычно выполняют методом пошаговой детализации (см. раздел 3).
Структурные схемы пакетов программ разрабатывают для каждой программы пакета по отдельности, поскольку организация программ в пакеты не предусматривает передачи управления между ними.
Компонентами структурной схемы программной системы или программного комплекса могут служить программы, подсистемы, базы данных, библиотеки ресурсов и т. п.
Пример структурной схемы программного комплекса, для решения математических задач изображен на рис. 1.
Рис. 1. Пример структурной схемы программного комплекса
На рис. 2. Изображен пример программы, состоящей из большого количества разнообразных модулей.
Рис. 2. Пример структурной схемы программы построения графиков функций
Как правило, для программных систем разрабатывается функциональная схема, которая дает более полное представление о проектируемом программном обеспечении с точки зрения взаимодействия его компонентов между собой и с внешней средой.
Функциональная схема
Функциональная схема (ГОСТ 19.701-90) – это схема взаимодействия компонентов программного обеспечения с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств. Для изображения функциональных схем используют специальные обозначения, установленные стандартом (см. табл. 1).
Таблица 1
Название блока |
Обозначение |
Назначение блока |
Сохраненные данные |
|
Для обозначения таблиц и других структур данных, которые должны быть сохранены без уточнения типа устройства |
Оперативное запоминающее устройство |
|
Для обозначения таблиц и других структур данных, хранящихся в оперативной памяти |
Запоминающее устройство с прямым доступом |
|
Для обозначения таблиц и других структур данных, хранящихся на магнитных дисках |
Документ |
|
Для обозначения таблиц и других структур данных, выводимых на печать |
Ручной ввод |
|
Для обозначение ручного ввода данных с клавиатуры |
Дисплей |
|
Для обозначения данных, выводимых на дисплей компьютера |
Функциональные схемы, более информативны, чем структурные. На рис. 3 приведена функциональная схема программного комплекса, реализующего различные методы сортировки массивов.