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