Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы и средства проектирования информационных систем и технологий. Основы UML. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Тамбовский государственный технический университет»
О. Г. Иванова, Ю. Ю. Громов
МЕТОДЫ И СРЕДСТВА ПРОЕКТИРОВАНИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ И
Утверждено Учёным советом университета
в качестве учебного пособия для студентов 2 – 4 курсов,
направлений подготовки
09.03.02 «Информационные системы и технологии»,
09.04.02 «Информационные системы и технологии» очной и заочной форм обучения
Учебное электронное издание
Тамбов
Издательский центр ФГБОУ ВО «ТГТУ»
2020
1
УДК 004.42(075.8) ББК Á973я73
И20
Рецензенты:
Кандидат технических наук, доцент,
доцент института математики, физики и информационных технологий
ФГБОУ ВО «ТГУ имени Г. Р. Державина»
И. А. Зауголков
Кандидат технических наук, доцент,
доцент кафедры МТИ ФГБОУ ВО «ТГТУ»
Г. В. Шишкина
И20
Иванова, О. Г.
Методы и средства проектирования информационных систем и технологий. Осно- вы UML [Электронный ресурс] : учебное пособие / О. Г. Иванова, Ю. Ю. Громов. – Тамбов : Издательский центр ФГБОУ ВО «ТГТУ», 2020. – 1 электрон. опт. диск (CD-ROM). – Системные требования : ПК н е ниже класса Pentium II ; CD-ROM­дисковод ; 16,7 Mb ; RAM ; Windows 95/98/XP ; мышь. – Загл. с экрана.
ISBN 978-5-8265-2308-7
Рассмотрены цели и задачи учебной дисциплины «Методы и средства проектиро­вания информационных систем и технологий». Подробно описаны методологии, применяемые в объектно-ориентированном проектировании информационных сис­тем, язык UML. Содержит примеры и решённые задачи.
Предназначено для студентов 2 – 4 курсов, направлений подготовки 09.03.02 «Ин­формационные системы и технологии», 09.04.02 «Информационные системы и тех­нологии» очной и заочной форм обучения.
УДК 004.42(075.8) ББК Á973я73
Все права на размножение и распространение в любой форме остаются
за разработчиком. Нелегальное копирование и использование
ISBN 978-5-8265-2308-7
2
данного продукта запрещено.
© Федеральное государственное бюджетное
образовательное учреждение высшего образования «Тамбовский государственный технический университет» (ФГБОУ ВО «ТГТУ»), 2020

ВВЕДЕНИЕ

Информационные технологии развиваются стремительно. В условиях жё­сткой конкуренции на рынке и растущих запросов пользователей создание ин­формационных систем стало очень сложной задачей. Системы стали настолько велики, что физических и умственных возможностей и способностей человека уже просто не достаточно для того, чтобы спроектировать сложную систему за один шаг, и даже для того, чтобы просто представить, вообразить все возмож­ности и потребности проектируемой системы, её архитектуру и программное обеспечение. Однако замечено, что визуальная информация воспринимается наиболее успешно и полно. На помощь проектировщику сложных систем при­шло визуальное моделирование.
Предлагаемое учебное пособие посвящено рассмотрению основных приё­мов визуального моделирования систем с помощью UML и предназначено ба­калаврам, обучающимся по направлению «Информационные системы и техно­логии» для аудиторных и самостоятельных занятий по дисциплине «Методы и средства проектирования информационных систем и технологий». В пособии описываются основные элементы нотации диаграмм UML, приводятся некото­рые приёмы и способы создания моделей системы: поиск классов, их атрибутов и операций, поиск объектов системы и др. Этапы создания визуальной модели сопровождаются иллюстрированными инструкциями.
3

1. ПОНЯТИЕ UML

