Технология разработки программного обеспечения

9 ОЦЕНКА КАЧЕСТВА ПРОЦЕССОВ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
10.2 Структура программных продуктов

В большей степени программные продукты не являются монолитом и имеют конструкцию (архитектуру) построения - состав и взаимосвязь программных модулей.

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

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

Структуризация программ выполняется в первую очередь для удобства разработки, программирования, отладки и внесения изменений в программный продукт. Как правило, программные комплексы большой алгоритмической сложности разрабатываются коллекти¬вом разработчиков (2 - 15 и более человек). Управлять разработкой программ в условиях применения промышленных технологий изготовления программ можно лишь на научной основе.

Таким образом, структуризация программных продуктов преследует основные цели:

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

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

Некоторые программные продукты используют модули из готовых библиотек стан¬дартных подпрограмм, процедур, функций, объектов, методов обработки данных.

На рисунке 10.1 приведена типовая структура программного продукта, состоящего из отдельных программных модулей и библиотек процедур, встроенных функций, объектов и т.п.

Рисунок 10.1 - Типовая структура программного продукта

Среди множества модулей различают:

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

В работе программного продукта активизируются необходимые программные модули.

Управляющие модули задают последовательность вызова на выполнение очередного моду¬ля. Информационная связь модулей обеспечивается за счет использования общей базы дан¬ных либо межмодульной передачи данных через переменные обмена.

Каждый модуль может оформляться как самостоятельно хранимый файл; для функционирования программного продукта необходимо наличие программных модулей в полном составе.

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

ППП (application program package) - это система программ, предназна-ченных для решения задач определенного класса.

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