Бизнес и системный анализ весна 2013 лекция 7

44
ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения. ‹#›

Upload: technopark

Post on 22-May-2015

264 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 2: Бизнес и системный анализ весна 2013 лекция 7

Часть 1

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 3: Бизнес и системный анализ весна 2013 лекция 7

Часть 2

‹#› ЛЕКЦИЯ №7 Ключевые концепции

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

Page 4: Бизнес и системный анализ весна 2013 лекция 7

Архитектура

Модель качества

Характеристики и подхарктеристики модели качества продукта

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

Профиль качества продукта

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

4

Page 5: Бизнес и системный анализ весна 2013 лекция 7

• Архитектура ПО Software architecture заключается в наборе значительных решений об организации ПО – Выборе структурных элементов и их интерфейсов

– Задании поведения системы , через определение взаимодействие этих элементов

– Композиции этих структурных и динамических элементов в большие подсистемы

– Архитектурном стиле который направляет организацию ПО

From Unified Process (Jacobson, Booch, Rumbaugh)

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

5

Page 6: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

"Software architecture is the set of design decisions which, if made incorrectly, may

cause your project to be cancelled."

– Eoin Woods

6

Page 7: Бизнес и системный анализ весна 2013 лекция 7

• Все программные системы обладают архитектурой

• Даже если :

– Она не документирована

– Никто ее не понимает

– Рядом нет ни одного архитектора

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

7

Page 8: Бизнес и системный анализ весна 2013 лекция 7

Определение 1:

Описание архитектуры это набор материалов, которые

документируют архитектуру таким образом , чтобы

заинтересованные лица могли понять данное описание и

определить каким образом архитектура и будущая

система удовлетворяет их интерес.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

8

Page 9: Бизнес и системный анализ весна 2013 лекция 7

Определение 2:

Описание архитектуры это набор материалов, которые

описывают уже принятые ключевые решения, и мотивы

побудившие их принять , таким образом, чтобы ЛПР могли

принять решение в случае необходимости ее изменения.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

9

Page 10: Бизнес и системный анализ весна 2013 лекция 7

• Корректность – Корректно представляет интересы и потребности заинтересованных

лиц

– Корректно определяет архитектуру которая соответствует этим потребностям

• Достаточность – Достаточно деталей для получения ответа на важные вопросы об

архитектуре

– Достаточно деталей для проектирования и имплементации системы

• Краткость – Должно быть сфокусировано на важных элементах

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

10

Page 11: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Facebook Architecture http://www.slideshare.net/adityaagarwal/qcon

Page 12: Бизнес и системный анализ весна 2013 лекция 7

• Это документ , большой и серьезный

• В нем обязательно есть общая функциональная схема – «Несколько» линий и

квадратиков

• Добавим пару слов – «Единая электронная нервная

система предприятия»

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

12

Page 13: Бизнес и системный анализ весна 2013 лекция 7

• Не возможно отразить функциональные характеристики и все свойства сложной системы в одной целостной модели, понятной и одинаково ценной для всех заинтересованных сторон.

• It is not possible to capture the functional features and quality properties of a complex system in a single comprehensible model that is understandable by and of value to all stakeholders. ЛЕКЦИЯ №7 Ключевые концепции

архитектуры программного обеспечения. ‹#›

Page 14: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые

концепции архитектуры

программного

обеспечения.

Система

Архитектурный элемент

Взаимосвязь Состоит из

Архитектура Обладает

Архитектурное описание

Может иметь

Описывает архитектуру для

Заинтересованные лица

Удовлетворяет потребности

Связывает

Проекция (View)

Состоит из

Точка зрения (Viewpoint)

Соответствует

Перспектива (perspective)

Уточняется Удовлетворяет

Вопрос / Интерес

Имеет

Удовлетворяет

14

Page 15: Бизнес и системный анализ весна 2013 лекция 7

IEEE 1471-2000

Page 16: Бизнес и системный анализ весна 2013 лекция 7

• Проекция (view) это представление одного или более структурных аспектов архитектуры которое иллюстрирует удовлетворение архитектурой одного или более интереса одного или более заинтересованных лиц.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

16

Page 17: Бизнес и системный анализ весна 2013 лекция 7

• Определение: Точка зрения (viewpoint) это набор паттернов, шаблонов и соглашений по формированию одного типа проекции(view).

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

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

17

Page 18: Бизнес и системный анализ весна 2013 лекция 7
Page 19: Бизнес и системный анализ весна 2013 лекция 7

• Software Systems Architecture : Working With Stakeholders Using Viewpoints and Perspectives

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

19

Page 20: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 21: Бизнес и системный анализ весна 2013 лекция 7

Функциональная (Functional Viewpoint)

Информационная (Information Viewpoint)

Конкуренция (Concurrency Viewpoint)

Разработка (Development Viewpoint)

Внедрение (Deployment Viewpoint)

Эксплуатация (Operational Viewpoint)

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

21

Page 22: Бизнес и системный анализ весна 2013 лекция 7

• Несмотря на то что совокупность всех проекций (view) системы описывает систему полностью , каждая из проекций является достаточно независимой.

• Кроме того, большая часть атрибутов качества системы проявляются и влияют на несколько проекций.

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

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

22

Page 23: Бизнес и системный анализ весна 2013 лекция 7

• Описывает отношения, зависимости и взаимодействия между системой и ее окружением (людьми, системами и внешними организациями, с которыми она взаимодействует).

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Context

Page 24: Бизнес и системный анализ весна 2013 лекция 7

• Объем системы и обязанности

• Идентификация внешних объектов, используемых услугах и данных

• Идентификация и обязанности внешних интерфейсов

• Другие внешние взаимозависимости

