Повышение эффективности разработки прикладного ПО: интегрированная платформа для программирования и анализа производительности процесса разработки. Продукты.

Презентация:



Advertisements
Похожие презентации
Положение об отделе В.Андреев, Д.Сатин. Штат отдела начальник отдела; бизнес-аналитик; проектировщик пользовательских интерфейсов; специалист по анализу.
Advertisements

Автоматизация тестирования. План 1.Применение автоматизированного тестирования 2.Выбор инструментария 3.Процесс автоматизации (IBM Rational) GUI тестирование.
Управление конфигурациями в проектах разработки и сопровождения ПО: опыт внедрения IBM Rational ClearCase, ClearQuest и собственных решений на примере.
Презентация дисциплины по выбору Для студентов, обучающихся по направлению «Прикладная информатика» (магистерская программа «Прикладная информатика.
Методология проектирования RAD МДК Раздел 1.
Быстрая разработка кадастровых приложений муниципального уровня с использованием системы «ИнМета» Вячеслав Томилин ООО НВЦ «Интеграционные технологии»
Информационные системы Что такое ИС? Функции ИС Жизненные циклы ИС: Понятия Процессы Стадии Модели Основные способы построения ИС.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Тема работы Обзор CASE-средств. Что это? Термин CASE (Computer Aided Software Engineering) CASE-средства CASE-система CASE-технология CASE-индустрия.
Лекция 3 Архитектура информационных систем. Вопросы лекции 1. Архитектура информационной системы 2. Архитектурный подход к реализации информационных систем.
Жизненный цикл информационной системы - Понятие 2 - Стадии 3 - Процессы 4 - Модели 6.
Учебный курс Стандартизация и сертификация программного обеспечения Лекция 7 доктор технических наук, профессор, проректор по информатизации, заведующий.
Система управления проектами для учреждений образования.
2-3 февраля 2010 г. Разработка решения для управления высшим учебным заведением на платформе «1С:Предприятие 8.2» Шульгин Андрей Олегович Ставропольский.
«1С:Документооборот 8». Зачем автоматизировать документооборот? Единая информационная база документов Возможность параллельного выполнения операций Непрерывность.
Цель: гарантировать понимание процессов всеми членами команды Автор: Михаил Смирнов
Project M Cache Version 5 Промышленная разработка Web приложений и Управление проектом.
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
Количественное Управление Надежность плана Выполнение процесса Завершенность поставок Сроки поставки Неисправленные дефекты ( на момент поставки Заказчику)
Технологии конструирования программного обеспечения.
Транксрипт:

Повышение эффективности разработки прикладного ПО: интегрированная платформа для программирования и анализа производительности процесса разработки. Продукты семейства IBM Rational Новичков Александр

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Проблемы разработки сложных информационных систем Проекты создания программного обеспечения почти никогда не укладываются в запланированные сроки и бюджет Созданные в результате этого программы почти никогда не оправдывают возлагавшихся на них надежд «… только 26% проектов создания ИС заканчиваются успешно» (Standish Group CHAOS Report, 1998)

Результаты исследования Standish Group по выполнению программных проектов Проект завершен вовремя, в пределах бюджета, реализована вся запланированная функциональность (в 1998 г. - 26%) Проект завершен с опозданием, с превышением бюджета, реализована не вся запланированная функциональность Досрочно прекращенные (неудачные) проекты Статистика: Среднее превышение сроков выполнения проекта - 222% Средний перерасход бюджета - 189%

Проблемы разработки сложных информационных систем Корни проблемы:Корни проблемы: –Задачи почти всегда опережают наши возможности –Разработчики пренебрегают присущими другим индустриям системными принципами –Разработчики пренебрегают присущими другим индустриям системными принципами : массовое производство; повторяемость процессов и компонентов; надежность; следование методологическим и технологическим принципам. –Узкая специализация затрудняет взаимопонимание между участниками проекта –Отсутствуют механизмы определения начальных требований

Как попасть в 26% успешных проектов? Успешные проектыНе полностью завершенные проекты Проваленные проекты Вовлечение пользователя Недостаточные исходные данные Неполнота требований Поддержка руководства Неполнота требованийНедостаточное вовлечение пользователя Четкое определение требований Изменение требований, спецификаций Недостаток ресурсов Надлежащее планирование Недостаток поддержки руководства Нереалистичные оценки Реалистичные оценкиТехнологическая некомпетентность Недостаток поддержки руководства

Пути выхода из кризиса Использовать хорошо зарекомендовавшую себя на практике методологию Методология – возможность быстрого приобретения квалификации Методология и технология должны быть рассчитаны на разработку качественных программных систем силами разработчиков средней квалификации

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Состав IBM Rational Unified Process Методология коллективной разработки Описание процесса разработки, технологии и правил создания артефактов Рекомендации по применению средств инструментальной поддержки Настраиваемые шаблоны, позволяющие использовать информацию проекта для создания отчетных документов Инструментарий для настройки процесса под нужды организации и конкретного проекта Методики и инструментарий измерения характеристик проектов

Преимущества IBM Rational Unified Process Дает практические рекомендации по планированию, укомплектованию персоналом, выполнению и мониторингу Предлагает структуру управления рисками Планирование итерационного проекта, всего жизненного цикла и конкретной итерации Методика мониторинга продвижения итерационного проекта

Кто использует методологию? Заказчики – для организации портфелей проектов разработки и сопровождения ПС, для организации систем приемочного тестирования и сопровождения Разработчики - для организации коллективной разработки ПС разного масштаба, в том числе распределенной разработки Сопровождающие организации – для организации и автоматизации процессов сопровождения Службы тестирования – для сборочного, приемочного, аттестационного функционального и нагрузочного тестирования

Методология IBM Rational Unified Process Процессы и фазы жизненного цикла

Гармонизация с ГОСТ Р Адаптация к условиям России Моделирование деятельности организации Управление требованиями Анализ и проектирование Реализация Тестирование Ввод в действие Управление проектом Поддержка среды разработки ПРОЦЕССЫ СТАДИИ ОбследованиеТехнический проектРабочий проект Передача в эксплуатацию n n+2 n+1 m m+1 Итерации Конфигурационное управление и управление изменениями

Rational Unified Process Структура жизненного цикла –Жизненный цикл программной системы разбивается на циклы, каждый из которых работает над новым поколением изделия –Каждый цикл разработки состоит из четырех последовательных стадий Стадии разбиваются на итерации Каждая итерация содержит все аспекты разработки и повторяет все основные потоки работВремяЦелижизненногоциклаАрхитектуражизненногоцикла НачальнаяработоспособностьВыпуск Итерационно #1, #2, … #N

Итерационная разработка Итерация - это законченный цикл разработки, приводящий к выпуску выполнимого изделия (внутренней или внешней версии) или подмножества конечного продукта, которое возрастает от итерации к итерации, чтобы стать законченной системой Управление конфигурацией и изменениями Среда Бизнес- моделирование Планирование Требования Анализ и проектирование Реализация Развертывание Тестирование Эволюция

Rational Unified Process Итерационная разработка –Итерационный подход позволяет раньше обнаруживать и разрешать риски

Rational Unified Process RUP – это «общий» процесс –Каждый проект выполняется с использованием адаптированного процесса –Организация может поддерживать общий процесс организации как основу для процессов проектов

Роли Задачи Выполняют Артефакты Ответственны за Процессы Работы Шаблоны документов Концепции Руководства по работе Руководства по использованию инструментальных средств ОтчетыРуководства по созданию артефактов Контрольные точки Стадии Ядро RUP

Описание процессов Процессы описываются с использованием диаграмм деятельности. Процессы разбиваются на работы

Описание работ Для описания работ используются диаграммы взаимодействия (диаграммы деталей)

RUP - настраиваемый процесс Слияние Адаптация Model Ваши процессы Model Ваши процессы Создание Web Site Ваш проект Web Site Ваш проект RUP Web Site Импорт RUP Model Может использоваться в целом или частично Может быть настроен так, чтобы соответствовать существующему процессу Может использоваться НЕМЕДЛЕННО после поставки

Количественные характеристики RUP

Аналитик Rational RequisitePro WebSphere Business Integrator Modeler & Monitor Архитектор Rational Rose XDE family Разработчик Rational PurifyPlus Rational Rose XDE Developer for Java Rational Rapid Developer WebSphere Studio Family Rational Rose XDE Developer for Visual Studio Тестер Rational Performance Tester Rational Robot Rational Functional Tester for Java and Web IBM and 3 rd Party Servers Partners Менеджер Rational Unified Process Rational ClearCase Rational ClearQuest Rational Unified Process Rational ClearCase Rational ClearQuest Rational RequisitePro Rational TestManager Rational ProjectConsole Rational RequisitePro Rational TestManager Rational ProjectConsole Open Standards IBM Services Microsoft Pervasive and Embedded DB2 Lotus Tivoli WebSphere Разработка ПО – командная игра

Уровни зрелости процессов по модели CMM

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Процесс бизнес-моделирования Описание бизнес процессов и структуры подразделений Определение узких мест в бизнес процессах и определение потенциальных возможностей их усовершенствовании Моделирование бизнес-процессов на языке UML Инструмент поддержки процесса управления бизнес- моделирования – IBM Rational Rose

Виды диаграмм Диаграмма сценариев использования Диаграмма действий (activity) Диаграмма развертывания Диаграмма классов

Проектирование ПС Визуальное моделирование на UML Прямой и обратный инжиниринг реляционных баз данных ведущих производителей: DB2, ORACLE, SQL Server, Sybase Коллективная разработка моделей, включая их сравнение и интеграцию Генерация кода для ведущих средств разработки приложений: Java, C++, С#, Visual Basic, Ada, С, XML

Процесс реализации Построение графических моделей объектно- ориентированного описания компонентов ПС на языке UML Поддержка шаблонов проектирования (паттернов) Поддержка прямого и обратного проектирования на Java и С# Взаимодействие со средствами разработки WebSphere Синхронизация между кодом и моделью в реальном масштабе времени разработки Среда тестирования для каждого разработчика на его рабочем месте Инструмент поддержки процесса реализации - IBM Rational XDE и RapidDeveloper

Ускорение разработки в WebSphere XDE – привычная для разработчика среда IBM WebSphere Application Developer Возможности XDE доступны как обычные функции IDE Нет необходимости в конвертировании

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Беды –Требования не всегда очевидны и имеют много источников –Требования не всегда удается ясно выразить словами; –Есть много типов требований на разных уровнях абстракции –Число требований неуправляемо, если ими не управлять –Требования имеют уникальные свойства. Например, они не являются ни одинаково важными, ни одинаково простыми для согласования –Есть много заинтересованных сторон, значит требования должны управляться смешанными группами людей –Требования изменяются

Процесс управления требованиями Ведение базы данных требований (репозитория) Контроль выполнения требований Создание и поддержание необходимых типов требований и их атрибутов Автоматизация выделения и сбора требований в документах формата MS Word Трассировка связей между требованиями Управление метриками Поддержка дискуссий Автоматизированное взаимодействие с процессами бизнес-моделирования, реализации, управления изменениями и тестирования Работа через Интернет Инструмент поддержки процесса управления требованиями – IBM Rational RequisitePro

Способы формирования требований –разметка требований в документах Word2000 (извлечение требований из документов) –непосредственный ввод требований и атрибутов в инструментальном средстве RequisitePro –формирование требований из Rose (установление связи между сценарием использования и требованием)

Способы формирования требований

Управление требованиями Разметка требований Трассировка требованийФормирование Use-case диаграмм Определение типов и атрибутов требований

Интеграция с WebSphere Связь с RequisitePro –Объединяет точки зрения разработчиков, проектировщиков, тестировщиков –Позволяет отслеживать изменение требований Создание нового Use Case в модели XDE Его описание в RequisitePro

Как сделать лучше? Добиться одинакового понимания с заказчиками и пользователями того, что должно делать ПО Дать разработчикам полное понимание требований к ПО Определить границы ПО Обеспечить базу для оценки стоимости и времени на разработку ПО Обеспечить базу для планирования технического содержания итераций Определить пользовательский интерфейс, базируясь на потребностях и целях пользователей

Как сделать лучше? – –проанализировать проблему определить границы в рамках, которых решается проблема, и ограничения, накладываемые на ее решение – –определить потребности заинтересованных лиц. – –описать разрабатываемое ПО результатом описания является ее описание на естественном языке и в графике с использованием моделей – –управлять проектом определить ресурсы для управления (время, люди, финансы) – –управлять изменяющимися требованиями

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Беды 53% проектов имеют перерасход средств более чем на 50% 68% проектов имеют перерасход времени более чем на 50% Более 31% проектов прекращены до их заверения Только 16% проектов завершены в срок и в пределах запланированного бюджета В крупных организациях только 9% проектов завершены в срок и в пределах запланированного бюджета! Эти ошибки в реализации проектов стоили компаниям около $ в 1995 году. Правильная реализация процесса управления конфигурацией при разработке и сопровождении ПС позволяет значительно сократить такие потери

Процесс управления конфигурациями Версионное управление файлами и директориями Обеспечение одновременного развития и сопровождения систем - поддержка параллельных изменений одних и тех же файлов Специализированная обработка файлов различных типов Поддержка интеграции и сборки системы Средство управления конфигурациями компонент ПС в реальном масштабе времени Поддержка взаимодействия регионально распределенных проектных команд Возможность выполнения основных операций через Web Инструмент поддержки процесса управления конфигурациями – IBM Rational ClearCase

Параллельная разработка

Параллельная разработка в жизни Main (он же поток интеграции) Dev Доставка разработчиком Доставка интегратором BF_1.0.xxx PR_1.0.xxx Private Доставка разработчиком R_1.0.xxxx Private PR_1.1.xxx B_1.0.xxx

Сравнение и слияние версий. Связь версий с запросами на изменение Сравнение версий Слияние версий Запросы на изменение Версия элемента

«Тонкое» управление политикой доступа к элементам

Настраиваемая форма автоматизированной отчетности

Интегрированная поддержка ClearCase –Выполнение всех операций из среды –Версионный контроль высокого разрешения класс, компонент, роль, объект, прецедент, пакет Интеграция с WebSphere и.NET

Объединение регионально удаленных групп MultiSite позволяет объединить регионально удаленные проектные группы в рамках одного проекта

Преимущества Сокращение времени на решение проблем с инсталляцией отдельных компонент ПО Сокращение затрат на переделку ПО (как при разработке так и при сопровождении) Сокращение затрат на диагностику сделанных изменений Повышение качества процессов разработки и сопровождения Улучшение взаимодействия с тестировщиками, постановщиками требований Поддержка регионально удаленных команд разработчиков Улучшение контроля над деятельностью разработчиков Улучшение планирования

Преимущества Сокращение времени настройки рабочего пространства разработчика Экономия времени за счет использования базовых версий и релизов Сокращение времени разработки за счет ветвлений и слияний Не тратится время на интеграцию рабочего пространства с новой базовой версией Использование утилит автоматизации сборки сокращает время на сборку отдельных модулей или ПО в целом Сокращение времени на обновление и синхронизацию рабочих материалов географически распределенных команд Сокращение трудозатрат на решение проблем, связанных с неодинаковой работой ПО, полученных в результате разных сборок

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Процесс управления изменениями Контролируемая обработка запросов (поручения, отчеты о выполнении, ошибки…) в соответствии с заранее определенным процессом Работа с различными типами запросов Настраиваемый набор атрибутов и состояний запросов на изменения Формирование отчетов произвольного образца Создание разнообразных графиков (текущее состояние, статистика, тенденции) Автоматическое уведомление исполнителей о ходе обработки запросов по электронной почте Контроль и внесение изменений через Интернет Широкие возможности по адаптации Инструмент поддержки процесса управления изменениями – IBM Rational ClearQuest

Примеры схем прохождения запроса на изменение

Управление изменениями

Текущие отчеты позволяют определять состояние проекта Мастера быстро создают отчеты и графики Можно работать в Windows и/или Web- интерфейсе Статистика по запросам на изменение Менеджер проекта

Статистика по запросам на изменение

Преимущества Четкое представление того кто и чем занимается в проекте Полное документирование дефектов Планирование деятельности каждого разработчика Удобное взаимодействие между саппортом, тестировщиками и разработчиками Неразрывная связь с требованиями Графическое представление метрик проекта

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Беды Тестирование сложный и ненормированный процесс Типичное тестирование, как правило, производится без соответствующей методологической части и без использования программных средств для реализации правильного (планируемого) тестирования Отсутствие формализованных требований Не все релизы или\и билды проходят регрессионное тестирование

Процесс тестирования Автономное, сборочное и системное тестирование Планирование и осуществление тестирования Создание и воспроизведение многократно используемых тестовых скриптов Итерационное регрессионное тестирование Тестирование кода Java, С#, С++… Поддержка ведущих средств разработки мировых производителей Тестирование интернет-приложений (Java и Dynamic HTML) Поддержка командной работы над проектом Инструменты поддержки процесса тестирования – TestStudio, PurifyPlus

Методика тестирования Специалист по качеству Системное тестирование Функциональное Нагрузочное Сборочное тестирование Автономное тестирование Специалист по комплексированию Разработчик

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

Автономное тестирование Quantify Quantify PurifyPureCoverage

Запись скриптов, формирование отчетности и анализ тестов Robot TestManager TestManager

Преимущество Итерационный подход Тестирование на ранних этапах разработки ПО Снижение основных рисков заказчика, и разработчика Экономию ресурсов за счет автоматизации регрессионного тестирования Улучшение качества ПО за счет многократных проверок изменений Улучшение качества тестирования за счет использования современных технологий Снижаются основные риски и заказчика, и разработчика Экономия ресурсов при повторном использовании регрессионных тестов Улучшение качества системы при более частых проверках изменений Правдивое воспроизведение загрузки системы при нагрузочных испытаниях Улучшение качества тестирования при использовании современных технологий

Преимущество

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Беды Низкое качество выпускаемой документации Сложно обеспечить актуализацию проектной документации Приходится вести 2 комплекта документации (внутреннюю и внешнюю)

Процесс документирования Выпуск документации в соответствии с требованиями практически любых стандартов (ГОСТ 19, ГОСТ 34, ISO …) Минимизация ручных операций Работа на основе предопределенных шаблонов Генерация документов в форматах MS Word и HTML Повторное использования шаблонов Инструмент поддержки процесса документирования – IBM Rational SoDA

Сбор и публикация проектной документации IBM Rational SoDA Проектная Документация MS Word WEB-сайт с проектной документацией Требования Изменения Дефекты Планы Тесты

Формирование шаблонов документов

Формирование документов из репозитория в соответствии с шаблонами MS Word - SoDA

Преимущества Минимизация ручных операцийМинимизация ручных операций Контроль хода проекта по документацииКонтроль хода проекта по документации Гибкая адаптация под любые стандартыГибкая адаптация под любые стандарты Повторное использование в других проектахПовторное использование в других проектах Разработка шаблонов автоматизированной отчетности в Rational SoDAРазработка шаблонов автоматизированной отчетности в Rational SoDA Обеспечение версионного сопровождения шаблонов и отчетов в Rational ClearCaseОбеспечение версионного сопровождения шаблонов и отчетов в Rational ClearCase

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Сбор и визуализация проектных метрик

Поддержка всего жизненного цикла разработки и сопровождения ПО ClearQuest RequisitePro Rose/XDE TestManage r Robot Разработка. Rapid Developer XDE Purify Plus ClearCase

Поддержка всего жизненного цикла разработки и сопровождения ПО ClearQuest RequisitePro Rose/XDE TestManage r Robot Разработка. Rapid Developer XDE Purify Plus Получение сценариев использования. Поддержка синхронизации Осуществление тестирования на этапе разработки. Компонентное тестирование Сбор информации о производительности, стабильности и охвате при компонентном тестировании Требования и сценарии использования – основа для создания планов тестирования и сценариев тестирования Запросы на изменение и расширения порождают новые требования Документирование всех дефектов на этапах тестирования и сопровождения Запись и воспроизведение скриптов тестирования по плану тестирования. Сбор ошибок при функциональном и нагрузочном тестировании ClearCase Хранение версий Сборка проекта Сопровождение Осуществляется связь между запросами на изменения и всеми версиями артефактов, находящихся в версионном хранилище Генерация объектного кода С++, Java. Синхронизация кода и модели

Поддержка всего жизненного цикла разработки и сопровождения ПО ClearQuest RequisitePro Rose/XDE TestManage r Robot Разработка. Rapid Developer XDE Purify Plus Получение сценариев использования. Поддержка синхронизации Осуществление тестирования на этапе разработки. Компонентное тестирование Сбор информации о производительности, стабильности и охвате при компонентном тестировании Требования и сценарии использования – основа для создания планов тестирования и сценариев тестирования Запросы на изменение и расширения порождают новые требования Документирование всех дефектов на этапах тестирования и сопровождения Запись и воспроизведение скриптов тестирования по плану тестирования. Сбор ошибок при функциональном и нагрузочном тестировании ClearCase Хранение версий Сборка проекта Сопровождение Осуществляется связь между запросами на изменения и всеми версиями артефактов, находящихся в версионном хранилище Генерация объектного кода С++, Java. Синхронизация кода и модели +Rational Unified Process +Rational Developer Network +Project Console + SoDA + ProcessWorkbench

Введение Что такое RUP Бизнес-моделирование Проектирование ПС Реализация Управление требованиями Управление конфигурациями Управление изменениями Тестирование Документирование Структура взаимодействия Подведение итогов

Основные преимущества технологии IBM Rational Ориентация на коллективную разработку Единая методология для поддержания всего жизненного цикла разработки программных систем Итерационный подход Адаптируемость процессов Инструментальная поддержка Поддержка территориально удаленных групп разработчиков Удаленная работа и контроль состояния проекта через WEB Глубокая интеграция инструментов IBM Rational со средствами разработки

Rational в России Computer Mechanics PriceWaterHouse Ваньеганнефть Восточно-сибирский государственный университет Парекс-Банк Люксофт Телесофт-Россия Терралинк Пилот Инист РАО ЕЭС Motorola (СПб) Петербургский государственный университет путей сообщения ММВБ ЦБРФ Сбербанк (Москва) Siemens Северсталь Спутник Мурманское Морское Пароходство Telma (Н. Новгород)

Спасибо за внимание