МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ГРОЗНЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. акад. М.Д. Миллионщикова
Кафедра «Информационные технологии»
КУРСОВОЙ ПРОЕКТ
ПО КУРСУ: «Моделирование процессов и систем»
НА ТЕМУ: «Проект создания UML-модели прихода и обслуживания
посетителей в ресторане»
Выполнил студент
Махмудов А.У.
Грозный 2015
Содержание
Введение
Глава 1. Теоретическая часть
1.1 Общая характеристика языка UML
1.2 Моделирование случайной величины с заданным законом распределения
Глава 2. Проектная часть
2.1 Диаграмма использования
2.2 Диаграмма классов
Заключение
Список использованной
литературы
Введение
Компьютерная модель - это программная реализация математической модели, дополненная различными служебными программами (например, рисующими и изменяющими графические образы во времени). Компьютерная модель имеет две составляющие - программную и аппаратную. Программная составляющая так же является абстрактной знаковой моделью. Это лишь другая форма абстрактной модели, которая, однако, может интерпретироваться не только математиками и программистами, но и техническим устройством - процессором компьютера.
Моделированием называется замещение одного объекта другим с целью получения информации о свойствах объекта-оригинала путем изучения объекта-модели.
Понятие модели. Модель - представление объекта, системы или понятия, в некоторой форме, отличного от их реального существования.
Моделирование - во-первых, построение модели, во-вторых, изучение модели, в-третьих, анализ системы на основе данной модели.
При системном подходе к моделированию систем необходимо прежде всего четко определить цель моделирования. Применительно к вопросам моделирования цель возникает из требуемых задач моделирования, что позволяет подойти к выбору критерия и оценить, какие элементы войдут в создаваемую модель М. Поэтому необходимо иметь критерий отбора отдельных элементов в создаваемую модель.
Цели моделирования:
) оценка - оценить действительные характеристики проектируемой или существующей системы, определить насколько система предлагаемой структуры будут соответствовать предъявляемым требованиям.
) сравнение - произвести сравнение конкурирующих систем одного функционального назначения или сопоставить несколько вариантов построения одной и той же системы.
) прогноз - оценить поведение системы при некотором предполагаемом сочетании рабочих условий.
) анализ чувствительности - выявить из большого числа факторов, действующих на систему тем, которое в большей степени влияют на ее поведение и определяют ее показатели эффективности.
) оптимизация - найти или установить такое сочетание действующих факторов и их величин, которое обеспечивает наилучшие показатели эффективности системы в целом.
Объектом проекта является моделирование информационных систем а также язык моделирования UML.
Предметом курсового проекта является UML-модель.
Целью данного курсового проекта является создание UML-модели прихода и обслуживания посетителей в ресторане.
Задачи проекта:
· Построить диаграмму использования;
· Построить диаграмму последовательности.
графический мультипликативный распределение класс
Глава 1. Теоретическая часть
- это унифицированный графический язык моделирования для описания, визуализации, проектирования и документирования ОО систем. UML призван поддерживать процесс моделирования ПС на основе ОО подхода, организовывать взаимосвязь концептуальных и программных понятий, отражать проблемы масштабирования сложных систем. Модели на UML используются на всех этапах жизненного цикла ПС, начиная с бизнес-анализа и заканчивая сопровождением системы. Разные организации могут применять UML по своему усмотрению в зависимости от своих проблемных областей и используемых технологий. [3]
Краткая история UML
К середине 90-х годов различными авторами было предложено несколько десятков методов ОО моделирования, каждый из которых использовал свою графическую нотацию. При этом любой их этих методов имел свои сильные стороны, но не позволял построить достаточно полную модель ПС, показать ее «со всех сторон», то есть, все необходимые проекции (См. статью 1). К тому же отсутствие стандарта ОО моделирования затрудняло для разработчиков выбор наиболее подходящего метода, что препятствовало широкому распространению ОО подхода к разработке ПС.
По запросу Object Management Group (OMG) - организации, ответственной за принятие стандартов в области объектных технологий и баз данных назревшая проблема унификации и стандартизации была решена авторами трех наиболее популярных ОО методов - Г. Бучем, Д. Рамбо и А. Джекобсоном, которые объединенными усилиями создали версию UML 1.1, утвержденную OMG в 1997 году в качестве стандарта. [9]- это язык
Любой язык состоит из словаря и правил комбинирования слов для получения осмысленных конструкций. Так, в частности, устроены языки программирования, таковым является и UML. Отличительной его особенностью является то, что словарь языка образуют графические элементы. Каждому графическому символу соответствует конкретная семантика, поэтому модель, созданная одним разработчиком, может однозначно быть понята другим, а также программным средством, интерпретирующим UML. Отсюда, в частности, следует, что модель ПС, представленная на UML, может автоматически быть переведена на ОО язык программирования (такой, как Java, C++, VisualBasic), то есть, при наличии хорошего инструментального средства визуального моделирования, поддерживающего UML, построив модель, мы получим и заготовку программного кода, соответствующего этой модели. [6]
Следует подчеркнуть, что UML - это именно язык, а не метод. Он объясняет, из каких элементов создавать модели и как их читать, но ничего не говорит о том, какие модели и в каких случаях следует разрабатывать. Чтобы создать метод на базе UML, надо дополнить его описанием процесса разработки ПС. Примером такого процесса является Rational Unified Process, который будет рассматриваться в последующих статьях. [10]
Словарь UML
Модель представляется в виде сущностей и отношений между ними, которые показываются на диаграммах.
Сущности - это абстракции, являющиеся основными элементами моделей. Имеется четыре типа сущностей - структурные (класс, интерфейс, компонент, вариант использования, кооперация, узел), поведенческие (взаимодействие, состояние), группирующие (пакеты) и аннотационные (комментарии). Каждый вид сущностей имеет свое графическое представление. Сущности будут подробно рассмотрены при изучении диаграмм.
Отношения показывают различные связи между сущностями. В UML определены следующие типы отношений:
Зависимость показывает такую связь между двумя сущностями, когда изменение одной из них - независимой - может повлиять на семантику другой - зависимой. Зависимость изображается пунктирной стрелкой, направленной от зависимой сущности к независимой.
Ассоциация - это структурное отношение, показывающее, что объекты одной сущности связаны с объектами другой. Графически ассоциация показывается в виде линии, соединяющей связываемые сущности. Ассоциации служат для осуществления навигации между объектами. Например, ассоциация между классами «Заказ» и «Товар» может быть использована для нахождения всех товаров, указанных в конкретном заказе - с одной стороны, или для нахождения всех заказов в которых есть данный товар, - с другой. Понятно, что в соответствующих программах должен быть реализован механизм, обеспечивающий такую навигацию. Если требуется навигация только в одном направлении, оно показывается стрелкой на конце ассоциации. Частным случаем ассоциации является агрегирование - отношение вида «целое» - «часть». Графически оно выделяется с помощью ромбика на конце около сущности-целого. [12]
Обобщение - это отношение между сущностью-родителем и сущностью-потомком. По существу, это отношение отражает свойство наследования для классов и объектов. Обобщение показывается в виде линии, заканчивающейся треугольничком направленным к родительской сущности. Потомок наследует структуру (атрибуты) и поведение (методы) родителя, но в то же время он может иметь новые элементы структуры и новые методы. UML допускает множественное наследование, когда сущность связана более чем с одной родительской сущностью. [7]
Реализация - отношение между сущностью, определяющей спецификацию поведения (интерфейс) с сущностью, определяющей реализацию этого поведения (класс, компонент). Это отношение обычно используется при моделировании компонент и будет подробнее описано в последующих статьях.
Диаграммы. В UML предусмотрены следующие диаграммы:
. Диаграммы, описывающие поведение системы:
· Диаграммы состояний (State diagrams),
· Диаграммы деятельностей (Activity diagrams),
· Диаграммы объектов (Object diagrams),
· Диаграммы последовательностей (Sequence diagrams),
· Диаграммы взаимодействия (Collaboration diagrams);
. Диаграммы, описывающие физическую реализацию системы:
· Диаграммы компонент (Component diagrams);
· Диаграммы развертывания (Deployment diagrams).
· Представление управления моделью. Пакеты.
Мы уже говорили о том, что для того чтобы модель была хорошо понимаемой человеком необходимо организовать ее иерархически, оставляя на каждом уровне иерархии небольшое число сущностей. UML включает средство организации иерархического представления модели - пакеты. Любая модель состоит из набора пакетов, которые могут содержать классы, варианты использования и прочие сущности и диаграммы. Пакет может включать другие пакеты, что позволяет создавать иерархии. В UML не предусмотрено отдельных диаграмм пакетов, но они могут присутствовать на других диаграммах. Пакет изображается в виде прямоугольника с закладкой.
Что обеспечивает UML:
· иерархическое описание сложной системы путем выделения пакетов;
· формализацию функциональных требований к системе с помощью аппарата вариантов использования;
· детализацию требований к системе путем построения диаграмм деятельностей и сценариев;
· выделение классов данных и построение концептуальной модели данных в виде диаграмм классов;
· описание процессов взаимодействия объектов при выполнении системных функций;
· описание поведения объектов в виде диаграмм деятельностей и состояний;
· описание программных компонент и их взаимодействия через интерфейсы;
· описание физической архитектуры системы. [4]
Эффективными методами исследования процессов и систем, получившими широкое распространение, являются методы компьютерного моделирования, в частности, имитационное моделирование. В основе вычислений по методу статистических испытаний лежит случайный выбор чисел из заданного вероятностного распределения. При практических вычислениях эти числа берут из таблиц или получают путем некоторых операций, результатами которых являются псевдослучайные числа с теми же свойствами, что и числа, получаемые путем случайной выборки. Имеется большое число вычислительных алгоритмов, которые позволяют получить длинные последовательности псевдослучайных чисел.
Для того чтобы задать случайную величину, надо указать, какие значения она может принимать, и каковы вероятности этих значений.
Определение. Случайная величина Х называется дискретной, если она может принимать дискретное множество значений х1, х2, …, хn.
Формально случайная дискретная величина Х определяется таблицей
(1)
где х1, х2, …, хn - возможные значения величины Х;
р1, р2, …, рn - соответствующие вероятности.
Точнее говоря, вероятность P{X=хi} того, что случайная величина Х примет значение хi, равна:
P{ X= хi } = рi .
(2)
Числа х1, х2, …, хn
могут быть вообще говоря, любыми. Однако вероятности р1, р2, …, рn должны удовлетворять двум условиям:
и
(4)
Последнее условие означает, что Х обязана в каждом случае принять одно из значений х1, х2, …, хn.
Кроме распределения случайной величины, которая является исчерпывающей характеристикой, вводятся числовые характеристики, основными среди которых являются математическое ожидание и дисперсия. [11]
Получение случайных величин на ЭВМ
Сама постановка вопроса "получение случайных чисел на ЭВМ" иногда вызывает недоумение: ведь все, что делает компьютер, должно быть заранее запрограммировано; откуда же может появиться случайность?
Специалисты считают, что в этом вопросе есть определенные трудности, но они относятся скорее к философии, так что мы на них останавливаться не будем. Отметим лишь, что случайные величины, о которых шла речь в предыдущем разделе это идеальные математические понятия.
Вопрос о том, можно ли с их помощью описать какое-либо явление природы, решается опытным путем. Такое описание всегда является приближенным. Более того, случайная величина, которая вполне удовлетворительно описывает какую-то физическую величину в одном классе явлений, может оказаться плохой характеристикой этой же величины при исследовании других явлений. Точно так же дорога, которую на карте страны можно считать прямой (идеальной математической прямой "без ширины"), становится полосой с изгибами на крупномасштабном плане населенного пункта.
Обычно различают три способа получения случайных величин:
§ из заранее составленных таблиц случайных чисел;
§ физические генераторы случайных чисел;
§ с помощью формул (генераторов или датчиков) псевдослучайных чисел.
Поскольку "качество" используемых в имитационном моделировании случайных чисел проверяется с помощью специальных тестов, можно не интересоваться тем, как эти числа получены: лишь бы они удовлетворяли принятой системе тестов.
Числа, получаемые по какой-либо формуле и имитирующие значения случайной величины X, называются псевдослучайными числами. Под словом "имитирующие" подразумевается, что эти числа удовлетворяют ряду тестов так, как если бы они были значениями этой случайной величины.
Основой или «сырьем» для моделирования случайных величин с заданным законом распределения являются так называемые базовые случайные числа. [8]
Определение
Совокупность {Ri}, i=1,2, … независимых равномерно распределенных на отрезке [0,1] случайных величин называется последовательностью базовых случайных чисел.