WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 16 |

(Архитектура MDA дает некоторый ответ на эту проблему, но на мой взгляд, он по меньшей мере неполон.)..."[17].

Чарльз Симони: “…MDA is a kitchen-sink standard that is implementation oriented.…”14 [18].

MDA – это стандарт раковины, являющийся ориентируемым выполнением, как бы одностороннее, без обратной связи, действие.

- 40 - УМП «Автоматизированные методы разработки архитектуры ПО» 3.2. Применение CASE-технологий Автоматизация архитектурного проектирования программного обеспечения основывается на применении инструментальных программных средств, которые принято называть CASE (ComputerAided Software/System Engineering). Несмотря на достаточное, на первый взгляд, количество существующих средств автоматизации проектирования архитектуры ПО, программные архитекторы попрежнему нуждаются в расширении набора доступных средств автоматизации. По сравнению со своими коллегами в других областях инженерного творчества, уровень оснащения архитекторов CASEсредствами явно недостаточен и вот почему. Автоматизация структурных методологий, характерных для программирования, и возможность применения современных методов системной и программной инженерии должны позволять CASE-системам:

o улучшать качество создаваемого ПО за счет средств автоматического контроля проекта;

o создавать за короткое время прототип будущей системы с использованием генераторов программного кода, что позволяет на ранних этапах оценить ожидаемый результат;

o ускорять процесс проектирования, разработки и внедрения;

o позволять разработчику сосредоточиться на творческой части разработки за счет сокращения рутинной работы;

o поддерживать развитие и сопровождение проекта;

o применять технологии повторного использования архитектурных образцов.

Большинство CASE-средств, стремящихся удовлетворять перечисленным требованиям, основано на парадигме программирования – методологияметоднотациясредство [19], где:

o методология определяет оценку и выбор проекта разрабатываемого ПО, последовательность разработки и правила распределения и назначения методов;

o метод представляет собой способ генерации описаний компонентов ПО;

o нотации это средства описания проектной логики, в том числе: диаграммы, графы, формальные и естественные языки, а также таблицы и блок-схемы, которые предназначены для описания структуры системы, описания элементов данных и назначение этапов обработки;

o средства (инструменты) для поддержки и усиления методов предназначены для участия пользователей при создании и - 41 - УМП «Автоматизированные методы разработки архитектуры ПО» редактировании графического проекта в интерактивном режиме. Средства способствуют организации проекта в виде иерархии уровней абстракции и выполняют роль проверки соответствия компонентов.

Автоматизация проектирования архитектуры ПО с применением CASE-средств не может основываться на выборе отдельно взятой CASEсистемы, поскольку универсальной CASE-системы, отвечающей перечисленным требованиям и достаточной для производства ПО для любой предметной области пока не существует. С появлением новых CASE-систем, а также с развитием генераторов программного кода и с внедрением систем для повторного применения ранее разработанного кода станет возможным создавать на базе предприятий-разработчиков ПО системы автоматизированного проектирования ПО.

Методология и средства анализа и проектирования многокомпонентных информационных систем, содержащиеся в большинстве CASE-систем, позволяют применять методологии создания информационных систем с компонентной архитектурой. Значительный вклад в развитие компонентной методологии внесли сотрудники фирмы IBM Rational Software (особенно Г. Буч, Д. Рамбо и И. Якобсон). Анализ и проектирование информационных систем с компонентной архитектурой. основываются на использовании унифицированного языка моделирования UML, и поддерживаются целым спектром инструментальных программных средств визуального моделирования. В CASE-системах поддерживаются основные языки программирования С++, Java, Visual Basic, SmallTalk и т.д., а также популярные среды разработки MS Visual Studio, Delphi, PowerBuilder, средства автоматизированного тестирования и документирования, охватывающих жизненный цикл создания программных систем.

Наиболее известной CASE-системой объектно-ориентированного моделирования является Rational Rose компании IBM Rational Software.

Все продукты Rational Rose поддерживают язык Unified Modeling Language (UML). Тем не менее, эти продукты различаются технологиями реализации, которые они поддерживают.

CASE-система IBM Rational Software – Rational Rose позволяет автоматизировать этапы анализа и проектирования разрабатываемого программного обеспечения, а также предоставляет возможность генерации кода ПО на различных языках программирования для формирования макетов систем и позволяет автоматизировать выпуск проектной документации.

Rational Rose позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также производить генерацию программного кода на различных языках программирования (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). В составе инструментальных программных средств CASE-системы Rational Rose, также содержатся средства реинжиниринга ПО. Такая возможность - 42 - УМП «Автоматизированные методы разработки архитектуры ПО» предназначена для повторного использование программных компонент в новых проектах.

Методической основой применения CASE-системы Rational Rose является автоматизация процесса построения диаграмм классов, состояний, сценариев, модулей и процессов, а также формализации спецификаций логической и физической структуры модели, и описания статических и динамических аспектов разрабатываемого ПО.

