Разделы презентаций


Лекция 5

Содержание

Особенности процесса синтеза программных систем (ПС)

Слайды и текст этой презентации

Слайд 1Лекция 5
Моделирование архитектуры и управления
Модули и модульная декомпозиция
Оценка сложности программной

системы

Лекция 5Моделирование архитектуры и управленияМодули и модульная декомпозицияОценка сложности программной системы

Слайд 2Особенности процесса синтеза программных систем (ПС)

Особенности процесса синтеза программных систем (ПС)

Слайд 3Особенности этапа проектирования

Особенности этапа проектирования

Слайд 4Предварительное проектирование
Предварительное проектирование обеспечивает:
идентификацию подсистем;
определение основных принципов управления подсистемами, взаимодействия

подсистем.

Предварительное проектирование включает:
Структурирование системы.
Моделирование управления.
Декомпозиция подсистем на модули.

Предварительное проектированиеПредварительное проектирование обеспечивает:идентификацию подсистем;определение основных принципов управления подсистемами, взаимодействия подсистем.Предварительное проектирование включает:Структурирование системы.Моделирование управления.Декомпозиция подсистем на

Слайд 5Структурирование системы

Три модели системного структурирования:

модель хранилища данных;
модель клиент-сервер;
трехуровневая модель.

Структурирование системыТри модели системного структурирования:модель хранилища данных;модель клиент-сервер;трехуровневая модель.

Слайд 6Модель хранилища данных

Модель хранилища данных

Слайд 7Модель клиент-сервер

Модель клиент-сервер

Слайд 8Трехуровневая модель

Трехуровневая модель

Слайд 9Моделирование управления

1 Модель централизованного управления:
Модель вызов-возврат,
Модель менеджера;

2 Модель событийного управления:
Широковещательная

модель,
Модель, управляемая прерываниями.

Моделирование управления1 Модель централизованного управления:	Модель вызов-возврат,	Модель менеджера;2 Модель событийного управления:	Широковещательная модель,	Модель, управляемая прерываниями.

Слайд 10Модель вызов-возврат

Модель вызов-возврат

Слайд 11Модель менеджера

Модель менеджера

Слайд 12Широковещательная модель

Широковещательная модель

Слайд 13Модель, управляемая прерываниями

Модель, управляемая прерываниями

Слайд 14Декомпозиция подсистем на модули
Два типа моделей декомпозиции:

Модель потока данных.
Модель объектов.

Декомпозиция подсистем на модулиДва типа моделей декомпозиции:Модель потока данных.Модель объектов.

Слайд 15Модульность
Модуль – фрагмент программного текста, являющийся строительным блоком для физической

структуры системы.

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

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

Слайд 16Модульность
Пусть
C(x) – функция сложности решения проблемы,
T(x) – функция затрат времени

на решение проблемы.

Для двух проблем p1 и p2 из соотношения
C(p1)

> C(p2)
следует, что
T(p1) > T(p2).
МодульностьПустьC(x) – функция сложности решения проблемы,T(x) – функция затрат времени на решение проблемы.Для двух проблем p1 и

Слайд 17Модульность
Из практики решения проблем человеком следует:
C(p1+p2) > C(p1) + C(p2).

Учитывая

ранее сказанное:
T(p1+p2) > T(p1) + T(p2).

Это и есть принцип «разделяй

и властвуй».
МодульностьИз практики решения проблем человеком следует:C(p1+p2) > C(p1) + C(p2).Учитывая ранее сказанное:T(p1+p2) > T(p1) + T(p2).Это и

Слайд 18Модульность

Модульность

Слайд 19Модульность
Оптимальный модуль должен удовлетворять двум критериям:

снаружи он проще чем

внутри,

его проще использовать, чем построить.

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

Слайд 20Информационная закрытость

Информационная закрытость

Слайд 21Информационная закрытость
Информационная закрытость означает следующее:
все модули независимы, обмениваются только информацией,

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

Достоинства

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

Слайд 22Связность модуля
Связность модуля (внутренняя характеристика) – это мера зависимости его

частей.

Семь типов связности:
Связность по совпадению.
Логическая связность.
Временная связность.
Процедурная связность.
Коммуникативная связность.
Информационная (последовательная)

связность.
Функциональная связность.
Связность модуляСвязность модуля (внутренняя характеристика) – это мера зависимости его частей.Семь типов связности:Связность по совпадению.Логическая связность.Временная связность.Процедурная

Слайд 23Характеристика связности модуля

Характеристика связности модуля

Слайд 24Функциональная связность
Функционально связанный модуль содержит элементы, участвующие в

выполнении одной и только одной проблемной задачи.

Вычислить синус угла.
Вычислить

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

Слайд 25Информационная связность
Элементы-обработчики модуля образуют конвейер для обработки данных –

результаты одного обработчика используются как исходные данные для

следующего обработчика.

Модуль: Прием и проверка записи
прочитать запись из файла
проверить контрольные данные в записи
удалить контрольные данные в записи
вернуть обработанную запись
Конец модуля

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

Слайд 26Коммуникативная связность
Элементы-обработчики модуля используют одни и те же данные, например

внешние данные.


Модуль: Отчет и средняя зарплата
используется таблица зарплата служащих
сгенерировать отчет

по зарплате
вычислить параметр средняя зарплата
вернуть отчет по зарплате, средняя зарплата
Конец модуля
Коммуникативная связностьЭлементы-обработчики модуля используют одни и те же данные, например внешние данные.Модуль: Отчет и средняя зарплатаиспользуется таблица

Слайд 27Процедурная связность
Модуль состоит из элементов,

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

есть порядок передачи управления.


