Диссертация (1145120), страница 43
Текст из файла (страница 43)
Однако THCL существенно проще, так как261он является DSM-языком и предназначен для узкого применения. Так,например, в нем нет средств структурной декомпозиции (исключение составляют категории для типов блоков — см. ниже). В целевом семействе невстречается очень сложных систем, аппаратная часть которых столь сложна,что нуждается в средствах декомпозиции для адекватного описания: вложенные блоки, транзитные порты и пр.
— см. SDL и UML 2.0 (CompositeStructure Diagrams), а также ROOM [21]. Отметим, что в THСL, по сравнениюс SDL, ROOM, UML 2.0, имеются более сложные соединения блоков скабелями: разъёмы имеют внутри себя пины, а те, в свою очередь, сигналы.Метод DocLine и повторное использование документации на основевизуальных моделей.
Язык XVCL [293], являющийся XML-реализацией идеиадаптивного повторного использования и использованный в DocLine,является предметно-ориентированным языком для гибкой конфигурацииповторно используемых компонент различного вида (хотя исходно онориентирован на программный код). Однако в данном языке отсутствуютразличные связи, наличие которых и формирует технологический подход,отличая его от чистой идеи. В нем нет разделения «крупноблочного» и«мелкозернистого» повторного использования (фактически, реализованолишь мелкозернистое) и, соответственно, отсутствуют визуальные средствауправления повторным использованием, нет работы с терминами иразличными представлениями элементов пользовательского интерфейса(кнопкаминапанелиуправления,пунктамименю — главного,«всплывающего» и т.д.).
Все это необходимо для полноценного повторногоиспользования документации и присутствует в языке DocLine. Наконец, вданном подходе нет средств интеграции с существующими XML-форматамиразработки документации, в то время как DocLine интегрирован с DokBook.На данный момент имеется ряд технологий, поддерживающих разработкудокументации в XML-формате и в той или иной степени реализующихповторное использование — прежде всего, это DocBook и DITA.262ОсновнаяидеятехнологииDocBook — разделениеконтентаиформатирования, что позволяет создать единое исходное представлениедокумента (Single Source) для представления одного и того же документа вразных форматах — PDF, HTMLHelp/WinHelp, HTML [434].
Технологиявключает в себя соответствующий XML-язык для разработки техническойдокументации.DocBook-документация имеет монолитную структуру, чтозатрудняет повторное использование. Однако поскольку DocBook являетсяXML-языком, для него доступны стандартные XML-средства выделения/подключения модулей, такие как XInclude [432]. Основной недостатоктакого подхода — для указания включаемого фрагмента требуется задаватьтехнические параметры, такие как имя файла и т.п. Также этот механизмпредполагает, что подключаемые фрагменты используются как есть, безмодификации под особенности контекста. Таким образом, DocLine добавляетк DocBook модульную структуру, средства графического проектирования(включая связь с вариативностью функциональности на основе FeatureDiagrams) и адаптивное повторное использование.Технология DITA [220], предложенная и продвигаемая компанией IBM,предложена компанией IBM, в отличие от DocBook, предлагает модульныйподход к разработке документации в формате XML, поддерживая повторноеиспользование на уровне крупных и логически завершённых фрагментов текста (в терминах DocLine — крупноблочное повторное использование).
Можно задавать переменные для разработки условно-включаемого текста (продукт, платформа, аудитория и т.п.). DITA позволяет также организовать повторное использование небольших фрагментов текста — отдельных слов,фраз, терминов, фрагментов предложений и т.д.
Однако оба указанных механизма предполагают, что повторно пользуемые фрагменты должны бытьнаписаны так, чтобы их можно было включать в любой контекст без дополнительных изменений. Таким образом, DITA ограниченно поддерживаетадаптивное повторное использование и не содержит визуальных средств про263ектирования повторно используемой структуры документации в рамках поддержки линеек программных продуктов.Язык DRL/RG частично похож на Feature Diagrams [297] (диаграммы вариативности). Однако диаграммы вариативности не имеют исполняемой семантики и не предназначены для управления повторным использованием документации. В целом, DocLine соответствует идеям генерационного программирования [204] — диаграммы семейства и диаграммы вариативностиDRL/GR позволяют задать доменную модель документации семейства, а диаграммы продукта являются способом создания документации для конкретных продуктов семейства.
Однако в отличие от [204] оба этих шага в DocLineобъединены в рамках одного предметно-ориентированного языка, и этотязыка является визуальным.МодельКИТ-решениядляуправлениякорпоративнымиИТ-архитектурами. Новым является рассмотрение проектов по разработке средствуправления корпоративными ИТ-архитектурами как ИТ-проектов, тоесть проектов, связанных с внедрением в компанию специфическойИТ-системы.
Однако существующие методы разработки ПО (RUP,CMMI [201], Scrum [391], MSF [350] и др.) не рассматривают разработку таких проектов; стандарты разработки архитектуры предприятия (TOGAF [421], GERAM [299], FEA [240] и др.) рассматриваютданный вопрос, но фокусируются, главным образом, на бизнессоставляющей данной деятельности и не применяют методы программной инженерии. Новым является применение для спецификации результатов такихпроектов формальной модели ИТ-решения (метод MSF). Несмотряна то, что стандарты разработки бизнес-архитектур (TOGAF [421],GERAM [299], FEA [240], а также [240], [284], [421]) определяют состав бизнес- и ИТ-архитектур.
Но это делается с точки зрения семан264тики, а не в смысле состава финальных рабочих продуктов, как этосделано в предлагаемой модели. Однако в контексте КИТ-проектовоказалось важным более «операционное» описание результатов,включающее взаимосвязи, особенности разработки и строгую идентификацию всех частей итоговой поставки. Необходимо отметить,что в работе [105] предлагается похожий подход, но, во-первых, тамречь идёт только об управлении архитектурой органов государственной власти, во-вторых, результат сильно связан с конкретным КИТпроектом, который авторы приводят в качестве примера, в-третьих,результат является составной частью метода онтологического инжиниринга, в то время как в данной работе рассматривается произвольный КИТ-проект. При этом ещё одним элементом новизны является использование аппарата предметно-ориентированного моделирования при определении таких проектов и их результатов: в ходе таких проектов создаётся предметно-ориентированный язык моделирования, поддержанныйнастроенным и доработанным EAM-инструментом; последний в этойситуации рассмотрен как DSM-платформа.
Несмотря на имеющиесяв области бизнес-инжиниринга и разработки ИТ-архитектуры исследования, применяющие в этой области предметно-ориентированноемоделирование (см. работы [152], [155], [156], [158], [247], [312] идр.), до сих пор не было сделано соответствующих концептуальныхобобщений.2654.6 Выводы1. Предложена модель для проектирования и разработки продуктов семейств программно-аппаратных систем, основанных на программныхконструкторах и конфигурировании ПО целевых продуктов с помощьюкомпоновкиаппаратнойчасти.Модельвключаетпредметно-ориентированный язык THCL и технологию графического проектирования. Новой является идея автоматического конфигурирования исборки ПО продуктов линейки программно-аппаратных систем на основе спецификации аппаратной части, задаваемой с помощью визуальных моделей.
Такой класс задач в контексте линеек продуктов до сихпор не рассматривался.2. Создан метод FSS, предназначенный для анализа и проектированияпрограммных систем, реализующих электронный доступ к государственным и публичным услугам. Новизна метода заключается в дополнении модели бизнес-процессов (BPMN) моделью документации, описывающей иерархию документов на основе Feature Modeling. Подобныерасширения BPMN отсутствуют в литературе. Также новой являетсяидея метафор Web-визуализации. Ближайшим аналогом таких метафорявляются результаты области Model-Based Interface Development (различные типовые экранные формы, автоматически генерируемые,например, по схеме базы данных).
Однако данные результаты не распространялись на сферу разработки ПО для электронных и публичныхуслуг.3. Предложена модель КИТ-решения, предназначенная для проектирования программного обеспечения для разработки и сопровождения ИТархитектур крупных компаний. Новым является рассмотрение проектовпо разработке средств управления корпоративными ИТ-архитектурамикак ИТ-проектов. Существующие методы разработки ПО (RUP, CMMI,Scrum, MSF и др.) не рассматривают разработку таких проектов, стан266дарты разработки архитектуры предприятия (TOGAF, GERAM, FEA идр.) не применяют методы программной инженерии к таким проектам.Новым также является использование для спецификации результатовтаких проектов формальной модели ИТ-решения (метод MSF).4.
Создан метод DocLine для разработки и сопровождения документацииПО на основе повторного использования. Предложен предметноориентированныйязыкDRL/GR(DocumentationReuseLanguage/Graphical Representation) для проектирования документациилинеек программных продуктов. Создан алгоритм обнаружения повторов и рефакторинга документов на основе техники поиска клонов в ПО.Новизна DocLine заключается в интеграции планового повторного использования в процесс разработки документации ПО, что отсутствует усуществующих подходов (DocBook, DITA и др.). Новизна языкаDRL/GR заключается в объединении доменного анализа и конфигурирования обобщённой модели семейства при создании документации дляконкретного продукта на основе DSM (это отсутствует в подходахK.
Czarnecki и U. Eisenecker [204], J. Greenfield и K. Short [259], [260],[261], [262], [263] и др.). Предложенный язык является адаптациейFeature Diagrams, которые до этого использовались только для доменного анализа и не применялись для разработки документации. Новизнаалгоритма поиска повторов и рефакторинга заключается в примененииметода поиска клонов в программном обеспечении (software clonedetection) к задаче поиска повторов в XML-документах и использованииполученных результатов для рефакторинга документации. Единственным аналогом являются работы A. Wingkvist и коллег [442], [443], которые, однако, не реструктурируют документы на основе найденныхклонов.267Глава 5.
Примеры предметно-ориентированных решенийВэтойглавебудуткраткоизложеныпримерыпредметно-ориентированных решений, разработкой которых автор диссертационной работы руководил и/или принимал в их создании непосредственное участие. Вразработке этих решений использовалась предложенная автором методология предметно-ориентированного моделирования, соответственно, изложениематериала будет проводиться в терминах данной методологии. Прежде всего,будут использоваться определения DSM/КИТ-решения, а также модель процесса разработки DSM-решения.5.1Модернизация технологии ОРГ-Мастер52Данный проект был посвящён модернизации EAM-инструмента ОРГМастер: требовалось обновить язык моделирования; было необходимо спроектировать и реализовать новые программныесредства визуального моделирования; требовалось создать новую архитектуру продукта на основе современных технологий (продукт был создан в конце 90-х годов прошлого века и сильно устарел в технологическом смысле); также было необходимо структурировать и упорядочить функционалпродукта, поскольку продукт долго развивался, обслуживая нуждыотдельных КИТ-проектов и аналитиков, и накопил много ad hoc возможностей, которые было почти невозможно использовать вне тойконкретной ситуации, для которой они были созданы.В рамках проекта не предполагалось модернизировать методологическуюсоставляющую технологии ОРГ-Мастер.52Изложение данного раздела следует работам автора [67], [68].268Данный проект было удобно реализовывать как DSM-проект, поскольку онявляется инструментом, который реализует определённый язык моделирования [90].