Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к ГОСЭКТРПП-12.docx
Скачиваний:
18
Добавлен:
24.09.2019
Размер:
481.88 Кб
Скачать

6.Модульное программирование. Свойства программ-много модуля. Функциональная структура приложения.

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

Модуль характеризуют:

  • Один вход и один выход, на входе модуль получает набор исходных данных выполняет обработку и возвращает один набор результатных данных т.е. реализует стандартную функцию Input-Process-Output.

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

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

  • Слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть минимальным.

  • Обозримый по размеру сложности программный элемент.

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

  • каждый модуль вызывается на выполнение вышестоящим

  • принятие основных решений в алгоритме выносится на максимально высокий уровень по иерархии уровней.

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

В результате дальнейшей детализации алгоритма создается функциональная модульная схема (ФМС), которая является основой для программирования.

Модульная структура программных продуктов

Рисунок 17 -Функционально-модульная структура приложения

Некоторые функции могут выполняться с помощью одного и того же программного модуля (например, функции Ф4 и ФХ).

* Функция Ф3 реализуется в виде последовательности выполнения программных модулей.

* Функция Фm реализуется с помощью иерархии связанных модулей.

* Модуль п управляет выбором на выполнение подчиненных модулей.

* Функция Фх реализуется одним программным модулем.

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

Тема 5.1. Структура разделения работ по созданию программного продукта

Планирование работ начинается с получения первичных требований заказчика (ПТЗ), а основой планирования является выполние всех необходимых для выполнения и успешного завершения проекта задач и определение связей между ними. Результатом этого является структура разделения работ по созданию ПП.

Оцениваются объем и трудоемкость каждой выделенной задачи каждого элемента структуры, определяются необходимые ресурсы и временной график реализации жизненного цикла. Проце­сс планирования определяется как циклический; его цикл показан на рисунке. 28.

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

Рисунок 28- Цикл планирования работ по созданию

программного продукта

Как правило, структура разделения работ представляет собой иерархию задач.

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

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

.1 Оценка объемов и сложности программного продукта

За единицу объема ПП принято число строк программного кода (LOC), а за единицу производительности — число строк эффек­тивного программного кода (т. е. число строк программного кода в отлаженном ПП), производимых одним человеком за один месяи (LOC/чел.-мес).

Отдельные работы, не связанные с конструированием про­граммного кода, следует измерять в человекочасах.

Объем и сложность каждого элемента структуры разделения ра­бот определяются при помощи экспертной оценки и выражаются числом LOC и человекочасов. Рекомендуется использовать для по­лучения каждой оценки не менее трех независимых экспертов, усредняя их показания. При этом сложность структурного элемента учитывается весовым коэффициентом сложности Кс = 0,75...1,25. Для получения объема структурного элемента необходимо его экс­пертную оценку умножить на коэффициент сложности Кс.

2 Оценка технических, нетехнических и финансовых ресурсов для выполнения программного проекта

По объемам отдельных структурных элементов вычисляется об­щий объем работ по созданию ПП (LOC и человекочасы). В зави­симости от объема кода ПП подразделяют на малые, промежу­точные, средние и большие. Используя таблицу……, определяют не­обходимое число исполнителей для создания программного кода (программистов).

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

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