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


02 Особенности процесса проектирования.pptx

Содержание

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

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

Слайд 1Проектирование ПО
Тема 2. Особенности процесса проектирования
05.09.2013
ИГЭУ. Кафедра ПОКС

Проектирование ПОТема 2. Особенности процесса проектирования05.09.2013ИГЭУ. Кафедра ПОКС

Слайд 2Проектирование ПО. Особенности процесса проектирования
Предварительное проектирование
Предварительное проектирование включает:
Структурирование системы. Система

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

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

Слайд 3Проектирование ПО. Особенности процесса проектирования
1. Структурирование системы
Модели системного структурирования:
модель

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

Проектирование ПО. Особенности процесса проектирования1. Структурирование системыМодели системного структурирования: модель клиент-сервер; модель хранилища данных; трехуровневая модель; модель

Слайд 4Проектирование ПО. Особенности процесса проектирования
1.1. Модель клиент-сервер
Архитектура библиотечной системы фильмов

и фотографий
Используется для распределенных систем, где данные распределены по серверам

Проектирование ПО. Особенности процесса проектирования1.1. Модель клиент-серверАрхитектура библиотечной системы фильмов и фотографийИспользуется для распределенных систем, где данные

Слайд 5Проектирование ПО. Особенности процесса проектирования
1.2. Модель хранилища данных
Подсистемы разделяют данные,

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

интегрированного набора CASE-средcтв с общим репозиторием
Проектирование ПО. Особенности процесса проектирования1.2. Модель хранилища данныхПодсистемы разделяют данные, находящиеся в общей памяти. Как правило, данные

Слайд 6Проектирование ПО. Особенности процесса проектирования
1.3. Трехуровневая модель
Каждый слой расположен на

отдельном компьютере

Проектирование ПО. Особенности процесса проектирования1.3. Трехуровневая модельКаждый слой расположен на отдельном компьютере

Слайд 7Проектирование ПО. Особенности процесса проектирования
1.4. Модель абстрактной машины
Каждый текущий слой

реализуется с использованием средств, обеспечиваемых слоем-фундаментом.
Модель абстрактной машины для системы

администрирования версий
Проектирование ПО. Особенности процесса проектирования1.4. Модель абстрактной машиныКаждый текущий слой реализуется с использованием средств, обеспечиваемых слоем-фундаментом.Модель абстрактной

Слайд 8Проектирование ПО. Особенности процесса проектирования
2. Моделирование управления

Проектирование ПО. Особенности процесса проектирования2. Моделирование управления

Слайд 9Проектирование ПО. Особенности процесса проектирования
2.1.1. Модель вызов-возврат

Проектирование ПО. Особенности процесса проектирования2.1.1. Модель вызов-возврат

Слайд 10Проектирование ПО. Особенности процесса проектирования
2.1.2. Модель менеджера
Модель диспетчера для системы

реального времени

Проектирование ПО. Особенности процесса проектирования2.1.2. Модель менеджераМодель диспетчера для системы реального времени

Слайд 11Проектирование ПО. Особенности процесса проектирования
2.2.1. Широковещательная модель
Каждая подсистема уведомляет обработчик

о своём интересе к определённым событиям.
Когда событие происходит, обработчик

пересылает события всем подсистемам, которые были на него подписаны.
Проектирование ПО. Особенности процесса проектирования2.2.1. Широковещательная модельКаждая подсистема уведомляет обработчик о своём интересе к определённым событиям. Когда

Слайд 12Проектирование ПО. Особенности процесса проектирования
2.2.2. Модель, управляемая прерываниями
Все прерывания разбиты

на группы — типы, которые образуют вектор прерываний.
Для каждого типа

прерывания есть свой обработчик.
Каждый обработчик реагирует на свой тип прерывания и запускает свой процесс.

Прерывание — это принудительная передача управления от выполняемой програм-
мы к системе (а через нее — к соответствующей программе обработки прерывания),
происходящая при возникновении определенного события.
Проектирование ПО. Особенности процесса проектирования2.2.2. Модель, управляемая прерываниямиВсе прерывания разбиты на группы — типы, которые образуют вектор

Слайд 13Проектирование ПО. Особенности процесса проектирования
3. Декомпозиция подсистем на модули
Типы моделей

модульной декомпозиции:
модель потока данных (структурный подход);
модель объектов (объектно-ориентированный подход).

Проектирование ПО. Особенности процесса проектирования3. Декомпозиция подсистем на модулиТипы моделей модульной декомпозиции:модель потока данных (структурный подход);модель объектов

Слайд 14Проектирование ПО. Особенности процесса проектирования
Модульность
Гленфорд Майерс
(Glenford Myers)
Модульность — свойство ПО,

обеспечива-ющее интеллектуальную возможность соз-дания сколь угодно сложной программы
Модульность — свойство

