131 плекс решений IBM Rational Software and Systems Delivery как наиболее полный из представленных на рынке по спектру реализованных компо- нентов ALM. Этот комплекс включает в себя продукты для управления портфелями проектов, проектирования и разработки на базе моделей, управления требованиями, управления конфигурациями и изменениями, управления качеством, управления сборками и релизами, оркестровки процессов жизненного цикла ПО и обеспечения отчетности и докумен- тации по этим процессам. Слово Systems в названии появилось после приобретения компании Telelogic, решения которой ориентированы на поддержку процессов системной инженерии и теперь интегрированы в портфель Rational. Их включение в ALM-среду IBM отражает тенден- цию сближения процессов разработки ПО и систем и формирования для них единой среды управления жизненным циклом.
Но наиболее существенным вкладом компании IBM в развитие тех- нологий ALM является долгосрочный проект Jazz по созданию сервер- ной инфраструктуры для реализации интегрированной корпоративной платформы управления жизненным циклом приложений. На данный момент целый ряд продуктов семейства Rational уже интегрированы с платформой Jazz, выпущено несколько новых решений, изначально соз- данных для работы на базе Jazz, и в перспективе будет обеспечена под- держка инфраструктуры Jazz во всех компонентах линейки Rational.
Ядром Jazz является платформа Jazz Foundation, объединяющая сер- вер Jazz Team Server и ряд дополнительных модулей интеграции. Jazz
Team Server демонстрирует новый для ALM подход к интеграции ком- понентов для разных этапов жизненного цикла (рис. 3.16 [17]). Если традиционно такая интеграция базировалась на точечной связи между отдельными продуктами, то в Jazz реализована открытая распределен- ная сервисная архитектура на базе стандарта REST, которая обеспечи- вает простое взаимодействие инструментальных компонентов между собой (своего рода ALM Web). Интерфейс RESTful позволяет представ- лять в виде сервисов данные и функциональность разнообразных моду- лей. Использование подхода на базе стандартов Web обеспечивает хо- рошую масштабируемость Jazz, делая платформу универсальным реше- нием, способным поддерживать задачи ALM в небольших командах и в крупных коллективах разработчиков [24].
Jazz Foundation предоставляет общие для всех компонентов ALM сервисы, позволяющие реализовать ключевые возможности современ- ной среды управления жизненным циклом приложений. Это, например, сервисы совместной работы, обеспечивающие взаимодействие различ- ных участников команды в процессе решения общих задач, поддержи- вающие взаимосвязи между разными этапами жизненного цикла и при этом учитывающие контекст каждой конкретной роли в ALM. Инстру- менты сотрудничества на базе Jazz используют средства мгновенных сообщений, средства организации длительных обсуждений, механизмы вики и другие популярные возможности Web 2.0. При этом все взаимо- действия между членами команды рассматриваются как проектные ре- сурсы, которые хранятся в связи с теми артефактами, которые послужи-
132 ли источником этих взаимодействий (например, дефектами или тесто- выми примерами).
Рис. 3.16. Интегрированная корпоративная платформа управления жизненным циклом приложений
Сервисы Jazz Foundation также позволяют определять и выполнять процессы в соответствии с различными методиками, включая Rational
Unified Process и разные варианты скорой разработки. Для этого предос- тавляются средства нотификации о событиях, поддержка связи членов команды в выполнении определенных потоков работ, задание и провер- ка выполнения правил, автоматизация базовых задач, организация пото- ков работ с использованием инструментария для разных этапов жизнен- ного цикла. Большое внимание уделяется обеспечению прозрачности процессов жизненного цикла и руководству процессами, для чего вво- дятся точные процессные метрики по статусу, проблемам и рискам про- екта и предоставляются инструментальные панели для их отслежива- ния, в том числе в реальном времени, на различных уровнях, от отдель- ных участников процессов до команды и уровня управления портфеля- ми. Среди других сервисов Jazz Foundation можно отметить поисковые механизмы, средства безопасности, ролевой доступ, распределенный репозиторий для всех ресурсов разработки.
Платформа Jazz обеспечивает интеграцию со средой разработки
Eclipse, предоставляя ряд представлений и проекций. Некоторыми ком- понентами Jazz поддерживается также веб-клиенты. Платформой Jazz предоставляются два значимых представления для Eclipse: Team Central и Team Artifacts. Оба представления служат для сбора информации и могут дополняться компонентами платформы Jazz. Кроме среды разра- ботки Eclipse, некоторые компоненты платформы Jazz позволяют поль-
133 зователям обращаться к серверу Jazz непосредственно из веб- обозревателя [26].
Такую возможность обеспечивает пользовательский веб-интерфейс
Jazz. Этот интерфейс больше подходит для временных или эпизодиче- ских пользователей, а не для интегрированной среды разработки, пото- му что он не требует установки никакого специального программного обеспечения на клиентском компьютере; все, что необходимо - веб- обозреватель. Каждый сервер Jazz имеет главную веб-страницу, на ко- торой пользователь может выбрать область проекта и войти в систему.
После входа пользователь может взаимодействовать с сервером Jazz и изучать информацию в репозитории Jazz, включая ознакомление с по- следними событиями, ввод и обновление элементов потока операций, а также загрузку сборок.
Из наиболее ярких новинок в семействе Rational, созданных специ- ально для работы на базе Jazz, – система Rational Team Concert (RTC), представляющая собой комплекс продуктов для организации совмест- ной работы и автоматизации процессов жизненного цикла ПО, полно- стью построенный в архитектуре Jazz. IBM Rational Team Concert явля- ется полноценной средой, предназначенной для организации разработки информационных систем в мультипроектном окружении, в котором участвует множество разработчиков. Инструмент позволяет объединить усилия специалистов в области разработки, организовать их эффектив- ное взаимодействие и сохранить высочайший уровень контроля над всей проектной деятельностью на всем протяжении проекта [19].
Система RTC реализует управление конфигурациями ПО, управле- ние задачами и сборками, а также планирование итераций и отчетность по проекту, обеспечивает определение различных типов процессов раз- работки и интегрируется с другими продуктами Rational для поддержки полного жизненного цикла ПО. В 2009 году IBM также выпустила
Rational Quality Manager – портал для управления тестированием на базе
Jazz – и инструмент управления эффективностью Rational Insight, реали- зованный для платформы Jazz с использованием аналитических техно- логий Cognos и предназначенный для задач высокоуровневого управле- ния портфелями проектов разработки.
Широкие возможности в области интеграции IBM Rational Team
Concert делают данный инструмент абсолютно уникальным. Среди су- ществующих интеграций следует отметить:
1. Интеграцию с IBM Rational Requirements Composer в рамках со- вместной разработки приложений (Collaborative application lifecycle management или CALM), которая позволяет связывать рабочие задания с требованиями, порожденными или измененными на основе этих зада- ний, и наоборот, требования с заданиями, созданными для планирова- ния работ по реализации данных требований
2. Интеграцию с IBM Rational Quality Manager в рамках совместной разработки приложений (Collaborative application lifecycle management или CALM), на основе чего становится возможным организовать де-
134 фект-трэкинг по результатам выполненных тестов в ходе тестирования выпускаемых программных продуктов.
3. Интеграцию с IBM Rational ClearQuest для синхронизации рабочих заданий и запросов на изменения, определенных в классическом средст- ве управления разработкой IBM Rational ClearQuest.
4. Интеграцию с IBM Rational ClearCase для синхронизации артефак- тов версионного и конфигурационного управления между двумя ука- занными средствами
Открытая архитектура Jazz Integration Architecture, лежащая в основе
IBM Rational Team Concert, позволяет вести дополнительную разработ- ку новых механизмов интеграции с другими системами, которые могут быть развернуты и активно использоваться в организации. Одним из вариантов интеграции с данными системами может являться использо- вание продукта RTC Email Reader от компании «Финэко Софт», кото- рый обеспечивает синхронизацию рабочих заданий IBM Rational Team
Concert в соответствии с Email сообщениями предопределенного фор- мата. При этом возможна и обратная синхронизация, благодаря встро- енной подсистеме оповещений IBM Rational Team Concert.
Надо также отметить, что управление версиями и конфигурациями на базе IBM Rational Team Concert может быть организовано практиче- ски в любом проекте, даже если среда разработки (IDE) не имеет непо- средственной интеграции с этим инструментом. Это становится воз- можным, благодаря совместному использованию «толстого клиента»
IBM Rational Team Concert и неинтегрируемого IDE. Так, если для
Eclipse IDE, IBM Rational Software Architect, IBM Rational Application
Developer и Microsoft Visual Studio такие интеграции существуют, то уже, например, с Delphi придется дополнительно использовать «тол- стый клиент» IBM Rational Team Concert, что не представляет больших трудностей.
135
1 ... 7 8 9 10 11 12 13 14 ... 37
Литература к главе 3 1. Application lifecycle management http://en.wikipedia.org/wiki/
2. ISO/IEC 12207 Standard for Information Technoiogy — Software
Life Cycle Processes http://www.business- process.ru/software_engineering/software_engineering_iso_- iec_12207.html
3. ISO/IEC 12207:1995 ISO/IEC 12207:1995 http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.ht m?csnumber=21208 4. ISO/IEC 15288:2008. http://www.iso.org/iso/catalogue_detail?csnumber=43564 5. Борисов М. Scrum: гибкое управление разработкой. Открытые системы» , № 04, 2007. http://www.osp.ru/os/2007/04/4220063/
6. Боэм Б.У. Инженерное проектирование программного обеспе- чения: Пер. с англ. – М.: Радио и связь. 1985. – 512 с.
7. Вендров А.М. Современные технологии создания программного обеспечения. Обзор. http://citforum.ru/programming/application/program
8. Вы начинаете работать с Rational? http://www.ibm.com/developerworks/ru/rational/newto/
9. Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д. Технология разра- ботки программного обеспечения: учебное пособие / под ред.
Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М., 2008. – 400 с.
10. Гиббс. Р. Управление проектами с помощью IBM Rational Uni- fied Process. Пер. с англ. – М.: КУДИЦ-ПРЕСС. – 2007 11. Гибкая методология разработки, http://ru.wikipedia.org/wiki/%D0%930%BA%D0%B8 12. Гибкая методология разработки Agile http://www.methodlab.ru/technology/agile.shtml
13. ГОСТ 19.xxx http://www.rugost.com/index.php?option=com_content&task=catego ry§ionid=6&id=19&Itemid=50 14. ГОСТ 34.601- 90 Автоматизированные системы. Стадии созда- ния. http://www.rugost.com/index.php?option=com_content&task=view&
id=95&Itemid=53 15. Дубова Н. Программный круговорот. Открытые системы» , № 01, 2011Открытые системы» , № 01, 2011. http://www.osp.ru/os/2011/01_11/13006960/
16. Каскадная модель. http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%81%D0%BA
%D0%B0%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BC%D0
%BE%D0%B4%D0%B5%D0%BB%D1%8C
136 17. Климов А. Открытая платформа Jazz - новый подход к разра- ботке и развитию
ПО,ttp://www.luxoft.ru/downloads/edu/ibm%20jazz%20-
%20a%20new%20approach%20for%20software%20development.p df
18. Крылов Е.В., Острейковский В.А., Типикин Н.Г. Техника разра- ботки программ: в 2 кн. Кн. 2. Технология, надежность и качест- во программного обеспечения. – М.: Высшая шк., 2008. – 469 с.
19. Лесин Д.. IBM Rational Team Concert. http://www.institutio.ru/rtc
20. Майерс Г. Надежность программного обеспечения: Пер. с англ.
– М .: Мир, 1980. – 360 с.
21. Миллер Д. Сравнение Agile методологий. http://agileguru
22. Орлов С.А. Технологии разработки программного обеспечения:
Учебник/ С. Орлов. – СПб.: Питер, 2002 – 464 с.: ил.
23. Открытое управление жизненным циклом приложений (ALM) http://www.interface.ru/home.asp?artId=8633 24. Разработка при помощи IBM Rational Jazz: превращаем команду в оркестр! http://habrahabr.ru/company/ibm/blog/70016/
25. Родыгин А. Процесс разработки или … разрабатываем процесс. http://citforum.univ.kiev.ua/programming/theory/devprocess.shtml
26. Трофимов А. Обзор нового продукта IBM Rational Team Concert и открытой платформы Jazz. http://www.interface.ru/home.asp?artId=16750 27. Уразбаев А. Внедрение Agile. КомпьютерПресс 5'2007 http://www.compress.ru/article.aspx?id=17661&iid=817 28. Что нового в IBM Rational Software Architect 8.0 http://www.ibm.com/developerworks/ru/library/r-whats-new-in- rational-software-architect-8/#author1 29. Эллингсуорт М Как использовать метод управления проектами
Scrum, работая с IBM Rational Team Concert и платформой Jazz. http://www.ibm.com/developerworks/ru/library/r-
0701_ellingsworth/index.html
137
Глава 4
ПРОЕКТИРОВАНИЕ ПРОГРАММНЫХ СИСТЕМ. ОП-
РЕДЕЛЕНИЕ ТРЕБОВАНИЙ И ЦЕЛЕЙ ПРОГРАММ-
НОГО ПРОДУКТА
4.1. Процесс проектирования как последовательная трансляция
требований, предъявляемых к системе
Процесс создания программной системы начинается с постановки
задачи, в ходе которой определяются требования к программному про- дукту. Это один из наиболее важных этапов при создании ПС, так как от того, насколько полно, точно и ясно определены требования к разраба- тываемой ПС, ее функции и предполагаемые возможности, во многом зависит качество и стоимость разработки.
В процессе постановки задачи четко формулируется назначение раз- рабатываемой ПО и определяется список основных требований к ней.
Каждое требование, по сути, есть описание необходимого заказчику свойства ПС. Различают функциональные требования, определяющие функции, которые будут выполняться разрабатываемой ПС, и эксплуа- тационные (нефункциональные) требования, определяющие особенно- сти ее работы. Результатом постановки задачи должно быть техниче- ское задание на создание программной системы. Однако разработать техническое задание по начальным данным заказчика (пользователя)
ПС достаточно сложно, а порой и невозможно.
По многолетнему опыту крупных организаций-разработчиков про- граммных систем как зарубежных, так и отечественных разработке тех- нического задания должна предшествовать оценка осуществимости программной системы, которая необходима заказчику. Как отмечает автор книги [19], обычно заказчик выдает 2 – 3 страницы текста задания и сразу же просит оценить время выполнения заказа и его стоимость.
Нередки случаи, когда целые коллективы ошибаются в 5 – 10 раз и по- падают в кабалу или теряют профессиональную репутацию. Чтобы из- бежать такой ситуации, нужно предложить заказчику оформить началь- ный договор на 2 – 4 недели, с тем, чтобы два – три системных аналити- ка разобрались в задаче, с помощью каких-либо инструментальных средств выполнили декомпозицию системы на компоненты, прикинули объем этих компонентов, время их реализации и др. параметры проекта.
Об этом говорит и опыт создания программных систем, накоплен- ный в ранних проектах. Так, Г. Майерс, отмечает, что не столь уж неве- роятно встретить документ, в котором требования формулируются в следующей форме: “Обеспечить максимальную надежность, эффектив- ность, адаптируемость, общность и безопасность системы, минимизируя стоимость и время разработки, требуемую память и время реакции тер- минала” [10]. Ясно, что такого рода постановки задачи бессмысленны.
Поэтому разработка реального технического задания на создание про-