Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TEOPuR_u_TEXHOJIOruu_nPOrAMMuPOBAHuR / Методические_указания_к_курсовому_проектированию.doc
Скачиваний:
157
Добавлен:
30.03.2015
Размер:
669.7 Кб
Скачать

6. Разработка структуры программы

6.1. Декомпозиция программной системы

В данном разделе проводится анализ предметной области задачи и ее разбиение (декомпозиция) в соответствии с выбранной технологией, т.е. создается структурная схема будущего продукта и описывается взаимодействие ее функциональных элементов.

Структурная схема - схема, отражающая состав и взаимодействие по управлению частей разрабатываемого продукта. При объектной декомпозиции такими частями являются объекты (рис. 8), при структурной декомпозиции – подпрограммы (рис. 9).

Рис. 8. Структурная схема программного продукта (объектная декомпозиция)

Рис. 9. Структурная схема программного продукта (процедурная декомпозиция)

Для тем, связанных с нечисловой обработкой данных, этот раздел должен содержать информационную модель системы, которая может быть представлена функциональной схемой.

Функциональная схема – схема взаимодействия частей системы с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств.

Большое значение при разработке структуры программного продукта имеет выбор алгоритмов предметной области и структур данных.

Для заданий, при выполнении которых приходится использовать сложные математические методы, и заданий, при реализации которых студентом предлагались собственные оригинальные алгоритмы, обязательным является присутствие в записке обоснование выбора метода (по вычислительной сложности или другим соображениям). В этом же разделе приводятся и сами алгоритмы (в виде схем или псевдокодов), и пояснения к ним.

Выбор структур данных осуществляется на основе анализа основных процессов обработки информации (статические или динамические, массивы или другие структуры). При необходимости создаются новые структуры данных или модифицируются уже известные.

Обычно при выборе структур учитываются следующие параметры: объем и типы данных, а также основные операции над данными (хранение, поиск, сортировка) и частота обращения к ним в процессе выполнения программы. Если возможны варианты, то производится их оценка по объему требуемой памяти и вычислительной сложности выполнения основных операций.

6.2. Методы проектирования

По направлению процесса декомпозиции принято выделять три основных метода проектирования.

При нисходящем проектировании (проектировании «сверху вниз») разработка программы начинается с верхнего уровня. Система иерархически разбивается на подсистемы и т.д. вплоть до компонента нижнего уровня. Это метод общего назначения, с его помощью можно проектировать любую систему.

При восходящем проектировании (проектировании «снизу вверх») сразу выделяются необходимые компоненты нижнего уровня реализации, на основе которых строятся подсистемы уровня выше и т.д. до верхнего уровня. Этот метод используют для относительно небольших систем, как правило, инструментального назначения. В таких системах обычно четко прослеживается большое количество инструментальных компонентов нижнего уровня, а на верхнем уровне, практически, реализуется только интерфейс к ним.

При проектировании методом расширения ядра (проектировании «от центра») выделяется базовый процесс или объект (ядро), на котором основана вся система. Проектирование ведется одновременно «вниз» (для реализации ядра на низком уровне) и «вверх» (для использования ядра на верхнем уровне). Примером может служить реализация реляционной системы управления базами данных (СУБД). В ней четко прослеживается базовое понятие записи. Проектирование «вниз» нацелено на реализацию понятия записи, типов полей, операций над полями и т.д. Проектирование «вверх» предназначено для реализации собственно СУБД, т. е. таблиц, запросов и т.д.

Наиболее часто используется смешанный подход к проектированию, при котором основное проектирование ведется сверху вниз, однако используются элементы проектирования от центра и снизу вверх.

Проектирование средних и тем более крупных систем есть столь сложный и длительный процесс, что его стремятся также вести параллельно несколькими группами проектировщиков. При этом декомпозиция системы органично приводит к декомпозиции самого процесса проектирования.