12437

Створення діаграми станів

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота № 5. Тема: Створення діаграми станів. Мета роботи: отримати навички побудови діаграм станів. Завдання: розробити діаграму станів для класу що описаний у прикладі виконання роботи та одного з раніше розроблених класів або прецедентів. Зміс...

Украинкский

2013-04-27

34.5 KB

9 чел.

Лабораторна робота № 5.

Тема: Створення діаграми станів.

Мета роботи: отримати навички побудови діаграм станів.

Завдання: розробити діаграму станів для класу, що описаний у прикладі виконання роботи, та  одного з раніше розроблених класів або прецедентів.

Зміст звіту: діаграма станів і опис станів у вигляді таблиці:

Стан

Опис стану

Приклад виконання роботи.

Діаграми станів застосовуються, як правило, для моделювання поведінки класів, прецедентів або системи в цілому.

Складемо діаграму станів для класу Order (Замовлення), оскільки в нашій моделі він найбільш часто буде міняти свій стан. Замовлення може знаходиться в декількох станах:

  •  при створенні замовлення він переходить в стан Ініціалізація, в якому виконуються деякі попередні дії;
  •  після завершення ініціалізації замовлення переходить в стан Відкрито, в якому до замовлення додаються нові пункти. Вихід з цього стану можливий або у разі скасування замовлення, або в разі заповнення всіх необхідних пунктів замовлення;
  •  якщо заповнені всі необхідні пункти замовлення, то він переходить в стан Закрито, в якому відбувається виписка рахунку. Вихід з цього стану відбудеться тільки після того, як рахунок буде виписаний;
  •  якщо замовлення скасовано, то зі стану Відкритий він переходить в стан Скасовано. При виході з цього стану відбувається видалення всіх пунктів замовлення.

Першим станом на діаграмі станів є початковий стан. При виконанні події "замовлення створене" замовлення переходить в стан Ініціалізація. При вході в цей стан виконується вхідна дія "Зберегти дату замовлення". Основна дія, яка буде виконуватися протягом усього часу, поки замовлення буде знаходиться в цьому стані, це "Внести інформацію про клієнта". Перехід з цього стану в стан Відкрито відбудеться тільки при виконанні сторожової умови "ініціалізація завершена".

У стані Відкрито є вихідна дія і перехід в себе. Перехід в себе означає, що подія ініціює перехід, відбувається вихід із поточного стану, виконується деяка дія, після чого відбувається повернення в початковий стан. Оскільки при переході в себе відбувається вихід зі стану і повторний вхід в нього ж, то виконується дія, асоційована з переходом, і, крім того, дія при вході в стан. У стані Відкрито до замовлення додаються нові пункти, причому їх можна додати тільки в тому випадку, якщо є незаповнені пункти. Для показу цього ми використовували перехід в себе "Додавання пункту замовлення" з сторожовою умовою "заповнені не всі пункти замовлення". Вихід з цього стану відбудеться в двох випадках - або коли виконається сторожова умова "заповнені всі позиції замовлення" (при цьому замовлення перейде в стан Закрито), або коли настане подія "замовлення відмінено" (при цьому замовлення перейде в стан Скасовано). При виході зі стану виконається дія виходу "*OrderItem.Create( )" (створення пункту замовлення). Символ "*" вказує на те, що ця дія виконається багато разів (по числу доданих пунктів в замовлення).

У стані Закрито присутня тільки внутрішня дія - «Виписати рахунок». У цей стан замовлення переходить зі стану Відкрито тільки при виконанні сторожової умови "заповнені всі позиції замовлення". Вихід з цього стану і перехід в кінцевий стан відбудеться при настанні події "рахунок виписаний".

У стан Скасовано замовлення переходить зі стану Відкрито при настанні події "замовлення скасовано". При виході з нього виконується дія виходу "Зберегти дату скасування". При переході з цього стану в кінцевий виконується дія "* OderItem.Delete ( )" (видалення пункту замовлення). Тут також стоїть "*", оскільки ця дія буде виконуватися багато разів.

PAGE  1


 

А также другие работы, которые могут Вас заинтересовать

50787. Создание динамических страниц 25.5 KB
  Цель:Научиться создавать динамические страницы Задание1. Создать форму с 2-мя полями и кнопкой и настроить отправку данных на другой файл.
50788. Публикация Web-страниц 37.5 KB
  Научиться размещать сайт на хостинге. Освоить основные правила размещения web-страниц. Создать сайт содержащий определённые компоненты
50792. Повторение операторов цикла 31 KB
  Цель: Проверить уровень знаний по теме операторы цикла. 1. Напечатать столбиком: а) все целые числа от 20 до 35...
50793. Циклы с условием 32.5 KB
  Дано целое число N 0. Найти наименьшее целое положительное 2 число K квадрат которого превосходит N: K N. Дано целое число N 0. Найти наибольшее целое число K квадрат 2 которого не превосходит N: K N.