146198_lecture1

Download Report

Transcript 146198_lecture1

Методология
организации
проектирования
и разработки
информационных
технологий
Часть 1
LOGO
Проект и управление проектом
Проект и управление проектом
Признаки проекта
•Наличие цели
•Временность
•Необходимость изменений
•Уникальность
•Специфическая организация проекта
•Ограниченность ресурсов
время,
бюджет,
персонал,
материальные ресурсы (инфраструктура).
Пространство управления
проектом
Жизненный цикл проекта и WBS
Жизненный цикл проекта
•начальная стадия (концепция и предварительный план);
•стадия реализации проекта (планирование, осуществление);
•стадия завершения проекта.
Структура декомпозиции работ
(work breakdown structure, WBS)
WBS – это способ описания целей и задач проекта
путем его декомпозиции в терминах иерархически
взаимосвязанных результатов и пакетов работ,
выполнение которых необходимо для реализации проекта.
WBS для Web- ресурса
Проект по созданию WEB-сайта
Создание
дизайна
Аппаратное
обеспечение
Программное
обеспечение
Методы
Выбор
оборудования
Подбор
персонала
Определение
архитектуры
Проектирование Определение
сетевой
Тестирование
конфигурации
Система
Прототипибезопасности
рование
на уровне сети
Художники
Дизайн
Программы
Приобретение,
тестирование
Коммуникации
Выбор
провайдера
Интеграция
Размещение ПО
на аппаратном
обеспечении
Логистика
Обработка
заказа
Продажа
Тестирование ПО,
внешней сети,
Поддержка
системной
пользователей
производительности
Проект по созданию WEB-сайта
Авторизация
средств
оплаты
Клиентская часть
Дизайн
Проект по созданию WEB-сайта
Система
администрирования
Система
шаблонов
оформления
Система
взаимодействия
с посетителями
Управление
содержанием и
структурой
Реализация
ограничения
доступа
Управление
ограничением
доступа
Система опросов
Управление
шаблонами
Система
протоколирования
Интерфейс
Система
хранения данных
Серверная часть
Обработка вызовов,
приходящих с
интерфейса
Выдача интерфейса
пользователю
Запросы к БД
Система
хранения данных
Структура таблиц
Хранимые
процедуры
Разработка ПО как проект
•Существуют объективные трудности целеполагания
и оценки достижения цели
•Результат разработки ПО не имеет
непосредственного материального выражения
•Программный код является проектом,
а не конечным продуктом процесса разработки ПО
•Принципиально неустранимая системная сложность
технологической среды решения
прикладных задач программирования
•Неопределенности среды бизнес-процесса,
для которого разрабатывается ППП
Архитектура проекта
ИТ-архитектура
Архитектура предприятия (корпоративная архитектура) =
= бизнес-архитектура + корпоративная
информационно-технологическая архитектура
Концепты оисания архитектуры
Домен
Бизнесархитектура
Архитектура
информации
Архитектура
приложений
Технологическая
архитектура
Концепты
Связи между бизнес-процессами
Бизнес-функции
Подфункции
Новые функции
Описание источников данных
Модели данных
Описание передачи данных
Описание решений по организации
хранения данных
Используемые технологии и средства
преобразования и управления данными
Перечень приложений
Точки доступа к приложениям
Инфраструктура
Платформы
Системы хранения
Сети
Безопасность
Системное управление
Архитектура информации
абстракция
аспект
описания
концептуальный
уровень
логический
уровень
физический
уровень
точка зрения
бизнес-взгляд на
ИТ
ИТ-взгляд на
бизнес
ИТ-взгляд на
ИТ
фаза
планирование
анализ
реализация
рассматриваемые
связи
связи данных с
бизнес-функциями,
интерфейсами,
технологиями
связи данных с
другими
данными
связи данных
с системами
хранения
фокус на ...
сбор, обработка и
использование
данных
структура
данных
объемы и
степень
использования
данных
это, скорее...
искусство
наука
религия
(следование
рекомендация
м вендоров)
Архитектура приложений
Процессы с
большим
количеством
транзакций
Операции в
реальном
времени
Аналитические
процессы и бизнесаналитика
Совместная
работа
Корпоративные
(обслуживающие)
Стратегические
потребности
•Предоставление
услуг
•Время реакции
системы
•Способность дать
объяснение
•Поддержка
принятия решения
Распространени
е знаний
Скорость
Инновации
Надежность
Низкая стоимость с
точки зрения ИТ
Бизнестребования
Обслуживание
клиентов
Уменьшение затрат
Работа 24*7
Целостность
данных
Экономичност
ьи
безопасность
Работа
24*7*365
•Повышение
эффективности и
производительност
и, наглядность
представления
информации
•Скорость
выпуска услуг
•Повторное
использование
знаний
Экономичность
Улучшения в процессах
Отличительные
характеристики
Низкая стоимость
(на одну
транзакцию)
Надежность
Масштабируемость
Производительност
ь
Резервирование
•Сканирование
и фильтрация
потока данных
•Приоритезация
запросов
•Надежность
•Публикация и
подписка на
данные
•Механизм
аналитики
•Мощность
обработки
•Объединение
данных
•Простота
использования
•Надежность
•Высокая
пропускная
способность
•Обмен данными
"по горизонтали"
•Стандартные процессы
•Кандидаты на
аутсорсинг
Интегрирующи
е технологии
Системы
интеграции
корпоративных
приложений
Специально
разработанный
программный
код
Хранилища
данных
•Совместно
используемые
данные и обмен
данными
Стандартные
интерфейсы (API), XML
Технологическая архитектура
Область
технологических
сервисов
Категория
сервисов
Стандарт
сервисов
Рост детализации
Сервис доступа и доставки
Каналы доступа
Web-браузеры
Беспроводные устройства,
персональные цифровые
помощники (PDA)
Internet Explorer
Palm
Netscape Navigator
Pocket PC
Сервис транспорта
Обеспечивающие сетевые
сервисы
Сервисы транспорта
Multipurpose Internet Mail
Extention (MIME)
Hyper Text Transfer
Protocol (HTTP)
Lightweight Directory
Access Protocol (LDAP)
Wireless Application
Protocol (WAP)
Целеполагание в архитектуре
проекта
СтратегичеУровень
общности ский
уровень
цели
Миссия и видение
Руководящие принципы
Цели, задачи, стратегии
Архитектура ИТ
Тактический Политики (правила)
уровень
ИТ-стандарты
Процедуры
Руководства
Уровень
общности
описания
Модели архитектур – определения
и классификация
Модели:
• функциональные (организационно-функциональные)
ARIS
• потоковые
Workflow (IDEF3)
• структурные
STD, ERD, FDD, SADT (IDEF0 - IDEF5, DFD)
• объектные
Модели архитектур – определения
и классификация (2)
Модели бизнес-процесса
в нотации ARIS eEPC
БП **
БП *
Модели архитектур – определения
и классификация (3)
Модель бизнес-процесса * в нотации IDEF0
Модели архитектур – определения
и классификация (4)
Модель бизнес-процесса ** в нотации IDEF3
Модели архитектур – определения
и классификация (5)
Корневая модель бизнеспроцессов
Структурная схема компании
Функциональная модель
компании
 Приказ о распределении ответственности между первыми руководителями