Уникальность CASE-системы Rational Rose заключается в обеспечении архитектора ПО (проектировщика ПО) достаточными средствами проектирования, в том числе: репозиторий, графический интерфейс, средства просмотра проекта, средства контроля проекта, средства сбора статистики и генератор документов, генератор и анализатор программного кода и средства реинжиниринга.

Репозиторий CASE-системы Rational Rose обеспечивают "навигацию" по проекту (включая перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому, средства контроля и сбора статистики, генератор отчётов и др.) позволяют моделировать проект ПО и сопровождать результат разработки в течение всего жизненного цикла программной системы.

Создаваемый встроенным генератором CASE-системы Rational Rose скелет кода программы на языке программирования C++ предназначается для его доработки традиционным методом прямого программирования на языке С++. При генерации программного кода в CASE-системе Rational Rose используется информация из логической и физической моделей проекта ПО. В результате “прогона” генератора формируются заголовки и описания классов и объектов.

Анализатор исходного кода С++ позволяет создавать модули проектов и осуществляет контроль правильности исходных текстов и диагностику ошибок. Получаемая модель проекта пригодна для её использования в качестве повторно применяемого кода.

CASE-система Rational Rose позволяет формировать такие проектные документы:

• диаграммы классов;

• диаграммы состояний;

• диаграммы сценариев;

• диаграммы модулей;

• диаграммы процессов;

• диаграммы компонентов;

• спецификации классов, объектов, атрибутов и операций;

• заготовки текстов программ, а также модель разрабатываемой программной системы в текстовом формате (.mdl-файл).

- 43 - УМП «Автоматизированные методы разработки архитектуры ПО» На рисунках 6-10 приведены примеры диаграмм получаемых в CASEсистеме Rational Rose.

Рисунок 6. Диаграмма классов Для каждого конкретного отношения можно задать имя и основные его характеристики. Все диаграммы сопровождаются подробными спецификациями.

- 44 - УМП «Автоматизированные методы разработки архитектуры ПО» Рисунок 7. Диаграмма состояний Рисунок 8. Диаграмма вариантов использования - 45 - УМП «Автоматизированные методы разработки архитектуры ПО» Рисунок 9. Диаграмма сценариев - 46 - УМП «Автоматизированные методы разработки архитектуры ПО» Рисунок 10. Диаграмма компонентов Помимо IBM Rational Rose, к числу популярных средств визуального моделирования, поддерживающих стандарты UML, можно отнести Paradigm Plus (программный продукт фирмы Computer Associated) и SELECT (SELECT Software).

CASE-система Rational Rose представляет собой хорошо сбалансированный программный продукт с удобным интерфейсом и набором инструментов моделирования. Rational Rose предназначена как для разработчиков программных систем, так и для бизнес- аналитиков, так и для системных аналитиков. На базе CASE-системы Rational Rose был создан Visual Modeler – средство визуального проектирования, включенное в состав среды разработки Microsoft Visual Studio (начиная с версии 6.0).

Широкую известность и признание у аналитиков всего мира получили CASE средства BPWIN и ERWIN, а также и Paradigm Plus, разработанные в компании Computer Associated и предназначенные для визуального моделирования объектно-ориентированных программных систем. К особенностям CASE-систем можно отнести удобства по применению настроек по умолчанию и к простоте использования инструмента.

- 47 - УМП «Автоматизированные методы разработки архитектуры ПО» 3.3. Вопросы и задания для самостоятельной работы студента по теме «Автоматизация архитектурного проектирования ПО» 1) Что такое модельная архитектура MDA 2) Что такое CIM 3) Что такое PIM 4) Что такое PSM 5) Дайте объяснение понятию управление на основе модели.

6) Чем отличаются платформенно-независимая модель от вычислительно-независимой модели 7) Что Вы знаете о CASE-технологиях и о CASE-системах 8) Назовите CASE-систему, использование которой, на Ваш взгляд, является предпочтительным для разработки ПО 9) Что объединяет CASE-технологии и почему Литература по теме «Автоматизация архитектурного проектирования ПО» • Метлис Я. Архитектура на базе моделей //Computerworld.

2006. № 30.

• Грибачев К. Г. Delphi и Model Driven Architecture.

Разработка приложений баз данных. СПб.: Питер, 2004.

• Интервью Ивара Якобсона редактору журнала Открытые системы Наталье Дубовой на московской конференции разработчиков Software Engineering Conference SEC(R).

Наталья Дубова, "Мечты о будущем программирования", Открытые системы. 2005. № 12.

• Fowler М. "Language Workbenches: The Killer-App for Domain Specific Languages", http://www.martinfowler.com/articles/languageWorkbench.html и в русском переводе: http://www.kpress.ru/cs/2005/3/fowler/fowler.asp • Интервью Чарльза Симони корреспонденту www.codegeneration.net/, http://www.codegeneration.net/tikiread_article.phparticleId=• Калянов Г. Н. CASE: структурный системный анализ (автоматизация и применение). М.: ЛОРИ. 1996.

