BMSTU/02-ipsm-lab-03-report.tex

87 lines
7.6 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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}