Разработка ПО (архитект. ис)
.pdfИерархия процессов
Ключевая идея Пересечение колонок (бизнес-доменов) с процессами (функциями)
Использование:
•Как эталонная модель иерархии бизнес-процессов предприятия (Изначально делали для этого)
•Отправная точка для описания предприятия (Сейчас это важнее)
---------------------------------------------------------------------------------------------------------------------------------------
Необязательное (с презентации) разбор уровней:
Level 0:
Функциональные домены:
•Маркетинг и продажи
•Продукты
•Покупатели
•Услуги
•Ресурсы
Level 1:
Level 2:
Level 3:
•Еще более глубокая разбивка пересечений
•Текстовое описание
Система управления взаимодействиями с клиентами
Level 4:
• Детальное описание элементов L3
Продажи:
Frameworx. Information Architecture. Основные понятия и концепции. Преимущества. Связь с Business Process Framework.
Назначение - Создание унифицированной информационной модели предприятия. Информационная модель - представление бизнес-понятий, их характеристики и связи, описанные методом, независящем от реализации
Что дает (Преимущества):
•упрощение информационное менеджмента за счет предоставления общей терминологии и уменьшения лишних вариаций
•унификация информации как внутри предприятия, так и между предприятиями
•предоставляет мост между бизнесом и IT путем предоставления определений, которые понятны для бизнеса и достаточно строги для использования в разработке ПО
Основные понятия:
•Сущность/Объект-значения/Категория
•Контекст/роль
•Состояние/жизненный цикл
Level 1:
Модель описания:
•В виде UML в разных форматах
•В виде XSL-файла
•В виде HTML
Frameworx. Application Architecture. Основные понятия. Способы выявления приложений. Классификация и группировка приложений. Уровни.
Назначение - Описывает приложений, которые обеспечивают нужную функциональность. Задает способы классификации приложений.
Понятия
Приложение – это кластер родственных функциональных возможностей или других связанных приложений. Приложение это абстрактной логической описание, тогда как продукт это и его возможности это реализации функциональных возможностей приложения.
Функциональная возможность – словесное описание возможностей, требуемых для реализации конкретных задач
Выявление приложений:
•Методы сверху-внизу, снизу-вверх, комбинированно
•По теме
•по задачам
•по сущностям
•по использованию
•Практический подход
•Коммерческая доступность/ценность
•По best IT-practices (fronted/backend, … )
•Нормализация/переиспользование
•Самодостаточности
Группировка приложения (классификация):
•Контексту вызова
•Конечному пользователю
•Назначению
•По сущности из Information Framework
Уровни:
Уровень домена
Уровень приложения - Описывает приложения, которые обеспечивают нужную функциональность.
Роль Архитектора решений (Solution Architect). Права и обязанности. Вопросы, на которые должен отвить архитектор при разработке системы.
Позиция Solution Architect
•Отвечает перед бизнесом за реализации IT-решения
•Является главным техническим лицом в проекте
•В любом техническом вопросе имеет право оставить за собой последнее слово
•Полностью отвечает реализацию проекта!
Главный вопрос: как делать?
Вопросы перед Solution Architect более знакомы простым разработчикам, например:
•Выбор фреймворков для работы;
•Представлений пользователю;
•Контроль за развитием приложения;
•Решение спорных моментов у разработчиков.
Вопросы на которые должен дать ответ:
•Масштабы архитектуры ПО
•Уровень технологий решений
•Взаимодействие приложений
•Выбор внешних блоков построения
•Архитектура построения
•Дизайн модуля приложений
•Стандарты разработки
Масштабирование, виды. Архитектура приложений (уровни, тип клиента и т.д.)
Масштабы архитекторы ПО:
•Крупномасштабный (уровень технологий размещения)
•Уровень взаимодействия приложений
•Уровень архитектуры приложения
•Архитектурный надзор
•Дизайн модулей приложения
•Стандарты разработки
Уровни технологий решений:
•Распределенное приложение?
•Горизонтальное масштабирование
•Вертикальное масштабирование
•Облачные технологии?
•Размещение – у себя или провайдера
•Тип клиента (desktop, web, mobile)
•Способы размещения и доставки приложения
Взаимодействие приложений:
•Протоколы взаимодействия (HTTP, TCP/IP, … )
•Подход к разделению приложений
•SOA
•REST/RPC
•Способы интеграции приложений
Выбор внешних блоков построения
•OpenSource/Проприетарное решение
•Хранилище данных (RDMBS, NoSQL, выбор конкретных решений)
•Выбор middleware
•Очереди сообщений
•Шина данных
•Прокси-сервера, loadbalancer и т.п.
Архитектура приложений:
•Двух/трех уровневая
•Монолитное/модульное
•Используемые архитектурные паттерны (MV*, доступ к БД, IoC)
Дизайн модуля приложений:
•Структура конкретных классов, зависимостей между ними
•Использование ООП паттернов
•Межмодульные связи
Стандарты разработки:
•Организация процессов разработки
•Правила оформления кода
•Требования к качеству кода
•Цикломатическая сложность
•Уровень тестового покрытия
•…
Интеграция приложений. Интероперабельность.
Интероперабельность - Способность двух или более информационных систем или компонентов к обмену информации и к использованию информации, полученной в результате обмена.