- 48 - УМП «Автоматизированные методы разработки архитектуры ПО» Тема 4. Компонентная архитектура Для понимания возможностей и целей использования хорошо описанной технологии применения компонентной архитектуры ПО, продолжим проведение аналогий между архитектурами в строительном проектировании и в проектировании программного обеспечения.

Основоположник серийного строительства, выдающийся архитектор современности Шарль Ле Корбюзье15, оказал существенное влияние на разработки и массовое применение унифицированных строительных блоков. Проектируя здания и сооружения, Корбюзье преследовал цели создания архитектурно-пространственных композиций, относясь к блокам так же, как задолго до него зодчие относились к кирпичам и к другим подобным блокам возводимых объектов строительства. Таким образом, конечной целью творчества мастера являлась архитектура заказного проекта, основанная на генеративных принципах повторного применения блоков, узлов и деталей, являющихся одним из приёмов быстрого возведения объектов строительства.

Жители советских построек конца 50-х и подавляющего большинства возводимых сегодня домов, к сожалению, знают к чему могут привести искажения в массовом применении современных технологий проектирования и реализации. Поэтому архитектурное проектирование является вполне ответственным и личностным ремеслом, в том числе и при разработке программного обеспечения.

Программные компоненты являются строительными блоками, из которых могут быть построены различные системы ПО. Применяя компоненты, необходимо, чтобы они были совместимы при подключении в ходе проектирования и были максимально сочетаемы друг с другом. На самом деле, использование компонент предназначено для минимизации дублирования кода и максимизации повторного применения кода. Эти и другие свойства определяют качество компонентов.

Компоненты в общем смысле представляют собой части конкретного производственного процесса. Мы не можем применять кирпичи для конструирования технических приборов или машин, мы строим кирпичные постройки и конструируем машины в виде систем узлов и механизмов.

Применительно для программной инженерии, мы используем ЛЕ КОРБЮЗЬЕ (Le Corbusier) (наст. фам. Жаннере, Jeanneret) Шарль Эдуар (1887-1965), французский архитектор и теоретик архитектуры. В современной технике и серийности индустриального строительства видел основу обновления архитектуры, стремился эстетически выявить функционально оправданную структуру сооружения. Один из создателей современных течений архитектуры (рационализма, функционализма), применял плоские покрытия, ленточные окна, открытые опоры в нижних этажах зданий, свободную планировку (дом Центросоюза в Москве, 1928-35; жилой дом в Марселе, 1947–1952). В 50–60-х гг. создавал большие городские ансамбли (Чандигарх в Индии, 1951–1956), стремился к свободе и гибкости пространственно-пластической структуры здания (капелла в Роншане, 1950–1953). (http://history.rin.ru/text/tree/6608.html) - 49 - УМП «Автоматизированные методы разработки архитектуры ПО» компоненты стандартной библиотеки шаблонов если требуется контейнер в языке C++. Для проектирования графического интерфейса пользователямы применяем визуальные компоненты (например, такие, как JavaBeans). Для создания многоплатформенных реализаций распределенного ПО мы компонуем и генерируем программную систему с применением технологий MDA. Если перед нами стоит задача проектирования языково-независимого ПО, для этой цели применяется технология CORBA.

С библиотеками шаблонов связаны имена их разработчиков, но скорее всего, всё связанное с шаблонами началось с рождения языка C++. Создателем языка C++ (C с классами) является Бьерн Страуструп (Bjarne Stroustrup). Об этом ученом, и о созданным им языке написано большое количество книг, в том числе и учебников.

Интересующимся техникой программирования на язке C++ и практической работой с Бьерн Страуструп (Bjarne Stroustrup), создатель C++.

библиотеками шаблонов следует Родился 30 декабря 1950 г., воспользоваться литературой [20], в городе Аархус (Дания).

По-датски фамилия звучит как Бьярне [21], [22].

Строуструп.

Отметим, что на появление В 1975 г. Бьерн Страуструп закончил университет Аархуса, где получил степень библиотек шаблонов оказало магистра математики и компьютерных наук.

влияние наличие в языке C++ Поступил в Вычислительную лабораторию (Computing Laboratory) Кембриджского инструкции университета.

В 1979 г. защитил диссертацию, посвященную template ;

распределенным компьютерным системам, и получил степень доктора философии. С этого Сам Бьерн Страуструп написал года работает в исследовательский центр Bell про эту начальную инструкцию:

Labs (Computer Science Research Center of Bell Telephone Laboratories).

“…она отличается от обычного В 1980 г. разрабатывает собственный диалект описания класса и показывает, что языка C, использующий средства объектноориентированного программирования языка описывается не класс, а шаблон типа Симула-67. Создал язык C with Classes, который в 1984 г. перерос в язык C++.

с заданным параметром-типом”...” Автор известных книг «The C++ Programming “Возможности, которые реализует Language», 1986 и «The Design and Evolution of C++», 1994.

Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 16 |






















© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.