Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PETROV / INFOSYSTEMS. How to Measure Software Architecture [1.01]

.pdf
Скачиваний:
37
Добавлен:
10.02.2015
Размер:
3.15 Mб
Скачать

РАЗРЕШИТЕ ПРЕДСТАВИТЬСЯ

АЛЕКСЕЙ ПЕТРОВ

тренер и консультант, эксперт-практик в области анализа и моделирования бизнес-процессов, системного анализа, архитектуры ПО, проектирования средств и методов взаимодействия и БД

2013:

докладчик конференций Stratoplan TECH & BUSINESS Summit

(поток «Проектирование и анализ») и DEV Labs C++

2012 — наст. вр.:

преподаватель совместного проекта Mail.Ru Group и НИУ МГТУ им. Н.Э. Баумана

2012:

участник запуска этапа работ по внедрению системы анализа оперативных данных на базе SAP BusinessObjects

2011:

автор серии курсов по моделированию бизнес-процессов, БД и постановке внутренней разработки

2005 — 2011:

участник более 10 проектов внедрения корпоративных ИС, моделирования бизнес-процессов и ИТ-аудита организаций

2

МЕТОДИЧЕСКИЕ И ОРГАНИЗАЦИОННЫЕ ПОЛОЖЕНИЯ

Цели семинара

1

Семинар посвящен вопросам качественной и количественной

оценки архитектуры программных систем в целях установления ее

 

 

качества, оптимизации процессов разработки архитектуры и

 

устранения «технического долга» проектов разработки таких систем

 

Предварительная подготовка

2

Владение основными элементами одного из рабочих языков

тренинга (C++, Java);

 

знакомство с проблематикой и каноническими шаблонами

 

объектно-ориентированного проектирования (GoF, GRASP).

 

Перспективы

3

Семинар является вводным и готовит к прохождению тренинга

 

«Управление качеством объектно-ориентированной архитектуры и

программного кода»

НА ВРЕМЯ ПРОВЕДЕНИЯ СЕМИНАРА, ПОЖАЛУЙСТА, ПЕРЕВЕДИТЕ ЛИЧНУЮ ТЕХНИКУ И СРЕДСТВА СВЯЗИ В БЕЗЗВУЧНЫЙ РЕЖИМ. СПАСИБО!

3

О ЧЕМ ПОЙДЕТ РЕЧЬ?

 

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

 

Из чего складывается архитектура ИС и что делает ее разработку

1

болезненной процедурой?

 

Архитектура «в малом» и архитектура «в большом»

 

Почему архитектура — не документ?

«Технический долг»: от причины до 2 устранения

«Технический налог»

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

3

Модели и атрибуты качества программной архитектуры

 

 

Метрики объектно-ориентированной архитектуры и их взаимосвязь

 

с атрибутами качества

4

Договоримся о терминах Архитектура и ее описание

Место и роль архитектурного описания в инженерии ПО

Почему архитектура — не документ?

Архитектура «в большом» и «в малом»

Отдельные метрики ОО-архитектуры

5

ДОГОВОРИМСЯ О ТЕРМИНАХ: АРХИТЕКТУРА

ANSI/IEEE 1471-2000

"Architecture is the fundamental organization of a system

embodied in its components, their relationships to each other,

 

and to the environment, and the principles guiding its design and

 

evolution"

 

UML 1.5

"[Architecture is] the organizational structure and associated

behavior of a system. An architecture can be recursively

decomposed into parts that interact through interfaces,

 

relationships that connect parts, and constraints for assembling

 

parts. Parts that interact through interfaces include classes,

 

components and subsystems"

 

Martin Fowler et al. Patterns of Enterprise

Application Architecture (Addison Wesley, 2002)

"… if you find that something is easier to change than you once

 

thought, then it's no longer architectural. In the end architecture boils

 

down to the important stuff—whatever that is"

6

МИФЫ И РЕАЛЬНОСТЬ: АРХИТЕКТУРА И ЕЕ ОПИСАНИЕ

Архитектура системы

 

Основополагающие принципы организации — «все

1

важное о системе, рассматриваемой в ее связях с

внешней средой» [ISO/IEC/IEEE 42010:2011]

 

 

e.g. Составные элементы системы, порядок сборки

 

(взаимосвязей), принципы организации (дизайна)

 

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

2

Результат деятельности архитектора, отражение

архитектуры системы, основа создания подсистем

 

Может отсутствовать / существовать в нескольких

 

вариантах

 

Цель проектирования архитектуры

3

Синтез решения, удовлетворяющего требованиям

 

к системе

7

МЕСТО И РОЛЬ АРХИТЕКТУРНОГО ОПИСАНИЯ В СОВРЕМЕННОЙ ИНЖЕНЕРИИ ПО

Заинтересованная

 

 

 

 

Архитектурное

сторона

 

 

 

 

описание (AD)

 

 

 

 

 

 

 

 

 

1..*

 

 

 

 

 

0..*

 

проявляет интерес к ▼

 

 

 

отражает ▼

 

1..*

 

 

 

 

 

1..*

 

 

 

 

обладает ►

 

 

 

Система

 

 

 

Архитектура

 

 

 

 

0..*

 

 

0..*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0..*

 

 

 

 

 

 

 

расположена в ▼

 

 

 

 

 

 

1

 

 

Заинтересованные стороны, их интересы,

 

 

 

 

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

 

 

 

 

Внешняя среда

 

модели архитектуры, архитектурные решения и

 

 

обоснования объединяются понятием

 

 

 

 

 

 

 

 

 

элемент AD (англ. AD element).

 

 

 

 

 

8

ПОЧЕМУ АРХИТЕКТУРА — НЕ ДОКУМЕНТ?

Архитектура

Архитектурное

 

системы

 

описание

Независимо от архитектурного подхода:

«4 + 1», RM-ODP, TOGAF и др.

Независимо от методологии разработки:

DDD, TDD, Scrum и др.

9

ХАРАКТЕРИСТИКИ ПРОГРАММНОЙ СИСТЕМЫ С ИЗВЕСТНОЙ АРХИТЕКТУРОЙ

Границы

и точки расширения

Внешние

(«пользовательские»)

внутренние

(«архитектурные»)

атрибуты

качества

Бизнесметафора

OLAP vs. OLTP Data vs.

Processes

Выбранная метафора (стиль) определяет качественные и количественные показатели архитектуры

Архитектурная

метафора

с метриками дизайна

Components vs. Services

Sync. vs. Async

10