Файл: Применение объектно-ориентированного подхода при проектировании информационной системы).pdf
Добавлен: 24.05.2023
Просмотров: 111
Скачиваний: 2
СОДЕРЖАНИЕ
1. Теоретические основы объектно-ориентированного подхода
1.1 Основные понятия и суть подхода в проектировании ИС
Структура Унифицированного языка моделирования
1.2. Понятия, относящиеся к утилитам UML-моделирования
2. Особенности подхода и CASE-средства для проектирования
2.1. CASE-средства реализации объектно-ориентированного подхода
Astah — созданный японской компанией Change Vision инструмент UML моделирования, ранее известный как JUDE (Java and UML Developers' Environment). Делится на версии «Community» и «Professional». Поддерживает девять видов диаграмм (диаграмма классов, прецедентов, последовательности, кооперации, состояния, деятельности, развёртывания, компонентов, «сущность-связь») [30].
- Лицензия: freeware/trialware;
- Языки генерации кода: Java, C++, C #, Python, Ruby и любые другие языки с плагинами;
- Обратное проектирование: Java, C++, C #, PHP;
- Платформы: Windows, Mac OS X;
- Другие особенности: поддержка спецификаций UML 1.4 (UML 2.0 в коммерческой версии) и XMI; интеллект-карты, функция ввода-вывода модели в/из XML, шаблоны прецедентов; предоставление API и плагинов; экспорт в RTF и HTML [30].
Borland Together — является инструментом проектирования UML для проектирования информационных систем и генерации кода [31].
- Лицензия: GPL2;
- Языки генерации кода: Java 6, C ++, CORBA;
- Обратное проектирование: только СУБД (Oracle, DB2, MSSQLServer);
- Платформы: кросс-платформенное (Java);
- Другие особенности: поддержка MDA и спецификаций UML 2; поддержка шаблонов проектирования и анализа кода, которые могут снизить риск возникновения общих и предотвращаемых ошибок на протяжении всего процесса разработки; интегрируется с Eclipse и MS VS.NET 2005; аудиты и показатели предоставляются как на уровне модели, так и на уровне кода, определяемом на языке ограничения объектов (OCL).
BOUML — дизайнер диаграмм UML, написанный на C++ и Qt Бруно Пажесом (Bruno Pagès) [32][33].
- Лицензия: GPL;
- Языки генерации кода: C ++, Java, PHP, IDL, Python, MySQL;
- Обратное проектирование: C ++, Java, PHP, MySQL;
- Платформы: Unix / Linux / Solaris, Mac OS X (Power PC и Intel) и Windows;
- Другие особенности: поддержка MDA и спецификаций UML 2, XMI$ поддержка шаблонов генерации кода.
Eclipse UML2 Tools — это набор редакторов на основе GMF для просмотра и редактирования моделей UML; он ориентирован на (возможную) автоматическую генерацию редакторов для всех десяти типов диаграмм UML2 [34].
- Лицензия: EPL;
- Языки генерации кода: Java (в рамках Eclipse);
- Обратное проектирование: Java (в рамках Eclipse);
- Платформы: кросс-платформенный (Java);
- Другие особенности: поддержка MDA, спецификаций UML 2 и XMI; поддержка шаблонов генерации кода.
IBM Rational Rose XDE (англ. «eXtended Development Environment») — это объектно-ориентированный инструмент проектирования, который поддерживает визуальное моделирование (UML) [35][36].
- Лицензия: IBM EULA;
- Языки генерации кода: C++, C, Java, Ada, C#, Corba, и др. (настраиваемый для других языков);
- Обратное проектирование: C++, C, Java, Ada, C#, и др. (настраиваемый для других языков);
- Платформы: Windows, Linux и Unix-подобные;
- Другие особенности: несмотря на свою известность, не поддерживает UML 2 (только версии 1.x), не поддерживает пользовательские шаблоны; на данный момент относится к категории устаревшего ПО, но поддерживает интеграцию с VS .NET и другими средами разработки и языками.
IBM Rational Software Architect (RSA) - сделанная подразделением корпорации IBM, компанией Rational Software, среда разработки и моделирования, которая использует UML для проектирования архитектуры приложений и веб-сервисов. Продукт сделан с помощью фреймворка открытого программного обеспечения, в среде разработки Eclipse, и включает в себя возможности, сфокусированные на архитектурном анализе кода, C++ и MDD (model-driven development) с UML для создания устойчивых приложений и веб-служб.
- Лицензия: проприетарное ПО;
- Языки генерации кода: C++, C, Java, Ada, C#, Corba [37];
- Обратное проектирование: Java, C ++, .NET;
- Платформы: Linux; Windows; FreeBSD, JVM, Solaris; OS X;
- Другие особенности: поддержка MDA, спецификации UML 2 и XMI; есть отладчик, поддержка разработки GUI, профилирование, есть покрытие кода, автодополнение, браузер классов, рефакторинг, архитектурный анализ кода; интеграция со средой Eclipse.
IBM Rational Software Modeler (RSM) — интегрированная среда разработки для объектно-ориентированного проектирования ИС от IBM, основанный на программной среде с открытым исходным кодом Eclipse, и использующийся для визуального моделирования и разработки на основе моделей (MDD) для создания приложений и веб-сервисов [38].
- Лицензия: IBM EULA
- Языки генерации кода: Java, C#, C ++, EJB, WSDL, XSD, IDL, SQL;
- Обратное проектирование: C++, C, Java, Ada, C#;
- Платформы: Linux, Windows;
- Другие особенности: поддержка спецификации UML 2; интеграция со средой Eclipse; поддержка моделирования сущностей (ER) и настройки шаблонов проектирования; с 2015 года не поддерживается.
MagicDraw — это визуальный инструмент моделирования UML, SysML, BPMN и UPDM с поддержкой совместной работы [39]. Разработанный для бизнес-аналитиков, аналитиков программного обеспечения и программистов этот динамичный и универсальный инструмент разработки облегчает анализ и проектирование объектно-ориентированных информационных систем и баз данных. Он обеспечивает механизм разработки кода, а также моделирования схемы базы данных, создания DDL.
- Лицензия: LGPL;
- Языки генерации кода: J2EE, C #, C ++, CORBA IDL, .NET, XML Schema, WSDL;
- Обратное проектирование: J2EE, C #, C ++, CORBA IDL, .NET, XML Schema, WSDL;
- Платформы: Windows XP SP3 и более поздние версии, OS X Lion и более поздние версии, Linux;
- Другие особенности: поддержка MDA, спецификации UML 2 и XMI; поддержка шаблонов генерации кода; генератор отчетов из шаблона в RTF, HTML, XML, ODT, ODS, ODP и текст (DOCX, XLSX, PPTX с 16.8).
Modelio – это инструмент UML с открытым исходным кодом, разработанный Modeliosoft. Он поддерживает стандарты UML2 и BPMN. Modelio поддерживает UML2-профили для XSD , WSDL и BPEL, SoaML для моделирования сервисов в распределенных средах. Доступен на английском, немецком и французском языках [40][41][42].
- Лицензия: GPL/Apache License 2.0.;
- Языки генерации кода: Java, C++, C #, XSD, WSDL, SQL;
- Обратное проектирование: Java, C++, C#;
- Платформы: Windows, Linux, macOS;
- Другие особенности: поддержка MDA, спецификаций UML2, XMI. Генерация документации в HTML.Extensions, создание документации в формате Open XML, поддержка TOGAF, SysML, SoaML, Hibernate, OMG MARTE. Поддержка шаблонов проектирования и совместной работы над фрагментами моделей.
NClass – бесплатный и открытый программный инструмент для создания диаграмм классов UML для приложений на C# и Java. Он написан только на C# и нуждается в .NET Framework 4.0 или последней версии Mono.
- Лицензия: GPL;
- Языки веб-программирования: C#, Java;
- Обратное проектирование: C#, Java;
- Платформы: Linux; Windows;
- Другие особенности: пользовательский интерфейс разработан как простой и удобный, а визуализация диаграмм настраивается через систему стилей; есть возможность реконструировать сборки .NET плагином, написанным Malte Ried; поддержка экспорта во многие форматы изображений, такие как JPEG, PNG или Windows Metafile. Ограничение функционала проявляется в отсутствии большинства диаграм и отсутсвии команды отмены.
ObjectiF — это инструмент CASE для моделирования с использованием моделей UML. Он разработан компанией microTOOL GmbH в Берлине (Германия). Предлагает различные типы диаграм [43][44][45].
- Лицензия: проприетарное ПО;
- Языки генерации кода: Java, C#, Visual Basic, C++;
- Обратное проектирование: Java, C#, Visual Basic;
- Платформы: Windows;
- Другие особенности: поддержка MDA, спецификации XMI; есть интеграция с Eclipse, Visual Studio; поддержка шаблонов проектирования.
Open ModelSphere – это инструмент моделирования данных и UML, написанный на Java и распространяемый как бесплатное программное обеспечение.
- Лицензия: GPL;
- Языки генерации кода: Java, SQL;
- Обратное проектирование: Java;
- Платформы: кросс-платформенное (Java);
- Другие особенности: взаимодействие с Oracle, Informix, Microsoft SQL Server, Sybase, DB2; поддержка шаблонов проектирования, поддержка шаблонов генерации кода.
Papyrus — это графическое средство редактирования для UML2 с открытым исходным кодом на основе среды Eclipse. Он был разработан Лабораторией модельной инженерии для встраиваемых систем (LISE), которая является частью Французской комиссии по альтернативной энергии и атомной энергии (CEA-List). Поддерживает все виды UML2 диаграмм.
- Лицензия: EPL;
- Языки генерации кода: Ada 2005, C / C ++, Java;
- Обратное проектирование: Java (только как компонент Eclipse, начиная с версии Neon);
- Платформы: Windows, Linux, macOS (Java);
- Другие особенности: поддерживает спецификации UML 2 и XMI; предоставляет полную поддержку SysML, чтобы обеспечить разработку систем (на основе моделей), включая реализацию статического профиля SysML и конкретных графических редакторов, необходимых для SysML; может использоваться как автономный инструмент или как плагин Eclipse.
PlantUML — это инструмент с открытым исходным кодом, позволяющий пользователям создавать диаграммы UML с обычного текстового языка. Язык PlantUML является примером специфического для приложения языка. Используя ПО «Graphviz» для выкладки своих диаграмм, он использовался, чтобы позволить работать с UML слепым (проектировать и читать диаграммы UML). Поддерживает 9 видов диаграмм [46][47][48].
- Лицензия: GPL;
- Языки генерации кода: Java, C/C++;
- Обратное проектирование: C#, grails, Java, Lua, PHP, SqlALchemy;
- Платформы: Linux, OS X, Windows;
- Другие особенности: поддержка спецификаций UML2 и частично XMI (только экспорт); интеграция с Chrome, Word, Open Office, Google Docs, J2EE Servlet, JQuery , Sublime, Eclipse, NetBeans, IntelliJ, LaTeX, Emacs, Doxygen и т. д.; выводит изображения в формате PNG или SVG.
Poseidon for UML – это приложение, используемое для создания моделей UML. Он возник из проекта ArgoUML,
- Лицензия: проприетарное ПО;
- Языки генерации кода: Java, VBScript, C++, C#, SQL, PHP, Delphi;
- Обратное проектирование: Java;
- Платформы: кросс-платформенное (Java);
- Другие особенности: поддержка спецификации UML2; интеграция с Eclipse и импорт JAR-фаилов.
PragmaDev Studio — это инструмент моделирования и тестирования, представленный PragmaDev в 2002 году, посвященный спецификации коммуникационных систем. Первоначально он назывался Real Time Developer Studio или RTDS, а его основная задача заключалась в поддержке технологии моделирования SDL-RT. Но с версии 5.0, RTDS называется PragmaDev Studio, и организована в четыре независимых модуля: Specifier, Developer, Tester и Tracer [49][50][51].
- Лицензия: freemium;
- Языки генерации кода: C, C++ (из модели SDL-RT);
- Языки для обратного проектированием;
- Платформы: Windows, Linux, OS X;
- Другие особенности: поддежка MDA, спецификаций UML 2 и частично XMI, возможность генерировать код из шаблона SDL. Сгенерированный код может быть адаптирован к любой операционной системе реального времени или планировщику. Инструмент также предлагает интеграцию с отладчиками, такими как gdb, чтобы производить отладку модели, а не сгенерированного кода.
Prosa UML Modeller – UML-инструмент от Insoft Oy, хранящий диаграммы в текстовом формате ASCII. Поддерживает 9 типов диаграмм (диаграмма использования, последовательности, взаимодействия, классов, состояний, действий, компонентов, развертывания, пакетов).
- Лицензия: проприетарное ПО;
- Языки генерации кода: C ++ Java, C #, SQL DDL и SQL-запросы;
- Обратное проектирование: C++, Java, C # (заголовки классов синхронизируются между диаграммами и кодом в режиме реального времени);
- Платформы: только Windows;
- Другие особенности: поддержка MDA, спецификаций UML2 и XMI (открытая база моделей); поддержка шаблонов и одновременной работы нескольких пользователей; интеграция с репозиториями.
Rational Rhapsody – основанная на UML среда моделирования для проектирования ИС. Rational Rhapsody Design Manager - это веб-приложение, которое заинтересованные стороны, разработчики и другие члены команды используют для совместной разработки продуктов, программного обеспечения и систем. Разработанные в Rational Rhapsody модели могут размещаться на сервере Design Manager, подключиться к которому позволяет компонент клиентского расширения Rational Rhapsody. После подключения к серверу модели могут быть перемещены в области проекта с конкретными областями моделирования [52][53][54].
- Лицензия: проприетарное ПО;
- Языки генерации кода: C++, C, Java, Ada, C#, Corba, и др. (возможность настройки для других языков);
- Обратное проектирование: C++, C, Java, Ada, C#, и др. (возможность настройки для других языков);
- Платформы: Windows, Linux;
- Другие особенности: поддержка MDA, спецификаций UML 2 и XMI; интеграция с Visual Studio, Eclipse, TcSE, WindRiver, Green Hills, QNX, Linux, Mathworks Simulink, DOORS, и настраиваемый для других; поддержка шаблонов проектирования; тестирование на основе моделей.
Reactive Blocks — это среда разработки на основе визуальной модели, основанная на диаграммах активности, поддерживающих формальный анализ модели, автоматическое создание кода, иерархическое моделирование и обширную библиотеку готовых к использованию компонентов для платформы Java. Комбинируя повторно используемые блоки, разработчик может создавать сложные приложения графически [55][56][57].
- Лицензия: свободное (издание сообщества)/проприетарное ПО;
- Языки генерации кода: Java;
- Обратное проектирование: не поддерживается;
- Платформы: Windows, Mac OS, Linux;
- Другие особенности: поддержка спецификаций UML 2 и XMI, генерация кода из диаграмм активности для J2SE, OSGi, Kura и ESF, модульное тестирование через JUnit, поддерживает формальный анализ и моделирование пространства состояний.
SAP PowerDesigner – это инструмент моделирования CASE, разработанный Sybase, дочерней компанией SAP SE. Он сочетает стандартные методы моделирования UML с возможностями структурного подхода к проектированию ИС.
- Лицензия: проприетарное ПО;
- Языки генерации кода: Java, C #, C++, VB .NET, PowerBuilder;
- Обратное проектирование: Java, C #, VB .NET, PowerBuilder;
- Платформы: только Windows;
- Другие особенности: поддержка MDA, спецификаций UML2 и XMI; интеграция с Eclipse; поддержка шаблонов, многопользовательский репозиторий; доступна работа в веб-интерфейсе и генерирование XML и IDL; поддерживаемые базы данных: IBM DB2, Informix, Ingres, InterBase, Access, MS SQL, MySQL, Oracle, PostgeSQL, Sybase AS Anywhere и Enterprise.