Научная статья на тему 'Методы и средства UML как инструменты проектирования программного обеспечения'

Методы и средства UML как инструменты проектирования программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2758
170
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАЦИОННЫЕ СИСТЕМЫ / МОДЕЛИРОВАНИЕ / ПРОЕКТИРОВАНИЕ / РАЗРАБОТКА / INFORMATION SYSTEMS / SIMULATION / DESIGN / DEVELOPMENT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Вичугова Анна Александровна, Вичугов Владимир Николаевич, Цапко Геннадий Павлович

Рассмотрен процесс разработки программного обеспечения на этапе его проектирования с помощью инструментов графического моделирования в соответствии с объектно-ориентированным подходом. Показано использование инструментария UML на практическом примере. Описаны средства графического моделирования с помощью UML.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Вичугова Анна Александровна, Вичугов Владимир Николаевич, Цапко Геннадий Павлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The paper describes software development at the stage of its designing by means of graphic modeling tools in accordance with object-oriented approach. The usage of UML-toolkit is shown in practice. The tools of graphic UML-modeling are described.

Текст научной работы на тему «Методы и средства UML как инструменты проектирования программного обеспечения»

УДК 002.53; 002.53:004.65; 002.53:004.62/.63

МЕТОДЫ И СРЕДСТВА UML КАК ИНСТРУМЕНТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

А.А. Вичугова, В Н. Вичугов, Г.П. Цапко

Томский политехнический университет E-mail: anya@aics.ru

Рассмотрен процесс разработки программного обеспечения на этапе его проектирования с помощью инструментов графического моделирования в соответствии с объектно-ориентированным подходом. Показано использование инструментария UML на практическом примере. Описаны средства графического моделирования с помощью UML.

Ключевые слова:

Информационные системы, моделирование, проектирование, разработка.

Введение

В связи с возрастающей сложностью программных систем в 80-х гг. XX в. появились специальные методы и средства проектирования программного обеспечения (ПО), называемые CASE (от англ. Computer Aided Software Engineering). Современный рынок информационных технологий предоставляет множество программных продуктов категории CASE, которые поддерживают существующие подходы к разработке ПО. В настоящее время принято выделять следующие основные подходы к проектированию ПО:

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

• объектно-ориентированный, который использует объектную декомпозицию - структура системы определяется множеством объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами.

Структурный подход имеет более длительную историю по сравнению с объектно-ориентированным, поэтому CASE-средства изначально поддерживали методы структурного подхода, например IDEF0, IDEF1, IDEF3, DFD. Наиболее распространенными в России CASE-средствами можно назвать такие информационные системы, как All Fusion Process Modeller, ARIS, Ramus и т. д.

В связи с активным развитием объектно-ориентированного подхода появляется все больше программных средств, реализующих методы объектно-ориентированного описания информационных систем, например Rational Rose, StarUML, Visual Paradigm UML, ArgoUML, BOUML, yEd и др. Кроме того, поддержка методов объектно-ориентированного подхода находит отражение и в новых версия некоторых CASE-систем, традиционно считающихся структурными, например ARIS [1].

Вичугова Анна Александровна, ассистент кафедры автоматики и компьютерных систем Института кибернетики ТПУ.

E-mail: anya@aics.ru Область научных интересов: бизнес -моделирование, структурный анализ, базы данных, информационные системы электронного документооборота, информационно-управляющие системы. Вичугов Владимир Николаевич, канд. техн. наук, доцент кафедры автоматики и компьютерных систем Института кибернетики ТПУ. E-mail: vlad@aics.ru Область научных интересов: программирование, базы данных, автоматизированные системы управления. Цапко Геннадий Павлович, д-р техн. наук, профессор, заведующий кафедрой автоматики и компьютерных систем Института кибернетики ТПУ.

E-mail: tsapko@aics.ru Область научных интересов: системный анализ, информационные технологии управления жизненным циклом продукции.

