
- •Жизненный цикл программного обеспечения. Состав процессов жизненного цикла
- •Жизненный цикл программного обеспечения. Основные этапы жизненного цикла.
- •Каскадная модель жизненного цикла программного обеспечения.
- •Общие требования к программному обеспечению.
- •Методология, метод, нотация и средства case-технологий.
- •Основные принципы технологии rad:
- •Нотация sadt-технологии разработки программного обеспечения.
- •4.Описание языка uml должно включать в себя семантический базис для понимания общих особенностей ооап.
- •Общая структура языка uml.
- •Диаграмма вариантов использования (use case diagram) uml.
- •Диаграмма классов (class diagram) uml.
- •Диаграмма состояний (statechart diagram) uml.
- •Диаграмма деятельности (activity diagram) uml.
- •Диаграмма последовательности (sequence diagram) uml.
- •Диаграмма кооперации (collaboration diagram) uml.
- •Связи на диаграмме кооперации
- •Диаграмма компонентов (component diagram) uml.
- •Компоненты
- •Диаграмма развертывания (deployment diagram) uml.
- •Структурные карты Константайна.
- •Программные модули. Требования к модульной структуре программного обеспечения.
- •Схемы hipo.
- •Диаграммы Джексона.
- •Диаграммы Варнье – Орра.
- •Схемы данных в унифицированной системе программной документации.
- •Схемы программ в унифицированной системе программной документации.
- •Схемы работы системы в унифицированной системе программной документации.
- •Схемы взаимодействия программ в унифицированной системе программной документации.
- •Схемы ресурсов в унифицированной системе программной документации.
- •Функциональные сети.
Программные модули. Требования к модульной структуре программного обеспечения.
Модуль – это отдельная функционально законченная программная единица, которая может применяться самостоятельно, либо быть частью программы. Программное обеспечение создается на основе модульной структуры, состоящей из отдельных модулей.
Модуль характеризуют:
• один вход и один выход. На входе программный модуль получает определенный набор исходных данных, выполняет их обработку и возвращает один набор выходных данных;
• функциональная завершенность. Модуль выполняет набор определенных операций для реализации каждой отдельной функции, достаточных для завершения начатой обработки данных;
• логическая независимость. Результат работы данного фрагмента программы не зависит от работы других модулей;
• слабые информационные связи с другими программными модулями. Обмен информацией между отдельными модулями должен быть минимален;
• размер и сложность программного элемента в разумных рамках.
Модульная структура программы представляет собой древовидную структуру, в узлах которой размещаются программные модули, а направленные дуги показывают статическую подчиненность модулей. Если в тексте модуля имеется ссылка на другой модуль, то их на структурной схеме соединяет дуга, которая исходит из первого и входит во второй модуль. Каждый модуль может обращаться к подчиненным ему модулям. При этом модульная структура программной системы, кроме структурной схемы, должна включать в себя еще и совокупность спецификаций модулей, образующих эту систему
Функция верхнего уровня обеспечивается главным модулем; он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули. При определении набора модулей, реализующих функции конкретного алгоритма, необходимо учитывать следующее:
1) модуль вызывается на выполнение вышестоящим по иерархии модулем и, закончив работу, возвращает ему управление;
2) принятие основных решений в алгоритме выносится на максимально высокий по иерархии уровень;
3) если в разных местах алгоритма используется одна и та же функция, то она оформляется в отдельный модуль, который будет вызываться по мере необходимости.
Состав, назначение и характер использования программных модулей в значительной степени определяются инструментальными средствами.
Общие правила структурного построения ПО.На начальных этапах разработки ПО формируется его структура и общие правила взаимодействия компонентов, которые состоят в следующем:
-
должна быть унифицирована структура ПО и правила оформления описания каждого программного модуля;
-
каждый модуль характеризуется функциональной законченностью, автономностью и независимостью в оформлении от модулей, которые ею используют и которые он вызывает;
-
применяются стандартные правила организации связей модуля по управлению и информации (данным) с другими модулями;
-
ПО разрабатываются в виде совокупности небольших по количеству операторов (до 100) программных модулей, связанных иерархическим образом;
-
должен отсутствовать эффект после действия очередного исполнения программы на последующие исполнения;
-
регламентировано использование локальных переменных и регистров ЭВМ.
К преимуществам разработки ПО с использованием модулей можно отнести следующее:
-
Упрощается проектирование ПО, так как сложную и большую проблему легче понять, разбив на отдельные функциональные части.
-
Обеспечивается возможность организации совместной работы больших коллективов разработчиков, так как каждый программист имеет дело с независимой от других частью ПО — модулем или группой модулей.
-
Упрощается отладка программ, так как ограниченный доступ к модулю и однозначность его внешнего поведения исключает влияние ошибок в других модулях на его функционирование.
-
Повышается надежность программ, так как относительно малый размер модулей и, как следствие, небольшая их сложность, позволяют провести более полную их проверку.
Предлагается использовать следующие характеристики программного модуля для оценки его приемлемости: размер модуля, прочность модуля, сцепление с другими модулями и рутинность модуля.
Размер модуля измеряется числом содержащихся в нем операторов. Обычно рекомендуются программные модули размером от нескольких десятков до нескольких сотен операторов.
Прочность модуля — это мера его внутренних связей. Чем выше прочность модуля, тем больше связей скрыто от внешней по отношению к нему части программы и, следовательно, тем проще сама программа. Самой слабой степенью прочности обладает модуль, прочный по совпадению. В данном случае в программный модуль оформляется повторяющаяся в нескольких местах программы последовательность операторов.
Функционально прочный модуль — это модуль, реализующий одну какую-либо определенную функцию. При этом он может использовать и другие модули. Такой вид прочности модулей рекомендуется для использования.
Высшей степенью прочности обладает информационный модуль — это модуль, выполняющий несколько операций над одной и той же структурой данных, которая неизвестна вне этого модуля. Для каждой из этих операций в таком модуле имеется свой вход со своей формой обращения к нему.
Информационно прочный модуль может реализовывать, например, абстрактный тип данных.
Сцепление модуля — это мера его зависимости по способу передачи данных от других модулей. Чем слабее сцепление модуля с другими модулями, тем сильнее его независимость от других модулей. Для оценки степени сцепления существует шесть видов сцепления модулей по:
• данным;
• образцу;
• управлению;
• внешним ссылкам;
• общей области данных;
• содержимому.
Худшим видом сцепления модулей является сцепление по содержимому. Таким является сцепление двух модулей, когда один из них имеет прямые ссылки на содержимое другого модуля (например, на константу, содержащуюся в другом модуле). Такое сцепление модулей недопустимо.