Методы проектирования
программных продуктов
Методы проектирования алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых являются:
•степень автоматизации проектных работ;
•принятая методология процесса разработки.
•
По степени автоматизации проектирования алгоритмов и программ можно выделить:
¨ методы традиционного (неавтоматизированного) проектирования;
¨ методы автоматизированного проектирования.
Неавтоматизированное проектирование алгоритмов и программ преимущественно используется при разработке небольших по трудоемкости и структурной сложности программных продуктов, не требующих участия большого числа разработчиков. Трудоемкость разрабатываемых программных продуктов, как правило, небольшая, а сами программные продукты имеют преимущественно прикладной характер.
Автоматизированное проектирование позволяет уменьшить трудозатраты на проектные работы, сократить сроки их выполнения, создать типовые «заготовки» алгоритмов и программ, многократно тиражируемых для различных разработок, координировать работу большого коллектива разработчиков, стандартизировать алгоритмы и программы.
Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены:
- 
структурное проектирование программных продуктов;
 - 
информационное моделирование предметной области и связанных с ней приложений;
 - 
объектно-ориентированное проектирование программных продуктов.
 
В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие. Типичными методами структурного проектирования являются:
- 
нисходящее проектирование, кодирование и тестирование программ - последовательное разложение общей функции обработки данных на простые функциональные элементы;
 - 
модульное программирование - разбиение программы на последовательность модулей, каждый из которых выполняет одну или несколько законченных функций;
 - 
структурное программирование - использование при создании программного продукта типовых управляющих структур алгоритмов обработки данных.
 
Основой информационного моделирования предметной области является положение об определяющей роли данных при проектировании алгоритмов и программ. Данный подход к проектированию программных продуктов появился благодаря появлению и развитию программных средств организации хранения и обработки данных - СУБД.
Данный подход имеет следующие составляющие:
- 
информационный анализ предметных областей;
 - 
информационное моделирование - построение комплекса взаимосвязанных моделей данных;
 - 
системное проектирование функций обработки данных;
 - 
детальное конструирование процедур обработки данных.
 
Информационный анализ предметной области предполагает построение диаграммы потоков данных (информационно-технологических схем), показывающих процессы, происходящие в объекте информатизации и информационные потоки между ними.
Объектно-ориентированный подход к проектированию программных продуктов основан на следующих принципах:
- 
выделение классов объектов;
 - 
установление характерных свойств объектов и методов их обработки;
 - 
создание иерархии классов, наследовании свойств объектов и методов их обработки.
 
Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для относящихся к нему различных объектов.