Основным методом для описания информационной системы в соответствии с объектно-ориентированным подходом является универсальный язык моделирования UML (от англ. Unified Modeling Language), разработанный в 90-х гг. Г. Бучем, Д. Рамбо и И. Якобсоном. В современной версии языка UML 2.4 выделяют около 15 видов диаграмм для описания структуры и поведения проектируемого ПО [2]. Однако в связи с многообразием видов UML-диаграмм целесообразно определить типовую последовательность действий по применению этого инструмента на этапе проектирования ПО.

Проектирование ПО

Согласно существующим стандартам, которые регламентируют жизненный цикл ПО (ГОСТ 34.601-90, ISO/IEC 12207:1995 и его российский аналог - ГОСТ Р ИСО/МЭК 12207-99), а также моделям жизненного цикла ПО (водопадная, итерационная и спиральная) [3], неотъемлемой частью процесса разработки является этап проектирования, на котором определяется базовая структура информационной системы (ИС), ее компоненты, их назначение и взаимосвязь. Например, поставлена задача разработки информационной системы, которая включает базу данных (БД) и приложение для работы с ней. Начальным этапом проектирования ПО является определение его архитектуры и основных составляющих. Это можно сделать с помощью UML-диаграммы компонентов (рис. 1).

Рис. 1. UML-диаграмма компонентов, иллюстрирующая архитектуру проектируемого ПО

Представленное на рис. 1. проектируемое ПО описывается в терминах графических символов иМЬ-диаграммы компонентов следующим образом:

клиент-серверная архитектура показана с помощью двух узлов (клиент и сервер), связанных по типу «1 ко многим»;

• на клиентском узле «Модуль пользователя» и «Модуль администратора» объединены в программно-логический пакет «Клиентские компоненты»;

• аналогичным образом на узле сервера «Сервер приложений» и «Сервер БД» объединены в пакет «Серверные компоненты»;

• при этом компонент «Сервер БД» для связи с БД использует соответствующий интерфейс, предоставляемый системой управления базой данных (СУБД).

В соответствии с объектно-ориентированным подходом, необходимо выделить типы рассматриваемых сущностей, их характеристики (атрибуты) и операции, которые могут быть над ними произведены (методы). В UML это выполняется с помощью диаграммы классов

(рис. 2), на которой можно показать не только типы объектов в виде классов, но и различные связи между ними.

«interface» GUI Windows

+ввести текст() +отобразить данные() +нажить на кнопку()

Программное обеспечение

■назначение

+определить требования()

+проектировать()

+реализовать()

+тестировать()

+докуме нти ро вать()

+передать в эксплуатацию()

Ï

Компонент ПО

-узел развертывания

+связать с другим компонентом()

X

ж

Модуль

+выполнить операцию пользователя() +выполнить программную операцию()

«interface» Связь с БД

+связаться с БД() +отправить запрос в БД() +получить информацию из БД()

1

База данных (БД)

■тип модели название СУБД

+добавить данные() +изменить данные () +удалить данные()

«uses»

«uses»

-тип

Рис. 2. Составные части проектируемого ПО и связи между ними на UML-диаграмме классов

В рассматриваемом примере определены следующие классы:

• «Программное обеспечение», атрибутами которого являются «название» и «назначение», а операциями - действия, практически полностью соответствующие этапам проекта по водопадной модели жизненного цикла ПО («определить требования», «проектировать», «реализовать», «тестировать», «документировать», «передать в эксплуатацию»). Данный класс находится на самом верхнем уровне абстракции, не содержит конкретных объектов (экземпляров) и потому является абстрактным (название класса на диаграмме показано курсивом).

• «Компонент ПО», наследник класса «ПО», также является абстрактным, характеризуется атрибутом «узел развертывания» и операцией «связать с другим компонентом»;

• «Модуль», наследник класс «Компонент ПО», описывается атрибутом «тип», а также операциями «выполнить операцию пользователя» и «выполнить программную операцию». При этом класс «Модуль» связан с внешними интерфейсами, например графический интерфейс пользователя (GUI - от англ. Graphical User Interface) Windows и интерфейс связи с БД, которые предоставляют необходимые операции;

