Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tekhnologia_Programmirovania_-_ekzamen.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.23 Mб
Скачать

2. Классический подход к созданию программных систем.

“Водопадная модель” (последовательная, классическая).

Этапы разработки ПО:

  1. Систематический анализ – определение целей и назначения ПО. Выполняется моделирование основных алгоритмов. Решаются вопросы организации проектирования. Разрабатываются требования к проекту.

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

  3. Предварительное проектирование – определяется и появляется структура ПО (внешняя спецификация).

Эти три вида работ выполняются группой анализа и проектирования

  1. Детальное (Внутреннее) проектирование – спецификация на отдельные модули программы (функции, входные параметры).

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

Эти два вида работ выполняются группой программирования

  1. Подготовка интегрированных тестов – работа модулей и их взаимосвязь. Интегрированное тестирование.

  2. Системное тестирование – определение ошибок всей системы.

  3. Подготовка приемно-сдаточных тестов. Испытание – поиск ошибок в ПО, при выполнении его в заданной реальной среде.

Эти три вида работ выполняются группой тестирования.

  1. Обучение заказчиков; установка, настройка, сопровождение.

3. Понятия связности модулей и сцепления модулей.

Модуль – именованный фрагмент программного кода, являющийся элементом конструирования физической структуры системы. В общем случае модуль содержит интерфейсную часть и часть реализации. В простейшем случае – это подпрограмма (функция).

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

Связность модуля (Cohesion, прочность) – мера зависимости его частей (в порядке увеличения степени связности):

  • Связность по совпадению (по совмещению): нет внутренних связей между частями

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

  • Временная связность: разные части не связаны, но нужны в один и тот же период работы (например, модуль инициализации программы)

  • Процедурная (последовательная) связность: части должны выполняться в определенном порядке в одном сценарии (при этом может не быть связи по данным)

  • Коммуникативная связность: части модуля используют одни и те же данные или устройства ввода-вывода

  • Информационная связность: выходные данные одной части используются как входные для другой

  • Функциональная связность: части модуля вместе реализуют одну функцию

Сцепление модулей (Coupling) – мера взаимозависимости различных модулей (в порядке увеличения степени сцепления):

  • Сцепление по данным: передаются простые параметры

  • Сцепление по образцу: передается сложная структура данных

  • Сцепление по управлению: модуль A управляет функционированием модуля B (флаги, переключатели)

  • Сцепление по внешним ссылкам: модули ссылаются на один и тот же глобальный элемент данных

  • Сцепление по общей области: модули разделяют одну и ту же общую область памяти (но типизируют ее по своему)

  • Сцепление по содержанию: один модуль прямо ссылается на часть другого модуля не через точку входа

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]