Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Еще одно мощное средство, которое будет рассмотрено, – это Microsoft Visual Studio.NET, которое предназначено для коллективной разработки больших систем распределенных приложений на основе компонентных интероперабельных приложений. При этом используется визуальный интерфейс. Какие основные функции можно обозначить при описании этого средства? Это построение быстрых прототипов, т. е. достаточно быстро можно осуществить визуальное проектирование, создать формы, элементы управления, командные кнопки, выпадающие меню и т. д., все это будет хорошо соответствовать современному интерфейсу Windows, оформить эти элементы управления соответствующими скриптами, скажем, на языке C#, короткими фрагментами кода, которые будут по тем или иным событиям наступать и выполняться, и таким образом осуществить быстрое прототипирование ПО. Кроме того, это разработка, тестирование, сопровождение крупных приложений корпоративного типа, прежде всего связанных с интернет-средой, потому что Visual Studio.NET основано на технологии веб-сервисов и использует ряд других технологий распределенной работы и обработки данных, включая remoting, технологии ASP.NET, Windows Forms, Web Forms и целый ряд других технологий Microsoft. Еще одна важная функция инструментальных средств – анализ и генерация структур информационных систем и баз данных. Под базой данных понимается преимущественно Microsoft SQL Server, управление бизнес-требованиями и т. д. Используется единая среда вычислений, внутри которой на основе общей виртуальной машины можно создавать гетерогенные проекты на различных языках программирования (поддерживается несколько десятков языков) и, более того, разрабатывать собственные языки программирования. При этом удается обеспечить достаточно высокий процент повторного использования компонентов, шаблонов архитектуры приложения корпоративного уровня, есть специальные библиотеки классов для корпоративных приложений (об этом речь пойдет позднее). Другое важное направление – средства создания требований к ПО, кодогенерации. В основе лежат протоколы или стандарты XML, SOA для сервисно-ориентированной архитектуры, абстрактная машина. NET, технология ADO (активных объектов данных) и целый ряд других технологий.
Еще одним важным стандартом, на который ориентируется Microsoft, является UML. Существенным недостатком (но на сегодня уже не столь значимым, поскольку Internet Explorer является достаточно распространенным браузером) является ориентация на платформу Microsoft, но основной недостаток по-прежнему остается в том, что это не только браузер, но и вся платформа, операционная система. К сожалению, интеграция с другими операционными системами и СУБД не слишком хороша, это является существенным ограничением.
В отличие от данного продукта средства, предлагаемые корпорацией IBM, линейка Rational, которая в свое время была приобретена у компании Rational, являются кроссплатформенными, т. е. поддерживают как Windows, так и Unix-диалекты, достаточно большое количество операционных систем. По сути, здесь также поддерживается весь жизненный цикл ПО, в том числе создание, анализ, коррекция, верификация архитектуры информационных систем. Все это происходит на основе открытых стандартов того же самого SOA, UML, SQL стандарта ANSI и ER-диаграмм или IDE-F1X и фактически поддерживается весь жизненный цикл ПО. Это и моделирование предметной области в терминах бизнес-процессов или инжиниринг, проектирование схемы БД, в том числе на основе визуальных технологий, разделение интерфейса и бизнес-логики, визуальный анализ и спецификация требований, поддержка различных языков программирования, в частности интеграция с C, C++, Java, Smalltalk, ADA (это язык, который поддерживает большие корпоративные системы для реального времени, язык, разработанный Пентагоном, используется во многом для военных систем) и целым рядом других языков. Поддерживается большое количество СУБД, прежде всего IBM DB2, Microsoft SQL Server, Oracle. Также существует большое количество шаблонов. Порядка 15 средств, которые отвечают за реализацию жизненного цикла ПО, используются в этом пакете: анализ и формализация требований – Requisite Pro, тестирование – Test Manager, контроль версий – Clear Case, формирование отчетов и целый ряд других процедур. Это семейство программных продуктов является интегрированным, и поддерживается сквозная унифицированная визуальная модель, в том числе для встроенных систем и мобильных устройств на основе открытой сервисно-ориентированной архитектуры SOA (Service Oriented Architecture). Преимущества таковы, что поддерживается кроссплатформенность, фактическая независимость от операционной системы и во многом от среды реализации, т. е. различные языки программирования, большой процент повторного использования, автоматическая генерация и оптимизация кода различных языков программирования. Система ориентирована на производство кроссплатформенных динамических интернет-приложений для различных устройств, как больших машин, так и мобильных устройств – смартфонов, коммуникаторов и т. д.
Обсудив основные CASE-средства (основные в том смысле, что они часто используются в нашей стране и на их основе реализован целый ряд больших и крупных корпоративных информационных систем), перейдем к классификации этих систем. Можно выделить три основные направления классификации – по масштабам применения, функциональному использованию (назначению) и видам моделирования, т. е. какого рода модели (стандарты) используются этими CASE-средствами. Естественно, все эти деления достаточно условные, это только один из вариантов возможных классификаций.
По масштабам применения CASE-средства можно разделить на локальные закрытые, средние открытые комплексные и крупные открытые комплексные.
Локальные закрытые – однопользовательские настольные системы с простыми нотациями для локальных информационных систем и небольших систем – до 100 одновременных пользователей. Это такие системы, как Design/IDEF, отечественное средство CASE-аналитик и ряд других.
Средние открытые – это ERwin, BPwin. Здесь подразумеваются интеграция со средствами быстрой разработки приложений и расширенные графические нотации, т. е. определенная открытость с точки зрения интерфейса уже присутствует.
Крупные открытые – комплексные системы, которые поддерживают комплексные графические нотации, встроенные средства прототипирования и быстрой разработки приложений (Rapid Application Development). Одним из примеров является S-Designer и PowerBuilder, т. е. речь идет о конвейерном производстве систем, о некоторых конвейерах, которые поддерживают достаточно большую долю жизненного цикла (итераций, связанных с ЖЦ программных систем). Большие системы для производства корпоративных приложений, крупные открытые комплексы поддерживают целый ряд графических нотаций, хорошо стыкуются с известными корпоративными методологиями и ориентированы на производство больших программных систем, т. е. имеют средства командной разработки, быстрого прототипирования и поддерживают весь жизненный цикл ПО. Это линейка Rational, которая была рассмотрена ранее, это конвейер Designer-Developer, который ориентирован преимущественно на Oracle, но тем не менее и на большие корпоративные СУБД и корпоративные приложения класса ERP, системы учета и планирования корпоративных ресурсов, ну и, конечно, Visual Studio.NET от Microsoft.