• «БД», также наследник класса «Компонент ПО», содержит атрибуты «тип модели» (реляционная, иерархическая, сетевая и т. д.), название СУБД (Oracle, MSSQL и т. д.), а также операции типовые работы с данными (добавить, изменить, удалить). При этом класс «БД» связан с интерфейсом, обеспечивающим взаимодействие с БД связью типа «1 к 1».

Далее следует определить жизненный цикл каждого из вышеперечисленных классов, т. е. составить перечень состояний и переходов между ними. В UML это выполняется в виде диаграмм состояний, в основе которых лежит аппарат дискретной логики и конечных автоматов. На рис. 3 показан жизненный цикл класса «Программное обеспечение», который включает шесть типовых состояний.

Рис. 3. UML-диаграмма состояний жизненного цикла у класса «Программное обеспечение»

После определения состояний жизненного цикла всех рассматриваемых классов целесообразно отобразить взаимодействие между их объектами, которые находятся в разных состояниях. Это можно выполнить в виде UML-диаграммы последовательностей, которая позволяет показать не только объекты разных классов в различных состояниях, но и обмен сообщениями между ними (рис. 4).

Определены требования : Программное обеспечение Спроектирована : База данных (БД) Реализована : База данных (БД) Реализован : Модуль

проектировать ()

реализовать ()

реализовать ()

Рис. 4. Взаимодействие между объектами разных классов, показанное с помощью UML-диаграммы последовательностей

На рис. 4 показана следующая последовательность взаимодействий разных классов:

• как только определены требования к программному обеспечению, начинается этап проектирования БД;

• после проектирования БД идет этап ее реализации;

• после реализации БД начинается разработка модуля, обеспечивающего работу с ней.

Однако помимо технических аспектов проектирования и реализации ПО необходимо также описать технологию работы с ним, т. е. процессы разработки и эксплуатации. В UML это делается средствами диаграммы деятельности, которая позволяет описать логическую последовательность действий и их исполнителей, а также показать связанные с процессами объекты. В рамках рассматриваемого примера на рис. 5 показан процесс разработки ПО.

Рис. 5. UML-диаграмма деятельности по разработке ПО

В рассматриваемом процессе показаны его участники (Заказчик, Менеджер проекта, Архитектор, Разработчик и Тестировщик), исполняемые ими действия, а также входные/выходные данные для этих действий в виде объектов ранее указанных классов в соответствующих состояниях. Таким образом, UML-диаграммы деятельности подробно иллюстрируют алгоритмы выполнения процессов.

Выводы

Рассмотренный пример показывает некоторые приемы проектирования ПО с помощью методов UML. Полученные с их помощью диаграммы представляют собой основу проектируемого ПО в виде формальных информационных моделей и алгоритмического обеспечения. Объемы и сложность современных информационных систем привели к тому, что подобное проектирование ПО становится неотъемлемой частью процесса разработки и предваряет этап реализации. Говоря о методах UML, следует отметить также и средства их воплощения. В настоящее время многие среды разработки ПО включают инструменты визуального проектирования с возможностью последующей генерации программного кода из построенных UML-моделей, например Microsoft Visual Studio, NetBeans, Delphi XE3, TJI Java IDE, JBuilder и др. Целесообразно выделить универсальные графические редакторы, например yEd, Dia, MS Visio, которые позволяют графически изображать диаграммы как в структурных, так и в объектно-ориентированных нотациях.

СПИСОК ЛИТЕРАТУРЫ

1. Рожкова Е. CASE-средства. Сравнительный анализ // ARIS - Rational Rose. URL: http://ocnova.ru/?p=334 (дата обращения: 10.12.2012).

2. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2-е изд. / Пер. с англ.; под общей ред. проф. С. Орлова. - СПб.: Питер, 2006. - 736 с.

3. Мирошниченко Е.А. Технологии программирования. 2-е изд., испр. и доп. - Томск: Изд-во ТПУ, 2008. - 128 с.

Поступила 10.12.2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.