системы, которая может подвер-гаться декомпозиции на ряд внутренне связанных и слабо зависящих друг от друга модулей.
Проектирование ПО. Особенности процесса проектированияМодульностьГленфорд Майерс(Glenford Myers)Модульность — свойство ПО, обеспечива-ющее интеллектуальную возможность соз-дания сколь угодно сложной

Слайд 15Проектирование ПО. Особенности процесса проектирования
Модуль
Модуль — фрагмент программного текста, являющийся

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

из интерфейсной части и части-реализации.

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

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

Слайд 16Проектирование ПО. Особенности процесса проектирования
Информационная закрытость модуля
«Содержание модулей должно быть

скрыто друг от друга. Модуль должен определяться и проекти-роваться так,

чтобы его содержимое (процедуры и данные) было недоступно тем модулям, которые не нуждаются в такой информации».

Дэвид Парнас
(David Parnas)

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

Проектирование ПО. Особенности процесса проектированияИнформационная закрытость модуля«Содержание модулей должно быть скрыто друг от друга. Модуль должен определяться

Слайд 17Проектирование ПО. Особенности процесса проектирования
Сложность модуля
Объем программного кода (LOC) -

определяет количество строк кода.
 
Метрики Холстеда. Морис Холстед (Maurice Halstead)

предложил (1977) метрики оценки лексической сложности:
1). Оценочная длина программы - N = n1 log2(n1) + n2 log2(n2), N = N1 + N2
где n1, n2 - число различных операторов и различных операндов;
2). Объем программы - V = N log2(n1 + n2),
3). Трудность создания программы – L = (2 n2) / (n1 N2),
где N1, N2 - число всех операторов и операндов.
4). Трудность понимания программы - Ec = V / L.
 
Цикломатическая сложность. Томас Мак-Кейб (Thomas McCabe) (1976). Это мера сложности логической структуры программы.
V (G) = E – N + 2,
где E – количество дуг, N – количество вершин.

Для объектно-ориентированных систем в качестве метрик, оценивающих сложность и качество ПО, используют: общее количество классов; суммарное количество методов, определённых во всех классах; число методов на класс; высоту дерева наследования; количество подклассов и т.п.
Проектирование ПО. Особенности процесса проектированияСложность модуляОбъем программного кода (LOC) - определяет количество строк кода.  Метрики Холстеда. Морис

Слайд 18Проектирование ПО. Особенности процесса проектирования
Связность модуля (Cohesion)
Связность — внутренняя

характеристика модуля. Это мера зависимости его частей (СС – сила

связности). Чем выше связность модуля, тем лучше результат проектирования, то есть тем «черней» его ящик, тем проще им управлять.

1. Связность по совпадению (СС=0). В модуле отсутствуют явно выраженные внутренние связи.
2. Логическая связность (СС=1). Части модуля объединены по принципу функционального подобия. Например, модуль состоит из разных подпрограмм обработки ошибок.
3. Временная связность (СС=3). Части модуля не связаны, но необходимы в один и тот же период работы системы.
4. Процедурная связность (СС=5). Части модуля связаны порядком выполняемых ими действий, реализующих некоторый сценарий поведения.
5. Коммуникативная связность (СС=7). Части модуля связаны по данным (работают с одной и той же структурой данных).
6. Информационная (последовательная) связность (СС=9). Выходные данные одной части используются как входные данные в другой части модуля.
7. Функциональная связность (СС=10). Части модуля вместе реализуют одну функцию.
8. Объектная связность. Максимальная связность.

Проектирование ПО. Особенности процесса проектированияСвязность модуля (Cohesion) Связность — внутренняя характеристика модуля. Это мера зависимости его частей

Слайд 19Проектирование ПО. Особенности процесса проектирования
Сцепление модулей (Coupling)
Выделяют 6 типов

сцепления.
Сцепление по данным (СЦ=1). Модуль А вызывает модуль В. Все

входные и выходные параметры вызываемого модуля — простые элементы данных.
Сцепление по образцу (СЦ=3). В качестве параметров используются струк­туры данных.
Сцепление по управлению (СЦ=4). Модуль А явно управляет функционированием модуля В, посылая ему управляющие данные.
4. Сцепление по внешним ссылкам (СЦ=5). Модули А и В ссылаются на один и тот же глобальный элемент данных.
5. Сцепление по общей области (СЦ=7). Модули разделяют одну и ту же глобальную структуру данных.
6. Сцепление по содержанию (СЦ=9). Один модуль прямо ссылается на содержание другого модуля (не через его точку входа).

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

Сцепление — внешняя характеристика модуля, которую желательно уменьшать. Это мера взаимозависимости модулей по данным (СЦ - степень сцепления).

Проектирование ПО. Особенности процесса проектированияСцепление модулей (Coupling) Выделяют 6 типов сцепления.Сцепление по данным (СЦ=1). Модуль А вызывает

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

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

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

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

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


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

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