UML – это аббревиатура, обозначающая язык унифицированного модели­рования.
UML – это графический язык, подходящий для различных изобразитель­ных средств, презентаций Power Point, печатной или электронной документа­ции, инструментов для построения диаграмм или специально предназначенных для этого компьютерных инструментов моделирования UML. Из-за этого ши­рокого диапазона использования стандарт UML преднамеренно не требует ис­пользования цвета или другого подобного оформления. Хотя некоторые из ин­струментов UML допускают цвет, затенение или даже какой-то псевдо-3D­эффект, но у них есть возможность отключить эти функции.
UML имеет все типичные части языка. Эта иерархическая возможность по­зволяет UML быть очень выразительным и адаптируемым для многих целей, как и обычный язык. Из-за этого сопоставления с написанными языками UML больше похож на русский язык, чем на Python.
Тем не менее, UML является искусственно сконструированным языком, и в этом смысле он больше похож на Python, чем на русский язык. Более того, UML наиболее выразителен в случае, когда речь идёт о программных системах, и в этом смысле UML также больше похож на Python, чем на русский язык. Но, по сути, визуальный графический язык UML больше похож на электронные схемы, архитектурные чертежи или технологические схемы, чем на любой раз­говорный или программный язык.
Более того, хотя UML имеет необходимую структуру для создания про­граммных продуктов, речь не идёт о их разработке. UML не предназначен для этого. Разработчики, использующие UML, могут моделировать структуру про­граммы, но не могут писать ее. Однако, некоторые инструменты могут читать модель UML для создания программной документации, что очень полезно в проектах с требованиями к документации.
4
Что следует запомнить
• UML – это выразительный, специально созданный язык для
целей моделирования программного обеспечения.
• UML – это графический язык.
• Объекты UML возможно создавать вручную или с помощью
специальных программных инструментов.
• Не требует использования цвета или затенения.
• UML имеет синтаксис (грамматику), нотацию и семантику
(значение).
UML – это язык, в частности, моделирования. UML позволяет создавать
модели, отражение чего-то в реальном мире или отражение чего-то в заплани­рованном мире. Эти модели можно исследовать, чтобы определить, как может вести себя смоделированная система или как она структурирована, показывая основные особенности, проектные решения и архитектуру. В качестве примера диаграммы моделирования UML рассмотрим диаграмму последовательности (рис. 1.1).
На этой простой диаграмме последовательности мы показываем типичное взаимодействие с электронной почтой. В этом взаимодействии участвуют поль­зователь, приложение электронной почты и сервер электронной почты.
После того, как пользователь инициирует поведение с сообщением Check Mail, приложение электронной почты начинает взаимодействие с сервером электронной почты; отправка любых неотправленных сообщений, получение нового количества сообщений, получение всех новых сообщений, а затем уда­ление любой старой почты.
Поведение, которое показывает эта диаграмма, должно быть понятным. Мелкие детали обозначения (например, стрелки и стиль линий) не являются не­обходимыми для понимания основной информации.
5
Рис. 1.1. Пример последовательности UML, показывающей обработку
электронной почты
Модели UML показывают некоторые детали вещей в системе или области интересов, а также их свойства, отношения и поведение. Моделируемые вещи могут быть физическими или концептуальными.
Например, в области авиалиний моделируемыми вещами могут быть само­лёты, пассажиры, аэропорты, места, маршруты и бронирование.
Можно также моделировать ремонт, ремни безопасности и отчёты по безопасности, если они представляли интерес, но нам было бы трудно смодели­ровать «безопасность». Точно так же было бы трудно смоделировать дружбу, мир во всём мире или гармонию, если бы мы не могли конкретизировать их и сделать из них нечто, на что можно было бы указать или сосчитать. То, что вы можете смоделировать, – это вещи с чёткими границами и связанными с ними свойствами, отношениями и поведением.
6
Объекты в UML-модели должны представлять интерес для конкретного проекта. В домене авиакомпании есть много моделируемых вещей, таких как части самолёта, например, отдельные болты и заклёпки. Если заказчик заинте­ресован в создании самолёта или составлении ведомости материалов для реак­тивного самолёта, можно понизить уровень детализации. Однако, если заказчи­ка интересует проблема планирования полётов, вместо этого необходимо вклю­чить пилотов, экипаж, взлётно-посадочные полосы, центры и расписания. Если вместо этого интерес заключается в билетах или системах бронирования, тре­буется смоделировать классы тарифов, коды, билеты, пропускную способность, обновления и зоны класса посадки.
В любой области слишком много возможных вещей для моделирования. Основная задача состоит в том, чтобы смоделировать то, что полезно и имеет отношение к пониманию того, как всё работает или что требуется построить.
Если есть части предметной области или пространства решений, которые хорошо понятны и известны всем, лучше сконцентрироваться на тех областях, которые являются наиболее необычными или наиболее неопределёнными. Именно здесь сила UML в том, чтобы помочь понять возможности и сообщить о решениях, становится наиболее ценной. С другой стороны, в зависимости от цели может потребоваться смоделировать всё на одном уровне детализации, например, если необходимо создать полную документацию, автоматически сге­нерировать полный код из модели или выполнить некоторые другие автомати­ческие преобразования моделей.
UML отличается от других языков моделирования, прежде всего по мощ­ности и объёму. Например, блок-схемы обычно ограничены показом потока управления, этапов обработки и ввода-вывода. Их эквивалент в UML, диаграм­мы деятельности, могут показать на одной диаграмме всё это, а также паралле­лизм, прерывания и поток данных. На других диаграммах UML существует возможность отображать структурную информацию (диаграммы классов), от­веты на события состояния (диаграммы состояния) и обмен сообщениями (диа-
7
граммы последовательности), которые потоковые диаграммы вообще не смогут отразить. Другой язык моделирования, EXPRESS, может отображать большую часть базовой структурной информации UML, но только в контексте проекти­рования базы данных, он также не может моделировать какие-либо функции поведения, которые может использовать UML. Большинство обозначений диа­грамм структурированного анализа/структурного проектирования (SA/SD) имеют аналогичные ограничения.
Язык моделирования, наиболее похожий на UML, – это семейство языков моделирования IDEF (Integration Definition). IDEF имеет 16 типов диаграмм, которые предназначены для целей, аналогичных UML, но они ограничены в со­стояниях моделирования и обмена сообщениями. IDEF мешает более слабая интеграция диаграмм, отсутствие поддержки объектно-ориентированных кон­цепций и более слабые инструменты.
Что следует запомнить
• UML может моделировать реальные или проектируемые сис-
темы. Это может включать:
− особенности и характеристики системы;
− структуру, поведение и взаимосвязь элементов системы;
− цели, архитектуру, дизайнерские решения для системы.
• Можно моделировать только объекты с чёткими границами и
их свойствами, отношениями и поведением.
• Моделирование ограничено только интересными и актуаль-
ными для проекта объектами.
• UML более мощный и популярный, чем другие языки моде-
лирования программного обеспечения, такие как Flowcharts, SA/SD и
IDEF.
8
До создания UML существовало более 50 объектно-ориентированных но­таций и методологий, которые конкурировали за долю рынка и умственные способности. Это множество нотаций значительно препятствовало росту объ­ектно-ориентированных языков и инструментов. Первые языки объектно­ориентированного моделирования начали появляться между серединой 1970-х и концом 1980-х гг., когда различные методологи и гуру экспериментировали и предлагали различные подходы к воплощению идей объектно­ориентированного анализа и проектирования. Кроме того, у каждого подхода были последователи, вызвавшие серию «методических войн».
Поскольку не было чёткого доминирующего языка моделирования, поль­зователям и компаниям приходилось выбирать из множества языков моделиро­вания с небольшими отличиями, но схожей выразительной силой. Отсутствие соглашения не позволяло пользователям и компаниям выходить на рынок объ­ектных технологий, но ни один язык не способствовал значительному расши­рению возможностей моделирования.
К середине 1990-х годов второе и третье поколения этих подходов к моде­лированию начали развиваться, заимствуя методы друг друга. В 1994 году под эгидой Rational Software Corporation Грэди Буч и Джим Рамбо начали работу над унификацией своих методов. В результате этих усилий в октябре 1995 г. был разработан проект Unified Method 0.8. Вскоре к работе по объединению присоединился Ивар Джекобсон.
Работая над интеграцией своих методов, они поняли, что существенный интерес может иметь только интегрированная нотация, поскольку разные предметные области имеют разные методологические потребности. Например, коммерческое программное обеспечение производства термоусадочной пленки, ИТ-системы для бизнеса, программное обеспечение для медицинского обору­дования и авионика в реальном времени должны иметь разные процессы разра­ботки.
Вследствие этого было принято несколько решений, которые принимались на протяжении всей разработки UML:
9
− переход от унифицированного метода к унифицированному языку мо-
делирования. Таким образом, UML – это язык, а не метод или методология. UML работает с любым подходом и в любой отрасли;
− сделать UML свободно распространяемым. Таким образом, ни одна
компания не владеет UML. Любой поставщик может сделать инструмент моде­лирования UML;
− предложить UML группе Object Management Group (OMG) в качестве
возможного стандарта. Таким образом, UML является стандартом, управляе­мым OMG, отраслевым консорциумом и доступным для свободного использо­вания всеми;
− работа с командой, партнерами UML. В число партнеров UML входили
корпорация Digital Equipment, Hewlett-Packard, i-Logix, Intellicorp, IBM, ICON
Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software Corp., Texas Instruments и Unisys. Сегодня любой может помочь в поддержке UML, присое-
динившись к OMG. Таким образом, UML имел и продолжает иметь много уча­стников.
В версии UML 1.3 (март 2000 г.) UML был нацелен на все типы систем. Он стал языком для анализа, определения, визуализации, проектирования, кон­струирования и документирования артефактов систем с интенсивным исполь­зованием программного обеспечения, а также для моделирования бизнеса и других не программных систем и областей.
UML продолжает представлять коллекцию лучших инженерных и модель­ных практик, которые доказали свою эффективность в создании больших и сложных систем. Таким образом, UML включает в себя широкий ассортимент мощных объектно-ориентированных методов, таких как обобщение, наследова­ние и абстракция, поскольку эти методы полезны во многих системных подхо­дах. Также, UML объединяет мощные необъектно-ориентированные методы моделирования, такие как составление, потоки данных и управления, а также конечные автоматы, поскольку вы также можете использовать эти методы во многих системных подходах. При моделировании с использованием UML не­изменно используются как объектно-ориентированные, так и необъектно­ориентированные подходы в одной и той же модели.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]