87 lines
7.6 KiB
TeX
87 lines
7.6 KiB
TeX
|
\documentclass[a4paper,fontsize=14bp]{article}
|
|||
|
|
|||
|
\input{../common-preamble}
|
|||
|
\input{../fancy-listings-preamble}
|
|||
|
\input{../bmstu-preamble}
|
|||
|
\usepackage{tikz-uml}
|
|||
|
\usepackage{pgfopts}
|
|||
|
\usepackage{pgfkeys}
|
|||
|
|
|||
|
\usetikzlibrary{positioning, math}
|
|||
|
\numerationTop
|
|||
|
|
|||
|
\begin{document}
|
|||
|
\thispagestyle{empty}
|
|||
|
\makeBMSTUHeader
|
|||
|
|
|||
|
% ... работе, номер, тема, предмет, ?а, кто
|
|||
|
\makeReportTitle{лабораторной}{3}{Анализ поведения систем и их компонентов}{Методы исследования и моделирования информационных процессов и систем}{а}{А.Р. Кадырбаева}
|
|||
|
\newpage
|
|||
|
\thispagestyle{empty}
|
|||
|
\tableofcontents
|
|||
|
\newpage
|
|||
|
\pagestyle{fancy}
|
|||
|
\section{Цель}
|
|||
|
Ознакомление студентов с методами и средствами анализа поведения систем и их компонентов, выраженного при помощи диаграмм UML.
|
|||
|
\section{Задание}
|
|||
|
В данной лабораторной работе необходимо ознакомиться с основами стандарта fUML, расширяющего возможности UML, а также освоить применение основанных на использовании этого стандарта программных средств, позволяющих производить анализ диаграмм UML. В таблице \hrf{table:task} представлено индивидуальное задание.
|
|||
|
\begin{table}[H]
|
|||
|
\centering
|
|||
|
\begin{tabular}{|c|p{100mm}|p{30mm}|}
|
|||
|
\hline
|
|||
|
Вариант & Задание & Количество вопросов для верификации \\ [0.5ex]
|
|||
|
\hline
|
|||
|
11 & Работа копирайтера. Определяем поведение состояний «Выполнение работы», «Оплата работы», «Поиск работы», «Заключение контракта», «Невозможность оплаты заказа», «Невозможность выполнения заказа» & 5 \\ [1ex]
|
|||
|
\hline
|
|||
|
\end{tabular}
|
|||
|
\caption{Задание по варианту}
|
|||
|
\label{table:task}
|
|||
|
\end{table}
|
|||
|
\section{Выполнение работы}
|
|||
|
\begin{figure}[h]
|
|||
|
\centering
|
|||
|
\begin{tikzpicture}[yscale=-1]
|
|||
|
\umlstateinitial[x=-4, y=-6, name=initial]
|
|||
|
\umlbasicstate[x=-3, name=search, entry=мораль-, exit=мораль+]{Поиск работы}
|
|||
|
\umlbasicstate[x=6, y=-3, name=failExec, entry=мораль-, exit=опыт+]{\shortstack{Невозможно\\выполнение}}
|
|||
|
\umlbasicstate[x=-3, y=5, name=contract, exit=опыт+, entry=мораль+]{Контракт}
|
|||
|
\umlbasicstate[x=-3, y=10, name=exec, exit=опыт+, entry=мораль+]{\shortstack{Выполнение\\работ}}
|
|||
|
\umlbasicstate[x=6, y=10, name=pay, exit=мораль+, entry=мораль+]{Оплата работы}
|
|||
|
\umlbasicstate[x=-3, y=15, name=failAward, exit=опыт+, entry=мораль-]{\shortstack{Невозможна\\оплата}}
|
|||
|
|
|||
|
\umltrans[]{initial}{search}
|
|||
|
\umlVHtrans[pos=1.5, arg=Недостаток компетенций]{search}{failExec}
|
|||
|
\umlVHtrans[arg=Возврат к поиску]{failExec}{search}
|
|||
|
\umltrans[pos=0.5, arg=Найдена работа по силам]{search}{contract}
|
|||
|
\umltrans[pos=0.5, arg=Приступаем к работе]{contract}{exec}
|
|||
|
\umltrans[pos=0.5, arg=Нормальный процесс]{exec}{pay}
|
|||
|
\umlVHtrans[arm1=-30mm, pos=1, arg=Попробовать с тем же работодателем]{pay}{contract}
|
|||
|
\umlVHtrans[arm1=-20mm, arg=Выйти на рынок]{pay}{search}
|
|||
|
\umltrans[pos=0.5, arg=Форс-мажор]{exec}{failAward}
|
|||
|
\umlHVHtrans[arm1=-20mm]{failAward}{search}
|
|||
|
\umlHVHtrans[arm1=-40mm, pos=0.7, arg=Неудача]{contract}{search}
|
|||
|
\end{tikzpicture}
|
|||
|
\caption{Диаграмма конечного автомата по заданию}
|
|||
|
\label{pic:fsm}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
По заданию необходимо описать диаграмму состояний агента - копирайтера, осуществляющего свою трудовую деятельность. У агента, согласно задания, возможно шесть состояний:
|
|||
|
\begin{enumerate}
|
|||
|
\item Поиск работы - состояние, в котором агент осуществляет непосредственный просмотр вакансий;
|
|||
|
\item Невозможно выполнение - состояние, в котором агент осуществляет повышение квалификации. В него можно попасть только в результате неудачного поиска (недостаточно компетенций), из него можно выйти только в состояние поиска работы;
|
|||
|
\item Контракт - заключение контракта с работодателем, сюда можно попасть только после поиска работы или после успешной оплаты предыдущей работы. Выход из состояния возможен в состояние выполнения работ или если стороны не смогли договориться;
|
|||
|
\item Выполнение работы - единственное состояние, которое возможно после заключения контракта. В общем случае, в результате выполнения работы происходит переход в состояние оплаты, а в случае возникновения форс-мажорных ситуаций в состояние невозможности оплаты;
|
|||
|
\item Оплата работы - состояние в котором возможно оказаться только в результате выполнения работ. Из этого состояния возможно попытаться заключить с работодателем новый контракт или начать новый поиск работы;
|
|||
|
\item Невозможна оплата - состояние, возникающее только в силу форс-мажорных ситуаций и может вести только к инициированию нового поиска работы.
|
|||
|
\end{enumerate}
|
|||
|
|
|||
|
Диаграмма конечного автомата по заданию представлена на рисунке \hrf{pic:fsm}.
|
|||
|
|
|||
|
\section{Выводы}
|
|||
|
Диаграммы конечных автоматов UML можно использовать для моделирования поведения класса, подсистемы, пакета или системы целиком. Диаграммы состояний предоставляют наглядный способ моделирования взаимодействия или коммуникации, которые происходят внутри внешних объектов и системы. Эти диаграммы используются для моделирования систем, основанных на событиях. Состояние объекта контролируется и изменяется с помощью события. Диаграммы состояний используются для описания изменения состояний объекта в прикладной системе.
|
|||
|
|
|||
|
\end{document}
|
|||
|
|
|||
|
|
|||
|
|