Модуль: Вычисление средних значений
используется таблица-А, таблица-Б
вычислить среднее по таблице-А
вычислить среднее по таблице-Б
вернуть среднее табл-А, среднее табл-Б
Конец модуля
Процедурная связностьМодуль  состоит   из   элементов,  реализующих независимые действия, для которых задан

Слайд 28Временная связность
Элементы-обработчики модуля привязаны к конкретному периоду времени

(из жизни программной системы).

Модуль: Инициализировать систему
перемотать магнитную ленту 1
счетчик магнитной

ленты 1 = 0
перемотать магнитную ленту 2
счетчик магнитной ленты 2 = 0
переключатель 1 = вкл.
переключатель 2 = выкл.
Конец модуля
Временная связность	Элементы-обработчики модуля привязаны к конкретному  периоду  времени (из жизни программной системы).Модуль: Инициализировать системуперемотать магнитную

Слайд 29Логическая связность
Элементы модуля принадлежат одной категории, и из этой категории

клиент выбирает выполняемое действие.

Модуль: Пересылка сообщения
переслать по e-mail
переслать по факсу
послать

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

Слайд 30Связность по совпадению
Элементы модуля вообще не имеют никаких отношений друг

с другом.


Модуль: Разные функции
поздравить с Новым годом
вывести собаку на прогулку
измерить

температуру
запастись продуктами
Конец модуля
Связность по совпадениюЭлементы модуля вообще не имеют никаких отношений друг с другом.Модуль: Разные функциипоздравить с Новым годомвывести

Слайд 31Определения связности модуля

Определения связности модуля

Слайд 32Дополнительные правила определения типа связности
правило параллельной цепи. Если все действия

модуля имеют несколько уровней связности, то модулю присваивают самый сильный

уровень связности;

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

Слайд 33Сцепление модулей
Сцепление модулей (внешняя характеристика) – это мера взаимозависимости модулей

по данным.

Шесть типов сцепления:
Сцепление по данным
Сцепление по образцу
Сцепление по управлению
Сцепление

по внешним ссылкам
Сцепление по общей области
Сцепление по содержанию
Сцепление модулейСцепление модулей (внешняя характеристика) – это мера взаимозависимости модулей по данным.Шесть типов сцепления:Сцепление по даннымСцепление по

Слайд 34Сцепление по данным
Модуль А вызывает модуль Б. Все входные и

выходные параметры вызываемого модуля – простые элементы данных.

Сцепление по данным	Модуль А вызывает модуль Б. Все входные и выходные параметры вызываемого модуля – простые элементы

Слайд 35Сцепление по образцу
В качестве параметров используются структуры данных.

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

Слайд 36Сцепление по управлению
Модуль А явно управляет функционированием модуля Б, посылая

ему управляющие данные.

Сцепление по управлениюМодуль А явно управляет функционированием модуля Б, посылая ему управляющие данные.

Слайд 37Сцепление по внешним ссылкам
Модули А и Б ссылаются на один

и тот же глобальный элемент данных.

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

Слайд 38Сцепление по общей области
Модули разделяют одну и ту же глобальную

структуру данных

Сцепление по общей областиМодули разделяют одну и ту же глобальную структуру данных

Слайд 39Сцепление по содержанию
Один модуль прямо ссылается на содержание другого модуля.

Сцепление по содержаниюОдин модуль прямо ссылается на содержание другого модуля.

Слайд 40Сложность программной системы
Автор: М. Холстед (1977)

Длина модуля:
N=n1·log2(n1)+n2·log2(n2)
n1 – число различных

операторов,
n2 – число различных операндов.

Объем модуля:
V = N×log2(n1+n2)

Сложность программной системыАвтор: М. Холстед (1977)Длина модуля:N=n1·log2(n1)+n2·log2(n2)n1 – число различных операторов,n2 – число различных операндов.Объем модуля:V =

Слайд 41Сложность программной системы
Автор: Том МакКейб (1976)

Метрика цикломатической сложности:
V(G) = E

– N + 2

Е – количество дуг,
N – количество вершин

в управляющем
графе программной системы.
Сложность программной системыАвтор: Том МакКейб (1976)Метрика цикломатической сложности:V(G) = E – N + 2Е – количество дуг,N

Слайд 42Иерархическая структура программной системы

Иерархическая структура программной системы

Слайд 43Характеристики ИС
Первичные:
Количество вершин (модули)
Количество ребер (связи между модулями)

Глобальные:
Высота – количество

уровней управления
Ширина – максимальное из количеств модулей, размещенных на уровнях

управления

Локальные:
Коэффициент объединения по входу: Fan_in(i)
Коэффициент разветвления по выходу: Fan_out(i)
Характеристики ИСПервичные:Количество вершин (модули)Количество ребер (связи между модулями)Глобальные:Высота – количество уровней управленияШирина – максимальное из количеств модулей,

Слайд 44Невязка проектной структуры
n – количество вершин, e – количество ребер

проектной структуры.

Nev = 1 – полный граф.
Nev = 0 –

дерево.
Невязка проектной структурыn – количество вершин, e – количество ребер проектной структуры.Nev = 1 – полный граф.Nev

Слайд 45Использование коэффициентов объединения и разветвления
Полные значения коэффициентов:
Fan_in(i) = sfan_in(i)

+ ifan_in(i)
Fan_out(j) = sfan_out(j) + ifan_out(j)

Метрика общей сложности структуры:




length(i)

– оценка размера i-го модуля (в виде LOC- или FP-оценки)
Использование коэффициентов объединения и разветвленияПолные значения коэффициентов:Fan_in(i)  = sfan_in(i) +  ifan_in(i)Fan_out(j) = sfan_out(j) + ifan_out(j)Метрика

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика