- •Технология программирования
- •Содержание
- •1. Курсовой проект по технологии программирования
- •1.1. Цели и задачи дисциплины
- •1.2. Тематика курсовых проектов
- •1.3. Сроки выполнения отдельных этапов
- •1.4. Порядок защиты курсового проекта
- •2. Содержание пояснительной записки
- •3. Разработка технического задания
- •3.1. Соглашение между заказчиком и исполнителем
- •3.2. Правила оформления технического задания
- •4. Анализ и методы решения задачи
- •5. Анализ потоков данных. Организация структур данных программы
- •5.1. Диаграммы потоков данных
- •5.2. Представление потоков данных
- •5.3. Структуры данных
- •5.4. Диаграмма Джексона
- •6. Разработка структуры программы
- •6.1. Декомпозиция программной системы
- •6.2. Методы проектирования
- •6.3. Модульное программирование
- •6.4. Драйвера и заглушки
- •Разработка алгоритмов решения задачи
- •7.1. Описание алгоритмов
- •7.2. Методы разработки алгоритмов
- •8. Разработка пользовательского интерфейса
- •9. Текст программы
- •9.1. Структура листинга
- •9.2. Количество операторов в строке
- •9.3. Отступы
- •9.4. Операторные скобки
- •9.5. Пробелы
- •9.6. Пустые строки
- •9.7. Имена
- •9.8. Комментарии
- •10. Тестирование и отладка программы
- •11. Разработка программных документов
- •11.1. Единая система программной документации
- •11.2. Руководство пользователя
- •11.3. Руководство системного администратора
- •12. Требования по оформлению пояснительной записки
- •Библиографический список
- •Приложения
- •4. Требования к программной документации
- •Федеральное агентство по образованию рф Омский государственный технический университет Кафедра «Автоматизированные системы обработки информации и управления»
- •Пояснительная записка к курсовому проекту на тему: Система учета текущей успеваемости студентов
5.3. Структуры данных
Структурой данных называют совокупность правил и ограничений, которые отражают связи, существующие между отдельными частями (элементами) данных. Различают абстрактные структуры данных, используемые для уточнения связей между элементами, и конкретные структуры, применяемые для представления данных в программах. Диаграммы отношений компонентов данных в отличие от функциональных диаграмм предназначены для определения спецификаций структур данных программы.
Абстрактные структуры можно разделить на три группы: структуры, элементы которых не связаны между собой (множества, кортежи), структуры с неявными связями элементов (таблицы, структуры) и структуры, связь элементов которых указывается явно (графы). Очень существенно, что в реальности возможно вложение структур данных, в том числе и разных типов, поэтому для их описания могут потребоваться специальные модели. В зависимости от описываемых типов отношений, модели структур данных принято делить на иерархические и сетевые.
Сетевые модели основаны на графах, а потому позволяют описывать связность взаимодействующих компонентов независимо от вида отношения, в том числе комбинации множеств, таблиц и графов. Примером сетевой модели является модель «сущность-связь» (ER – Entity-Relationship), обычно используемую при разработке баз данных.
Иерархические модели позволяют описывать упорядоченные или неупорядоченные отношения вхождения элементов данных в компонент более высокого уровня, т.е. множества, таблицы и их комбинации. К иерархическим моделям относят модель Джексона-Орра, для графического представления которой могут использоваться:
диаграммы Джексона, предложенные в составе методики проектирования ПО того же автора;
скобочные диаграммы Орра, предложенные в составе методики проектирования ПО Варнье-Орра.
5.4. Диаграмма Джексона
В основе диаграмм Джексона лежит предположение о том, что структуры данных, так же как и программ, можно строить из элементов с использованием всего трех основных конструкций: последовательности, выбора и повторения.
Каждая конструкция представляется в виде двухуровневой иерархии, на верхнем уровне которой расположен блок конструкции, а на нижнем – блоки элементов. Нотации конструкций различаются специальными символами в правом верхнем углу блоков элементов. В изображении последовательности символ отсутствует. В изображении выбора ставится символ «о» (латинское) – сокращение английского «или» (or). Конструкции последовательности и выбора должны содержать по два или более элементов второго уровня. В изображении повторения в блоке единственного (повторяющегося) элемента ставится символ «*».
Так схема, показанная на рис. 4, а, означает, что конструкция А состоит из элементов В, С и D, следующих в указанном порядке. Схема на рис. 4, б означает, что конструкция S состоит либо из элемента P, либо из элемента Q, либо из элемента R. Схема, изображенная на рис. 4, в, показывает, что конструкция I состоит из 0 или более элементов X.
Рис. 4. Нотация джексона для представления конструкций:
а – последовательность; б – выбор; в – повторение
В том случае, если необходимо показать, что конструкция повторения должна включать 1 или более элементов, используют комбинацию из двух структур последовательности и повторения (рис. 5).
Рис. 5. Пример описания конструкции, в которой встречается
повторение «1 или более раз»
Скобочные диаграммы Орра. Диаграмма Орра базируется на том же предположении о сходстве структур программ и данных, что и модель Джексона. Отличие – в нотации. Автор предлагает для представления основных конструкций данных использовать фигурные скобки (рис. 6).
Рис. 6. Скобочная нотация для представления структур данных Орра:
а – последовательность; б – выбор; в – повторение
Пример. Рассмотрим описание структуры данных файла «Электронная ведомость», содержащего сведения о сдаче экзаменов студентами. Файл состоит из записей о результатах сдачи сессии студентами одной группы. Он имеет следующую структуру: номер группы, затем записи об успеваемости студентов (ФИО студента, затем название предмета и оценка, полученная студентом, в завершении записи специальный символ «конец записи») и специальный символ «конец файла».
На рис. 7 показано, как выглядит описание данной структуры с использованием диаграммы Джексона.
Рис. 7. Описание структуры файла в виде диаграммы Джексона