Вы находитесь на странице: 1из 17

Технологии разработки программного обеспечения, ч.

1
_______________________________________________________________________________________________________________________________________

План лекции

• Программные структуры и представления


• Атрибуты качества
• Сценарии атрибутов качества

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Представление и структура

Представление (view) – отображение ряда связанных


архитектурных элементов в том виде, в котором ими
оперируют заинтересованные в системе лица
Структура (structure) – ряд элементов, существующих в
рамках программного или аппаратного обеспечения

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Программные структуры
1. Модульные структуры. Элементы – модули (блоки реализации).
Каким образом структурировать совокупность блоков кода системы?
2. Структуры «компонент и соединитель». Элементы –
компоненты (основные единицы вычислений) и соединители
(инструменты взаимодействия).
Каким образом структурировать совокупность элементов системы,
обладающих поведением и демонстрирующих взаимодействие?
3. Структуры распределения. Демонстрируют связь между
программными элементами и элементами внешних сред.
Каким образом установить связи между системой и непрограммными
структурами среды(файловыми системами, сетями, группами
разработчиков и т.д.)?
______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Стандартные структуры программной архитектуры

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Декомпозиция

«Является подмодулем…»; «пользуется скрытой


информацией совместно с…»

Распределение ресурсов, структурирование и планирование


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

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Варианты использования

«Требует наличия…»

Конструирование подмножеств; инженерное расширение

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Многоуровневая структура

«Требует наличия…», «обращается к услугам…»,


«обобщает…»

Инкрементная разработка; реализация систем на основе


переносимости «виртуальных машин»

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Классы

«Является экземпляром…», «использует метод доступа


из…»

В объектно-ориентированных системах проектирования,


производящих на основе универсального шаблона быстрые, почти
идентичные реализации

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Клиент-сервер

«Обменивается данными с…», «зависит от…»

Распределенное функционирование; разделение задач; анализ


производительности; выравнивание нагрузки

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Параллелизм

«Исполняется в одном логическом потоке»

Выявление местоположений, в которых потоки могут


разветвляться, объединяться, создаваться и уничтожаться

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Процесс

«Исполняется параллельно с…», «может исполняться


параллельно с…», «исключает», «предшествует»

Анализ сроков; анализ производительности

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Совместно используемые данные

«Производит данные», «потребляет данные»

Производительность; целостность данных, модифицируемость

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Размещение

Распределение, миграция

Анализ производительности, готовности и защиты

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Реализация

«Хранится в…»

Управление конфигурации, интеграция, тестирование

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Распределение функций

«Назначается…»

Управление проектом, оптимальное использование


интеллектуальных ресурсов, управление общностью

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Атрибуты качества

1. Атрибуты качества системы(например, готовность,


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

______________________________________
УГГУ, кафедра информ@тики, 2014г.
Технологии разработки программного обеспечения, ч.1
_______________________________________________________________________________________________________________________________________

Сценарий атрибута качества –


требование, путем выполнения которого этот атрибут реализуется.
Состоит из 6 элементов:
• источник стимула (субъект, порождающий стимул)
• стимул (наблюдаемое в системе явление, требующее внимания)
• условия (состояние среды)
• артефакт (объект воздействия стимула)
• реакция (действие в ответ на стимул)
• количественная мера реакции.

______________________________________
УГГУ, кафедра информ@тики, 2014г.

Вам также может понравиться