ведения делопроизводства, организации не спешат переводить свой документооборот в электронную форму. Причиной того, является возникновение ряда проблем при переходе с безбумажного делопроизводства.
Список литературы:
1. Глушков В.М. Основы безбумажной информатики / В.М. Глушков. -2-е изд., испр. - М.: Наука, 1987. - 552 с.
2. Дубов Д.В. Основы электронного управления: учеб. пособие / Д.В. Дубов, С. Дубовая: Министерство образования и науки Украины, Киевский Национальный университет культуры и искусства. - К.: Центр учебной литературы, 2006. - 175 с.
3. Зиновьева Н.Б. Документоведение: учебно-методическое пособие. -М.: ИПО Профиздат, 2001. - 208 с.
4. Полиновский В.В. Внедрение системы электронного документооборота в научной организации / В.В. Полиновский, М.И. Огурцов // Вестник Хмельницкого национального университета. - 2010. - С. 117-123.
5. Романов А.А. «Официальные» документы в системе электронного документооборота корпорации // Открытые информационные и компьютерные интегрированные технологии. - 2009 - С. 201-205.
ВЫБОР ЭФФЕКТИВНОГО ИНСТРУМЕНТА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ CASE-СРЕДСТВ
© Шестопал Е.А.*, Панченко В.М.Ф
Московский государственный университет информационных технологий, радиотехники и электроники (МИРЭА), г.Москва
В данной работе приводятся результаты сравнительного анализа и оценки свойств современных CASE-средств (Computer - Aided Software Engineering) как инструментария для автоматизации процессов разработки программного обеспечения.
Сравнительный анализ реализован на основе системы экспертных данных и принятых критериев оценки эффективности использования, характеризующих выделенные для наблюдений объекты.
Ключевые слова CASE-средство, проектирование программного обеспечения, визуальное моделирование, эффективный инструмент разработки, сравнительный анализ, критерий оценки, рекомендации по выбору инструмента.
* Ассистент системного аналитика ЗАО «Синимекс-Информатика».
* Профессор кафедры Интеллектуальных технологий и систем Московского государственного университета Информационных технологий, радиотехники и электроники (МИРЭА), кандидат технических наук, профессор.
Введение
Залогом успешной реализации проекта по разработке программного обеспечения (ПО) является адекватным образом построенная модель разрабатываемой системы. Построение модели представляет собой достаточно трудоемкую и длительную по времени исполнения задачу, требующую привлечения в проект высококвалифицированных специалистов. Периодическое внесение изменений в структуру проекта дополнительно усложняет задачу и приводит к удорожанию проекта в целом. Использование CASE-средств (Computer Aided Software Engineering) позволяет автоматизировать процессы различных стадий жизненного цикла ПО (ЖЦ ПО). Именно благодаря CASE-средствам разработчики информационных систем (ИС) получили возможность представлять создаваемую систему в наглядной - графической - форме, структурировать процесс разработки модулей системы, облегчить подготовку проектной документации.
В настоящее время существует множество различных CASE-средств, каждое из которых способно решать определенный круг задач в области проектирования ИС. Отдельные CASE-средства ориентированы на решение отдельных задач, например, графические инструменты описания моделей ИС в виде совокупности иерархически взаимосвязанных диаграмм, а полностью интегрированные средства представляют собой комплекс средств, поддерживающих полный ЖЦ ПО. Выбор CASE-средства зависит от множества факторов, формирующих задание на разработку конкретной ИС, и может быть осуществлен на основе сведений о характеристиках уже существующих CASE-средств.
Постановка задачи
В рамках данной работы проанализированы характеристики современных CASE-средств и сформированы рекомендации по их применению в зависимости от задач пользователя при учёте оценки эффективности средства.
Для данного исследования выбраны следующие программные средства (далее - ПО), широко применяемые и рекламируемые в настоящее время, а именно: Microsoft Visio, StarUML, Umbrello, Sparx Enterprise Architect, Rational Rose,
Сравнение CASE-средств будет произведено по следующей системе экспертных оценок и критериев:
1. Поддержка UML или других нотаций (учитывается количество поддерживаемых нотаций);
2. Поддержка генерации исходного кода (учитывается количество поддерживаемых языков программирования);
3. Поддержка обратного инжиниринга (учитывается количество поддерживаемых языков программирования);
4. Поддержка генерации схем баз данных (учитывается количество поддерживаемых драйверов);
5. Возможности интеграции с другими продуктами (учитывается количество поддерживаемых инструментов);
6. Многопользовательский режим работы (учитывается количество поддерживаемых инструментов);
7. Наличие средств документирования (учитывается количество поддерживаемых инструментов);
8. Использование репозиториев (учитывается количество различных поддерживаемых репозиториев);
9. Кроссплатформенность (учитывается количество поддерживаемых платформ);
10. Лицензия распространения (учитывается размер стоимости лицензии: высокая цена в данном случае не является хорошим показателем);
11. Дополнительные возможности.
Соответствие каждому из вышеперечисленных критериев, имеющих для наглядности числовую меру в ограниченном диапазоне значений от 0 до 5 баллов (5 баллов - высшая оценка). Чем больше возможностей предоставляет средство по определенному, тем выше будет выставляемая по нему оценка в баллах.
Оценка и накопление информации о CASE-средствах будет выполнен следующими способами [7]:
- Анализ непосредственно самих CASE-средств в процессе их использования;
- Исследование документации поставщиков CASE-средств;
- Анализ любых доступных результатов полученных ранее оценок объектов настоящего исследования;
- Изучение уже существующих обзоров по теме исследования.
Подобный обзор может быть полезен системным аналитикам, программистам и другим участникам процесса разработки ПО, использующим в своих проектах визуальное моделирование.
В настоящее время уже существуют подобные обзоры CASE-средств [6], однако по мере развития инструментов разработки ПО любой обзор утрачивает свою актуальность. Данный обзор отличается компактностью, актуальностью и соответствием описанной выше системе критериев, что позволяет с достаточной степенью объективности выявить преимущества и недостатки рассматриваемого ПО.
Критериальный анализ CASE-средств
А.1. Microsoft Visio - программный продукт, часть пакета Microsoft Office и предназначенный для построения диаграмм и работы с данными [1].
Версия продукта соответствует версии пакета MS Office. В данном случае рассматривается версия MS Visio 2013.
1. Поддерживается UML 2.0, BPMN 2.0, IDEF0, IDEF3, IDEF1X, нотация Чена, нотация Гейна-Сарсона.
2. Функция генерации исходных кодов не поддерживается.
3. Функция обратного инжиниринга не поддерживается.
4. Прилагаются драйвера для MS Access, MS SQL Server, Oracle, IBM DB2, ODBC, OLE DB.
5. Интеграция с Microsoft Office (Outlook, Excel, Project) и Microsoft Systems Center, DIRECTUM (импорт / экспорт).
6. Возможно совместное редактирование схем с использованием Sha-rePoint или OneDrive. Внесенные пользователем изменения отправляются на сервер при каждом сохранении документа; каждый участник может наблюдать за изменениями фигур в реальном времени.
7. В наличии имеются шаблоны оформления отчетов.
8. Поддерживаются SharePoint, OneDrive.
9. Среда функционирования - Windows 7 и выше.
10. Цена лицензии составляет от $150.
11. Дополнительные возможности:
- поддержка сенсорного ввода на компьютерах с Windows 7 и выше;
- автоматическое создание легенды с пояснениями к рисункам, связанным с данными;
- простое применение тем для быстрого создания современных схем.
А.2. StarUML - бесплатный пакет UML-моделирования, активно поддерживающий подход MDA. Данный программный продукт предусматривает возможность подключения различных плагинов, существенно расширяющих его базовый функционал [2].
В данном случае рассматривается версия StarUML 5.0.
1. Поддерживается UML 2.0 (MDA, RUP).
2. Генерация исходного кода на языках C++, Delphi, C#, Visual Basic, Java. Возможна кодогенерация на других языках при подключении соответствующих плагинов.
3. Обратный инжиниринг для языков C++, Delphi, C#, Visual Basic, Java, также возможно расширение данного списка за счет дополнительных модулей.
4. Поддерживаются ER-диаграммы.
5. Интеграция с MS Word, MS Visual SourceSafe, CVS, Eclipse, MS Visual Studio, импорт проектов из Rational Rose.
6. Многопользовательский режим отсутствует.
7. Экспорт документации в форматы DOC, PPT, TXT, XLS.
8. Использование MS Visual SourceSafe, CVS.
9. Среда функционирования - Windows XP и выше. 10. Opensource.
11. Дополнительные возможности:
- предоставляет широкий набор API, позволяющих использовать внутренние функциональные возможности платформы извне;
- загружаемые UML-профили (SPEM);
- поддержка шаблонов документов.
А.3. Umbrello - часть пакета kdesdk, предназначен для построения UML-диаграмм [3].
В данном случае рассматривается версия Umbrello 2.5.1.
1. Нотация UML 2.0.
2. Генерация исходного кода на языках C++, Java, C#, PHP, JavaScript, ActionScript, SQL, Pascal, Ada, Python, IDL, XML Schema, Perl, Ruby.
3. Обратный инжиниринг для языков C++, IDL, Pascal/Delphi, Ada, Python, Java, Perl (с помощью внешнего инструмента)
4. Поддержка генерации схем баз данных отсутствует.
5. Возможность интеграции с другими программными продуктами отсутствует.
6. Многопользовательский режим не поддерживается.
7. Генерация документации в формате HTML, DocBook. Автокомментирование кода при его генерации.
8. Репозитории не используются.
9. Среда функционирования - Windows, Linux.
10. Opensource.
11. Дополнительные возможности:
- хранение данных модели в форматах DocBook и XHTML;
- импорт / экспорт XMI-файлов;
- копирование объектов в виде изображений в формате PNG.
А.4. Sparx Enterprise Architect (EA) - инструмент UML-моделирования и проектирования, существует в трех редакциях: EA Desktop Edition, EA Professional Edition, EA Corporate Edition. Также существует версия EA Lite FREE read-only, которая имеет все базовые функции Enterprise Architect, за исключением создания документации и сохранения [4]. Рассматривается версия EA 11.4.
1. Поддерживается UML 2.5, BPMN 2.0.
2. Поддержка кодогенерации на языках C++, Java, C#, VB, VB.Net, Delphi, PHP, .NET, Python (доступна в EA Professional Edition, EA Corporate Edition).
3. Обратный инжиниринг для языков C++, Java, C#, VB, VB.Net, Delphi, PHP, .NET, Python (доступен в EA Professional Edition, EA Corporate Edition).
4. Прилагаются драйвера для DB2, InterBase, Informix, Ingres, MS Access, MySQL, MS SQL Server, Oracle, PostgreSQL, Sybase ASE, ASA, Firebird (доступно в EA Corporate Edition).
5. Возможна интеграция с Eclipse, MS Visual Studio.
6. Многопользовательский режим доступен в EA Professional Edition, EA Corporate Edition.
7. Генерация документации в форматах HTML и RTF.
8. Поддерживается совместный доступ к созданным моделям (доступно в EA Professional Edition, EA Corporate Edition).
9. Среда функционирования - Windows, Linux.
10. Цена лицензии составляет от $135.
11. Дополнительные возможности:
- загружаемые UML-профили (например, SPEM);
- поддержка макросов, шаблонов проектирования;
- поддержка тестирования, управления сопровождением проектов;
- автоматизация интерфейса, тестирование, наличие глоссария. А.5. Rational Rose (family) - семейство продуктов от фирмы IBM, предназначенное для проектирования и разработки программного обеспечения. Конкретный вариант Rational Rose определяется программной платформой и языком программирования, с помощью которого ведется разработка проекта [5].
Рассматривается версия Rational Rose 2003.
1. Поддерживаются следующие типы UML-диаграмм:
1. Use case diagram (диаграммы прецедентов);
2. Deployment diagram (диаграммы развертывания);
3. Statechart diagram (диаграммы состояний);
4. Activity diagram (диаграммы активности);
5. Interaction diagram (диаграммы взаимодействия);
6. Sequence diagram (диаграммы последовательностей действий);
7. Collaboration diagram (диаграммы коопераций);
8. Class diagram (диаграммы классов);
9. Component diagram (диаграммы компонент).
2. Поддержка кодогенерации на языках ADA, Java, С, C++, Basic.
3. Обратный инжиниринг для языков ADA, Java, С, C++, Basic.
4. Генерация схем баз данных Oracle.
5. Возможна интеграция с SoDA, MS Visual Studio, PVCS.
6. Групповая работа над проектом может быть организована при интеграции Rational Rose со специальными средствами управления конфигурацией и контроля версий (PVCS).
7. Генерация документации осуществляется посредством интеграции с SoDA.
8. Репозиторий представляет собой объектно-ориентированную базу данных.
9. Среда функционирования - Windows, Unix, Solaris, SunOS, HP UX, AIX.
10. Цена лицензии зависит от комплектации и составляет примерно от $2000.
11. Дополнительные возможности:
- открытая архитектура: набор API, позволяющий самому создавать модули для других языков программирования;
- полная поддержка среды разработки Java-приложений;
- визуализация структур Интернет-сайтов, поддержка XML;
- контроль правильности исходных текстов и диагностика ошибок;
- работа с CAB- и ZIP-файлами.
В соответствии с выбранной системой оценивания каждому CASE-средству из рассмотренного списка субъективно можно выставить суммарную оценку его эффективности, как сумму оценок по каждому из 11 критериев (см. таблицу ниже).
Таблица 1
Результаты исследования эффективности СА8Е-средств по выбранной системе критериев
№ Наименование критерия Microsoft StarUML Umbrello Sparx Enterprise Architect Rational
Visio Rose
1 Поддержка UML или других нотаций 5 2 2 3 2
2 Поддержка генерации исходного кода 0 4 5 5 3
3 Поддержка обратного инжиниринга 0 4 4 5 3
4 Поддержка генерации схем баз данных 4 2 0 5 4
5 Возможности интеграции с другими про- 4 5 0 4 4
дуктами
6 Многопользовательский режим работы 5 0 0 4 4
7 Наличие средств документирования 5 4 4 4 3
8 Использование репозиториев 5 3 0 3 4
9 Кроссплатформенность 3 3 4 4 5
10 Лицензия распространения 3 5 5 3 1
11 Дополнительные возможности 4 3 4 3 3
Суммарная оценка 38 35 28 43 36
Рекомендации по выбору CASE-средства
Выбор ПО может осуществляться на основе различных совокупностей критериальных оценок в зависимости от постановки задачи на разработку программного продукта.
Исходя из результатов расчета суммарной оценки CASE-средств, наилучшим выбором является Sparx Enterprise Architect, однако все 11 вышеприведенных критериев учитываются одновременно лишь в небольшом количестве проектов. Чаще требуется осуществить выбор на основе меньшей группы критериев, характеризующей определенный класс задач, решаемых в рамках разработки ПО. Такие классы можно определить посредством анализа множества оценок, приведенных в таблице 1на толерантность [8].
Для проведения анализа исходную таблицу необходимо преобразовать к следующему виду:
Таблица 2
Результат преобразования множества оценок к формату для анализа на толерантность
Хм Н\ А1 А2 А3 А4 А5 I
а1 1 1 1 1 1 5 Ь1
а2 0 1 1 1 1 4 Ь2
а3 0 1 1 1 1 4 Ь3
а4 1 1 0 1 1 4 Ь4
а5 1 1 0 1 1 4 Ь5
а6 1 0 1 1 3 Ьб
а7 1 1 1 1 1 5 Ь7
а8 1 1 0 1 1 4 Ь8
а9 1 1 1 1 1 5 Ь9
а10 1 1 1 1 1 5 Ь10
а11 1 1 1 1 1 5 Ь11
I 9 10 7 11 11 48
В соответствии с таблицей 2 можно определить мощность множеств М = (А1; VI} и Н = {од; V]}: |М| = 5, |Н|=11.
Объекты наблюдений А1 6 М сходны (или толерантны), если наборы свойств Н(А1) и Н(А_0 пересекаются, то есть Н(А1) П Н(А_|) = 0.
Для всех объектов А1 в таблице 2 сумма по строке определяет пересечения по свойству а]. Общее число пересечений по всем свойствам Н - 48 из возможных 55.
По наличию всех свойств были выделены 11 предклассов Ь1.. ,Ь11. Для выделения классов толерантности необходимо попарно сравнить имеющиеся предклассы относительно включения:
Таблица 3
Анализ на толерантность
Толерантности Равнозначности
А1 А2 А3 А4 А5
Ь1 1 1 1 1 1 Ь7,Ь9,Ь10,Ь11
Ь2 0 1 1 1 1 Ь3
Ь4 1 1 0 1 1 Ь5,Ь8
Ьб 1 0 0 1 1
Таким образом, можно выделить следующие классы задач:
К1 - задачи, требующие осуществления выбора по критериям а1, а7, а9, а10, а11; в данном классе наивысшую оценку (20) имеет продукт MS Visio;
K2 - задачи, учитывающие критерии а2, а3; наивысшую оценку (10) имеет продукт Sparx Enterprise Architect;
K3 - задачи, учитывающие критерии а4,а5,а8; наивысшую оценку (13) имеет продукт MS Visio;
K4 - задачи, учитывающие критерий а6; наивысшую оценку (5) имеет продукт MS Visio.
Результаты анализа показывают, что определенный первоначально наилучший выбор А4 получил такое преимущество за счет высоких оценок по критериям а2 и а3. Поскольку данные критерии учитываются не во всех задачах, то следует обратить внимание на вариант А1.
Выводы
В данной статье был проведен сравнительный обзор современных CASE-средств на основе сформированной системы критериев. Каждый из рассмотренных объектов занимает свое место на рынке инструментов разработки ПО и обладает рядом особенностей. Проприетарные CASE-средства, в общем случае, обладают более широким функционалом, однако стоимость покупки их лицензий оправдывает себя только в крупных проектах, требующих глубокого анализа предметной области и постоянной модификации создаваемого решения в режиме реального времени. Бесплатные CASE-средства в последнее время активно развиваются и, по мере того, как круг их возможностей расширяется, вытесняют с рынка платные аналоги.
Безусловно, каждый из вышеописанных инструментов проектирования имеет свой спектр применения: наивысшую эффективность использования продукт может показать только в рамках решения задач определенного класса. Однако все продукты объединяет один важный недостаток: выбор определенного CASE-средства в начале проекта означает, что данное средство будет использовано в течение всего жизненного цикла проекта, так как процедуры миграции с одного средства на другое в настоящее время не до конца отлажены.
Таким образом, можно заключить, что выбор инструментов проектирования и разработки ПО в каждом случае представляет собой индивидуальную задачу, условия которой определяются в зависимости от конкретного проекта.
Список литературы:
1. Продукты Visio и Project [Электронный ресурс]. - Режим доступа: www.microsoft.com/ru-ru/olfice/vip/visio.aspx (дата обращения: 02.10.2015).
2. StarUML 2. A sophisticated software modeler [Электронный ресурс]. -Режим доступа: http://staruml.sourceforge.net (дата обращения: 02.10.2015).
3. Umbrello Project [Электронный ресурс]. - Режим доступа: https://um-brello.kde.org/ (дата обращения: 02.10.2015).
4. Enterprise Architect [Электронный ресурс]. - Режим доступа: www.sparx-systems.com.au/products/ea/ (дата обращения: 02.10.2015).
5. IBM Rational software [Электронный ресурс]. - Режим доступа: http://www.ibm.com/rational (дата обращения: 02.10.2015).
7. CASE-технологии. Современные методы и средства проектирования информационных систем [Электронный ресурс]. - Режим доступа: http://cit-forum.ru/database/case/ (дата обращения: 12.10.2015).
8. IEEE Std 1209-1992. IEEE Recommended Practice for the Evaluation and Selection of CASE Tools.
9. Сигорский В.П. Математический аппарат инженера. - Издание 2-е, стереотипное. - К.: «Технша», 1977. - 768 с.