Детализированные модели
бизнес-процессов
Структурные схемы
подразделений
Детализированные
функциональные модели
Штатное расписание и реестр
рабочих мест
Детализированные модели
рабочих мест
 Регламенты бизнес-процессов
 Положения о подразделениях
Модели процедур
 Регламенты процедур и взаимодействий
 Функциональные карты рабочих мест
 Должностные инструкции
Процессноориентированное
описание бизнеса
Система менеджмента качества
Процедуры обучения и повышения
квалификации
Процедуры аудитов и улучшений решений по
организации деятельности
Фреймворки в моделировании
архитектуры (1)
Лучшие практики:
• модель Захмана;
• методики аналитических компаний
(Gartner, Giga Group, META Group и др.);
• методика TOGAF;
• модель "4+1";
• методики Microsoft.
ИТ-менеджеры и разработчики
Бизнес-руководители
Фреймворки в моделировании
архитектуры (2)
Данные
ЧТО
Планировщик
Владелец,
менеджер
Конструктор,
архитектор
Проектировщик
Разработчик
Дислокация,
сеть
ГДЕ
Функции
КАК
Люди
КТО
Время
КОГДА
Мотивация
ПОЧЕМУ
Список важных
понятий и
объектов
Список основных
бизнеспроцессов
Территориально
е расположение
Ключевые
организации
Важнейшие
события
Бизнес-цели и
стратегии
Сфера
действия
(контекст)
Концептуальная
модель данных
Модель бизнеспроцессов
Схема логистики
Модель потока
работ (workflow)
Мастер-план
реализации
Бизнес-план
Модель
предприятия
Логические
модели данных
Архитектура
приложений
Модель
распределенной
архитектуры
Архитектура
интерфейса
пользователя
Структура
процессов
Роли и модели
бизнес-правил
Физическая
модель данных
Системный
проект
Технологич.
архитектура
Архитектура
презентации
Структура
управления
Описания
бизнес-правил
Описание
структуры
данных
Программный
код
Сетевая
архитектура
Архитектура
безопасности
Определение
временных
привязок
Реализация
бизнес-логики
Данные
Работающие
программы
Сеть
Реальные люди,
организации
Бизнес-события
Работающие
бизнес-стратегии
Данные
Функции,
процессы
Сеть,
расположение
систем
Люди,
организации
Время,
расписания
Модель Захмана
Мотивация
Модель
системы
Технологическ
ая
(физическая)
модель
Детали
реализации
Работающие
предприятия
Фреймворки в моделировании
архитектуры (3)
Среда бизнесвзаимодействия
Мир бизнеса
Мир архитектуры информационных
технологий
Электронная коммерция
(B2B, G2G)
Среда бизнесвзаимодействия
Предприятие
Интеграция корпоративных
приложений (EA)
Бизнес-процессы
Цепочка создания
добавочной стоимости
Связанные между
собой
приложения
Общие сервисы
Бизнес-процессы
Приложения
Инфраструктура
Шаблоны
Строительные блоки
Стили бизнес-процессов
Архитектурные стили
Шаблоны
Модель Gartner
Строительные блоки
технологий
Фреймворки в моделировании
архитектуры (4)
Анализ тенденций
Инициирование
процесса разработки
архитектуры
Общее видение
бизнеса
Бизнесархитектура
Архитектура
информации
Технологическая
архитектура
Видение общих требований к архитектуре
Концептуальная архитектура
Архитектурное моделирование
?
?
?
Модель Meta Group
?
Портфель
прикладных
систем
Фреймворки в моделировании
архитектуры (5)
Разработанные архитектуры
Методика разработки архитектур ADM
Техническая эталонная
модель TRM
Таксономия сервисов
Базовая
архитектура
TOGAF
База стандартов
База элементарных блоков
База ресурсов, в т.ч. язык ADML, принципы,
представления, примеры реализации
Модель TOGAF
Фреймворки в моделировании
архитектуры (6)
Функциональность с точки зрения
конечного пользователя
Разработчики
Управление разработкой ПО
Логическое
представление
Представление
уровня разработки
Сценарии
Процессное
представление
Физическое
представление
Системные интеграторы
Производительность
Масштабируемость
Системные инженеры
Топология
Коммуникации
Модель "4+1"
Фреймворки в моделировании
архитектуры (7)
Функциональные требования
Архитектура приложений
Концептуальная
архитектура
Логическая структура
Архитектура
реализации
(MSF)
Шаблоны
проектирования
Операционные требования
Технологическая архитектура
Концептуальная
архитектура
Логическая структура
Архитектура
реализации
(MSA, MOF)
Разработка приложений
(MSF)
Инфраструктура и
эксплуатация
(MSA, MOF, MOM)
Развертывание приложений
(MSF)
Аппаратное обеспечение в
сетевом окружении
(MSA)
Методики Microsoft (MSF, MSA, MOF, MSM)
Шаблоны Центров
обработки данных
Выбор методологии
моделировании архитектуры
уровни
абстракции
Бизнесархитектура
Архитектура
информации
Архитектура
приложений
Технологическая
архитектура
Контекст
("планировщик")
Классы бизнеспроцессов
Список бизнеспроцессов
Список бизнесобъектов
Связи между
бизнес-объектами
Список
бизнеспроцессов
Список мест
расположения
бизнеса
Концептуальный
уровень
("владелец"
предприятия)
Сценарии
использования (Use
case)
Модели бизнеспроцессов
Семантические
модели
Модели связей
Модели
"сущность-связи"
Разбиение
процессов на
сервисы
Модели бизнеслогистики
Операционные
требования
Конфигурация
данных
Логический
("проектировщик"
)
Модели потоков
работ
Модели бизнессобытий
Модель
расположения
процессов
Определения ролей
Логические
модели данных
Схемы данных
Спецификации
документов
Определения
сервисов
Взаимосвязи
между
сервисами
Модели
классов
Логические типы
серверов
Географическое
распределение
серверов
Хостируемое ПО
Физический
("разработчик")
Спецификации
процессов
Модели интеграции
процессов
Описание ручных
процедур
Стандарты качества
Физические
модели данных
Схемы БД
Код доступа к
данным
Справочники
данных
Код программ
Описания
интерфейсов
Расписания
процессов
Код workflow
Физические
серверы
Топология
фрагментов сети
Мапирование
продуктов на
сервисы и
приложения
Процессы жизненного цикла
и методология их описания
Классификации моделей
жизненного цикла разработки ПО
по уникальность / тиражируемости проектируемого ПО
•каноническое проектирование
•типовое проектирование
по логической последовательности работ в ЖЦ
•каскадная (водопадная – waterfall),
•инкрементальная (эволюционная),
•спиральная.
Каскадная модель
Фазы, результаты
Анализ
требований
Результат - спецификация (текст)
Проектирование
Результат - программы и текст
Результат - программный код
и комментарии
Реализация
(кодирование)
Результат - исходный код
Интеграция
Результат - отчет о тестировании с
описанием дефектов
Тестирование
Время
Инкрементальная модель
Спиральная модель
Фазы, результаты
Планирование
и анализ
Проектирование
Анализ
требований 1
Анализ
требований 2
Оценка
Проектирование 1
Проектирование 2
Реализация
(кодирование) 1
Интеграция 1
Реализация
(кодирование) 2
Интеграция 2
Реализация
(кодирование) n
Интеграция n
Тестирование 1
Тестирование 2
Реализация
Цикл Боэма
Анализ
требований n
Время
Проектирование n
Тестирование n
Эволюционная с 3 итерациями
Методологии проектирования (1)
Как получится (code&fix)
Cleanroom Software Engineering
Итеративная
RUP
OpenUP
MSF
RAD
Agile
Agile Modeling
Agile Unified Process (AUP)
Agile Data Method
DSDM
Essential Unified Process (EssUP)
Extreme programming, XP
Feature Driven Development (FDD)
Getting Real
Open Unified Process (OpenUP)
Scrum
Бережливая разработка (Lean Software Development)
КанБан
FDD
Методологии проектирования (2)
Итеративная модель
Методологии проектирования (3)
RUP
Методологии проектирования (4)
OpenUP
Методологии проектирования (5)
Основные принципы RAD:
Инструментарий должен быть нацелен
на минимизацию времени разработки.
Создание прототипа для уточнения требований заказчика.
Цикличность разработки:
каждая новая версия продукта основывается на оценке
результата работы предыдущей версии заказчиком.
...
Методологии проектирования (5)
Основные принципы RAD:
...
Минимизация времени разработки версии
за счет переноса уже готовых модулей
и добавления функциональности в новую версию.
Команда разработчиков должна тесно сотрудничать,
каждый участник должен быть готов выполнять
несколько обязанностей.
Управление проектом должно минимизировать
длительность цикла разработки.
Методологии проектирования (6)
Экстремальное программирование:
цель – быстрая разработка главной функциональности;
проектирование "на ходу" – сборка модулей
("историй пользователя" );
umit-тесты для каждого модуля;
документация включается в код;
программы пишутся парами;
весь код принадлежит всем программистам
Отображение
отсканированной единицы
товара
После сканирования упаковки
вверху терминала появляется
краткое описание товара и его
цена
Создание чека
Краткое описание
отсканированного товара, его
количество и цена сохраняются.
После обработки всей корзины в
нижнюю часть чека добавляется
общая сумма
Методологии проектирования (7)
Scrum;
Схема коммуникаций
Spint Backlog
Методологии проектирования (8)
Канбан:
Схема доски Канбан
Методология
организации
проектирования
и разработки
информационных
технологий
Часть 1
LOGO