Методы структурного проектирования представляют собой комплекс технических и организационных принципов системного проектирования.
Типичными методами структурного проектирования являются:
* нисходящее проектирование, кодирование и тестирование программ;
* модульное программирование;
* структурное проектирование (программирование) и др.
В зависимости от объекта структурирования различают:
* функционально-ориентированные методы - последовательное разложение задачи или целостной проблемы на отдельные, достаточно простые составляющие, обладающие функциональной определенностью;
* методы структурирования данных.
Для функционально-ориентированных методов в первую очередь учитываются заданные функции обработки данных, в соответствии с которыми определяется состав и логика работы (алго-ритмы) отдельных компонентов программного продукта. С изменением содержания функций обра-ботки, их состава, соответствующего им информационного входа и выхода требуется перепроекти-рование программного продукта. Основной упор в структурном подходе делается на моделирование процессов обработки данных.
Для методов структурирования данных осуществляется анализ, структурирование и создание моделей данных, применительно к которым устанавливается необходимый состав функций и проце-дур обработки. Программные продукты тесно связаны со структурой обрабатываемых данных, изме-нение которой отражается на логике обработки (алгоритмах) и обязательно требует перепроектиро-вания программного продукта.
Структурный подход использует:
* диаграммы потоков данных (информационно-технологические схемы) - показывают процес-сы и информационные потоки между ними с учетом "событий", инициирующих процессы обработ-ки;
* интегрированную структуру данных предметной области (инфологическая модель, ER- диа-граммы);
* диаграммы декомпозиции - структура и декомпозиция целей, функций управления, прило-жений;
* структурные схемы - архитектура программного продукта в виде иерархии взаимосвязанных программных модулей с идентификацией связей между ними, детальная логика обработки данных программных модулей (блок-схемы).
Для полного представления о программном продукте необходима также текстовая информа-ция описательного характера.
Еще большую значимость информационные модели и структуры данных имеют для информа-ционного моделирования предметной области, в основе которого положение об определяющей роли данных при проектировании алгоритмов и программ. Подход появился в условиях развития про-граммных средств организации хранения и обработки данных – СУБД.
* Один из основоположников информационной инженерии- Дж. Мартин - выделяет следующие составляющие данного подхода:
* информационный анализ предметных областей (бизнес - областей);
* информационное моделирование - построение комплекса взаимосвязанных моделей дан-ных;
* системное проектирование функций обработки данных;
* детальное конструирование процедур обработки данных.
Первоначально строятся информационные модели различных уровней представления:
* информационно-логическая модель, не зависящая от средств программной реализации хране-ния и обработки данных, отражающая интегрированные структуры данных предметной обла-сти;
* даталогические модели, ориентированные на среду хранения и обработки данных.
Даталогические модели имеют логический и физический уровни представления. Физический уровень соответствует организации хранения данных в памяти компьютера. Логический уровень дан-ных применительно к СУБД реализован в виде:
* концептуальной модели базы данных - интегрированные структуры данных под управлением СУБД;
* внешних моделей данных - подмножество структур данных для реализации приложений.
Средствами структур данных моделируются функции предметной области, прослеживается взаимосвязь функций обработки, уточняется состав входной и выходной информации, логика преоб-разования входных структур данных в выходные. Алгоритм обработки данных можно представить как совокупность процедур преобразований структур данных в соответствии с внешними моделями данных.
Выбор средств реализации базы данных определяет вид даталогические моделей и, следова-тельно, алгоритмы преобразования данных. В большинстве случаев используется реляционное пред-ставление данных базы данных и соответствующие реляционные языки для программирования (ма-нипулирования) обработки данных СУБД и реализации алгоритмов обработки. Данный подход ис-пользован во многих CASE-технологиях.