- •1 Основные понятия программного обеспечения Характеристики функциональных задач при постановке задач
- •2 Характеристика программного продукта. Основные характеристики программ, показатели качества пп. Дерево характеристик качества.
- •Программы
- •Программные продукты
- •3. Организация процесса разработки программ. Пример Характеристик основных этапов разработки программ.
- •3.1. Этапы создания программного продукта.
- •4 Основные цели структуризации программного продукта. Пример структурной схемы пп.
- •5 Проектирование интерфейса пользователя. Что определяется для управления диалоговыми процессами. Что выполняет описание сценария диалога, пример диалогового сценария и графического интерфейса.
- •6.Модульное программирование. Свойства программ-много модуля. Функциональная структура приложения.
- •Раздел 5 планирование работ по созданию программных продуктов
- •Тема 5.1. Структура разделения работ по созданию программного продукта
- •Тема 5.1.5 Составление временного графика выполнения программного проекта
- •7.1Тестирование программного продукта
- •1. Общая характеристика тестирования и его цикл
- •4. Тестирование документации
- •Раздел 8 Динамическая память.
- •Тема 8.1 Карта памяти – Куча. Виды указателей. Особенности объяв-ления данных динамической структуры. Пример.
- •9 Списковые структуры. Формирование списка. Пример.
6.Модульное программирование. Свойства программ-много модуля. Функциональная структура приложения.
Модульное программирование – это логически взаимосвязанная совокупность функциональных элементов, оформленных в виде отдельных программных модулей.
Модуль характеризуют:
Один вход и один выход, на входе модуль получает набор исходных данных выполняет обработку и возвращает один набор результатных данных т.е. реализует стандартную функцию Input-Process-Output.
Функциональная завершенность – модуль выполняет перечень операций для реализации каждой отдельной функции в полном составе.
Логическая независимость – результат работы программного модуля зависит от исходных данных и не зависит от работы других модулей.
Слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть минимальным.
Обозримый по размеру сложности программный элемент.
Принципы модульного программирования во многом схожи с несходящим проектированием, сначала определяется состав и подчиненность функции, а затем набор программных модулей реализующих эти функции. Функции верхнего уровня обеспечиваются главным модулем, он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули. При определении набора модулей необходимо учитывать:
каждый модуль вызывается на выполнение вышестоящим
принятие основных решений в алгоритме выносится на максимально высокий уровень по иерархии уровней.
для использования одной и той же функции в разных местах создается один модуль, который вызывается на выполнение по мере необходимости.
В результате дальнейшей детализации алгоритма создается функциональная модульная схема (ФМС), которая является основой для программирования.
Модульная структура программных продуктов
Рисунок 17 -Функционально-модульная структура приложения
Некоторые функции могут выполняться с помощью одного и того же программного модуля (например, функции Ф4 и ФХ).
* Функция Ф3 реализуется в виде последовательности выполнения программных модулей.
* Функция Фm реализуется с помощью иерархии связанных модулей.
* Модуль п управляет выбором на выполнение подчиненных модулей.
* Функция Фх реализуется одним программным модулем.
Раздел 5 планирование работ по созданию программных продуктов
Тема 5.1. Структура разделения работ по созданию программного продукта
Планирование работ начинается с получения первичных требований заказчика (ПТЗ), а основой планирования является выполние всех необходимых для выполнения и успешного завершения проекта задач и определение связей между ними. Результатом этого является структура разделения работ по созданию ПП.
Оцениваются объем и трудоемкость каждой выделенной задачи каждого элемента структуры, определяются необходимые ресурсы и временной график реализации жизненного цикла. Процесс планирования определяется как циклический; его цикл показан на рисунке. 28.
График разработки ПП оценивается с точки зрения реальности выполнения, и в случае получения по каким-либо показателям нереального графика цикл планирования повторяется. При этом не всегда обязательно повторять выполнение всех выделенных задач этапа планирования.
Рисунок 28- Цикл планирования работ по созданию
программного продукта
Как правило, структура разделения работ представляет собой иерархию задач.
Детализацию в иерархии задач необходимо производить до уровня, достаточного для проведения оценки сложности и объема каждой задачи. Задачи низшего уровня структуры разделения работ должны быть настолько малы и просты, чтобы любую из них мог выполнить отдельный исполнитель за достаточно короткий отрезок времени.
Структурирование желательно заканчивать построением структурной диаграммы, отражающей общую концепцию дальнейшего проектирования ПП.
.1 Оценка объемов и сложности программного продукта
За единицу объема ПП принято число строк программного кода (LOC), а за единицу производительности — число строк эффективного программного кода (т. е. число строк программного кода в отлаженном ПП), производимых одним человеком за один месяи (LOC/чел.-мес).
Отдельные работы, не связанные с конструированием программного кода, следует измерять в человекочасах.
Объем и сложность каждого элемента структуры разделения работ определяются при помощи экспертной оценки и выражаются числом LOC и человекочасов. Рекомендуется использовать для получения каждой оценки не менее трех независимых экспертов, усредняя их показания. При этом сложность структурного элемента учитывается весовым коэффициентом сложности Кс = 0,75...1,25. Для получения объема структурного элемента необходимо его экспертную оценку умножить на коэффициент сложности Кс.
2 Оценка технических, нетехнических и финансовых ресурсов для выполнения программного проекта
По объемам отдельных структурных элементов вычисляется общий объем работ по созданию ПП (LOC и человекочасы). В зависимости от объема кода ПП подразделяют на малые, промежуточные, средние и большие. Используя таблицу……, определяют необходимое число исполнителей для создания программного кода (программистов).
Для получения общего числа исполнителей проекта к числу программистов добавляют число человек, определенное по человеко часовым затратам.
По каждому выделенному структурному элементу разделения работ определяют квалификацию исполнителей, требуемые инструментальные средства (аппаратные и программные) для его выполнения, возможные ополнительные финансовые затраты. Далее при необходимости опрелеляют последовательность использования во времени отдельных ресурсов, механизмы их разделения различными структурными элементами, ограничения по срокам разработки.