• Влияние системы на окружающую среду

• Общая полнота, последовательность и согласованность

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 25: Бизнес и системный анализ весна 2013 лекция 7

• Описание функциональных элементов системы, их обязанности, интерфейсы и основные взаимодействия.

• Функциональный взгляд является основой большинства описаний архитектуры и часто является первой частью описания, которую заинтересованные стороны пытаются читать.

• Она направляет и формирует другие структуры системы, такие как структура информации, конкуренция и так далее.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#› Functional

Page 26: Бизнес и системный анализ весна 2013 лекция 7

• Вопросы – функциональные

возможности

– внешние интерфейсы

– внутренняя структура

– функциональная философию дизайна

• Проблемы – плохо определены е интерфейсы

– плохо распределенные обязанности

– инфраструктура моделируется как функциональные элементы

– перегруженный вид

– диаграммы без определения элементов

– Неправильный уровень детализации

– «Бог» элементов

– Слишком много зависимостей

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 27: Бизнес и системный анализ весна 2013 лекция 7

• Описывает способ хранения, обработки , управления и распространения информации.

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

• Целью данного анализа является ответ на ключевые вопросы по содержанию, структуре, собственности, задержка, ссылок и переноса данных.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 28: Бизнес и системный анализ весна 2013 лекция 7

– Структура информации

– Цель и использования информации

– владение информацией

– идентификаторы и отображение

– Волатильность семантики информации

– модели хранения информации

– информационный поток

– Информационная целостность

– информации о качестве

– своевременность, задержки и возраст информации

– архивирование и долговременное храненияе информации

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 29: Бизнес и системный анализ весна 2013 лекция 7

• Модели – статические модели

информационной структуры

– Модели информационного потока

– модели жизненного цикла информации

– информационные модели владения

– анализ информации о качестве

– модели метаданных

– Модели объема данных

• Проблемы

– Несовместимость представлений

– Неизбежное обновление из нескольких источников

– сложность интерфейса

– перегруженные центральные базы данных

– Рассогласованность распределенных баз данных

– низкое качество информации

– чрезмерную задержку информации

– Некорректные модели объема

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 30: Бизнес и системный анализ весна 2013 лекция 7

• Описывает структуру параллелизма системы, отображение функциональных элементов в параллельные элементы, четко идентифицировать части системы, которые могут выполняться одновременно, и показывает, как это координируется и контролируется

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 31: Бизнес и системный анализ весна 2013 лекция 7

• Описывает архитектуру, которая поддерживает процесс разработки программного обеспечения.

• Рассматривает аспекты архитектуры для заинтересованных сторон, участвующих в разработке, тестировании, обслуживании и совершенствовании системы.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 32: Бизнес и системный анализ весна 2013 лекция 7

• Описывает среды, в которых будет развернута система, в том числе охватывает зависимости системы в среде выполнения.

• Эта точка зрения отражает – аппаратную среду, (прежде всего узлы обработки,

сетевых соединений, а также объектов дискового пространства требуется),

– технических требований окружающей среды для каждого элемента,

– а отображение элементов программного обеспечения в среду выполнения, которая будет выполнять их.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 33: Бизнес и системный анализ весна 2013 лекция 7

• Описывает, как система будет работать, администрироваться, и поддерживаться, когда она работает в своей производственной среде.

• Для всех, кроме простейших систем, установка, управление и эксплуатация системы является важной задачей, которая должна быть продумана и спланирована во время разработки.

• Целью операциональной точки зрения является определение общесистемных стратегий для решения оперативных вопросов заинтересованных сторон системы и определить их решение.

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 34: Бизнес и системный анализ весна 2013 лекция 7

• Software Systems Architecture : Working With Stakeholders Using Viewpoints and Perspectives

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

34

Page 35: Бизнес и системный анализ весна 2013 лекция 7

• Facebook Architecture

– http://www.slideshare.net/adityaagarwal/qcon

• Google

– http://www.slideshare.net/chenhsiu/designs-lessons-and-advice-from-building-large-distributed-systems

• Designing a DSL for Information Systems Architecture

– http://www.slideshare.net/eoinwoods/domain-specific-languages-for-information-systems-architecture-presentation

• www.iasaglobal.org

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 36: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 37: Бизнес и системный анализ весна 2013 лекция 7

Часть 1

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 38: Бизнес и системный анализ весна 2013 лекция 7

Часть 2

‹#› ЛЕКЦИЯ №7 Ключевые концепции

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

Page 39: Бизнес и системный анализ весна 2013 лекция 7

Безуглый Дмитрий

[email protected]

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

Page 40: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

http://www.slideshare.net/supercoban/ss-10348215

Page 41: Бизнес и системный анализ весна 2013 лекция 7

ЛЕКЦИЯ №7 Ключевые концепции архитектуры программного обеспечения.

‹#›

http://www.slideshare.net/supercoban/ss-10348215

Page 42: Бизнес и системный анализ весна 2013 лекция 7

Foundation Body of Knowledge

Human Dynamics

Design

Quality Attributes

IT Environment

Business Technology Strategy

Software Architecture

Infrastructure Architecture

Information Architecture

Business Architecture Specialisations

Foundation (5-Pillars)

Enterprise Architecture

42

1st – ALL architects should have the

SAME foundation

2nd – Architects should specialise

Page 43: Бизнес и системный анализ весна 2013 лекция 7

Scope (Ballpark) view

Owners View (Enterprise Model)

Designers View (System Model)

Builder’s View (Technology Model)

Out of Context View (Detailed Model)

Operational View (Functioning)

Data (What)

Function (How)

Network (Where)

People (Who)

Time (When)

Motivation

(Why)

Page 44: Бизнес и системный анализ весна 2013 лекция 7