Программное обеспечение для анализа требований.
С широким применением IDEF (и предшествующей методологии — SADT) связано возникновение основных идей популярного ныне понятия — BPR (бизнес-процесс-реинжиниринг).
Существуют программы, которые предоставляют как возможность восстановления (обратный, reverse) по исходному коду общего системного проекта (классы, связь между ними и т. п.), так и прямой генерации исходного кода на основе созданного проекта (функциональных блоков бизнес-процесса)[10]:
Enterprise Architect
MS Visio
DIA
ArgoUML
Poseidon
Visual Paradigm (или DB Visual Architect)
Kodo
DBDesigner
PostgreSQL
Netbeans Enterprise Pack
UML Eclipse
Достоинства и недостатки вышеприведенных редакторов
Enterprise Architect (http://www.sparxsystems.com.au) за 190$. Из недостатков - поддержка SQL только через ODBC плюс какая-то сомнительная поддержка Linux.
MS Visio, порядка 600$. Нет поддержки Java (или я не нашел?). Не работает под Linux. Схема баз данных очень простенькая и не гибкая. Удобство интерфейса оставляет желать лучшего.
DIA (http://www.gnome.org/projects/dia), бесплатно. Функции reverse engineering имеются лишь как отдельные скрипты и находятся в зачаточном состоянии. Плюс отлаженность самой программы под Windows оставляет желать лучшего.
ArgoUML (http://argouml.tigris.org), бесплатно. Отсутствует поддержка баз данных. Плюс сам редактор довольно неуклюжий и неудобный.
Poseidon (http://www.gentleware.com) - довольно неплохой продукт, но за 250$ было бы неплохо иметь там поддержку баз данных, которой нет.
Visual Paradigm (или DB Visual Architect) (http://www.visual-paradigm.com) - при совершенно неприличной цене в 700$ она не справилась с элементарным reverse engineering'ом базы PostgeSQL. Хотя при тех же настройках и Visio и Enterprise Architect проблем не испытывали.
Kodo (http://www.solarmetric.com) - может и неплохой продукт, но они мне вчера так и не прислали триальный ключ для установки (несмотря на два запроса), равно как и нет данных о цене продукта.
DBDesigner (http://www.fabforce.net/dbdesigner4) - бесплатный. Но он не в состоянии реверснуть базу в 20 таблиц. Программа уверенно сваливается в Access Violation при попытке декодировать Foreign keys базы Postgres.
PostgreSQL - свободная объектно-реляционная система управления базами данных (СУБД). Поддержка БД практически неограниченного размера, мощные и надёжные механизмы транзакций и репликации, наследование, легкая расширяемость. Основной недостаток - нет нормальных средств для проектирования.
Netbeans Enterprise Pack - поддерживает разработку приложений Java EE 5 Enterprise, включая визуальные средства SOA, средства для работы с XML schema, работу с веб-сервисами (для BPEL), и моделирование на языке UML.
UML Eclipse - Eclipse Modeling Framework (EMF) — это среда open source, предназначенная для разработки приложений на основе моделей. Она вырабатывает код Java™ для графического редактирования, манипулирования, чтения и сортировки данных на основе модели, описанной в форме XML Schema, UML или аннотированной Java. EMF служит фундаментом многих инструментов в проектах IBM® WebSphere® Studio и Eclipse.
КОНТРОЛЬНЫЕ ВОПРОСЫ:
Дайте определение «Обратной разработки (reverse engineering)».
Когда целесообразно воспользоваться Обратной разработкой»?
Какие минусы обратной разработки?
Что такое «clean room reverse engineering»?
Какими методами обходят нарушения закона: «Об авторском праве»?
Сферы применения обратной разработки?
Дайте небольшую характеристику сферам применения обратной разработки.
С помощью каких методик производится обратная разработка программного обеспечения?
Что такое дизассемблирование?
Что такое декомпиляция?
Какое программное обеспечение для анализа требований Вы знаете?
Какие достоинства и недостатки Enterprise Architect?
Какие достоинства и недостатки MS Visio?
Какие достоинства и недостатки DIA?
Какие достоинства и недостатки ArgoUML?
Какие достоинства и недостатки Poseidon?
Какие достоинства и недостатки Visual Paradigm (или DB Visual Architect)?
Какие достоинства и недостатки Kodo?
Какие достоинства и недостатки DBDesigner?
Какие достоинства и недостатки PostgreSQL?
Какие достоинства и недостатки Netbeans Enterprise Pack?
Какие достоинства и недостатки UML Eclipse?
СПИСОК ЛИТЕРАТУРЫ:
Карл И. Вигерс. Разработка требований к программному обеспечению. — Русская редакция, 2004. — ISBN 5-7502-0240-2;
Steve McConnell. Rapid Development;
Кобёрн А. Современные методы описания функциональных требований к системам. — М.: Лори, 2002. — ISBN 0-201-70225-8, ISBN 5-85582-152-8;
Леффингуелл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению. — М.: Вильямс, 2002. — ISBN ISBN 5-8459-0275-4;
Лешек А. Мацяшек. Анализ требований и проектирование систем. – Вильямс, 2002. 432стр.;
Трофимов С.А. CASE-технологии: практическая работа в Rational Rose. Изд. 2-е. – М.: Бином-Пресс, 2002 г. - 288 с.: ил.;
Фаулер М., Скотт К. UML. Оснвы. – Пер. с англ. – СПб:Символ-Плюс,2002. – 192с.,ил.;
Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. — СПб.:Питер, 2002. — 496 с: ил.;
Г. Буч, Д. Рамбо, А. Джекобсон, Язык UML. Руководство пользователя. Перевод с английского.;
http://ru.wikipedia.org;
www.all-eBooks.com;