Курсовая работа: Банкомат

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

· Операция - выбранная клиентом операция.

Банкомат:

Поля класса Банкомат:

· Количество денег в хранилище;

· Карта вставлена - логическая переменная.

Методы класса Банкомат:

· Проверить PIN код - сверяет PIN код клиента с PIN кодом счета, в случае несовпадения предлагает клиенту ввести PIN код повторно;

· Поместить карту в хранилище - метод срабатывает при трехкратном неправильном вводе PIN кода;

· Выдать деньги - аргументом принимает сумму, введенную клиентом, выдает нужную сумму в случае достаточного количества денег в хранилище;

· Напечатать справку - принимает три аргумента: запрос на печать справки, операцию, выбранную клиентом и баланс;

· Выдать карту - завершает сеанс обслуживания.

Счет:

Объекты класса Счет создаются для каждой новой карты, вставленной в банкомат

Поля класса Счет:

· Номер счета,

· Баланс,

· PIN код счета.

Методы класса Счет:

· Уменьшить баланс - уменьшает остаток по счету на сумму, введенную клиентом; аргументом принимает сумму

Дисплей:

Методы класса Дисплей:

· Запросить сумму - принимает аргументом сумму, запрошенную клиентом;

· Отобразить остаток по счету - принимает аргументом баланс счета.

Описание отношений классов:

Класс Дисплей связан с классом Банкомат отношением аггрегации: дисплей является частью банкомата. Класс Банкомат связан с классом Клиент отношением ассоциации, причем у одного банкомата может быть много клиентов. Класс Банкомат связан с классом Счет отношением ассоциации, причем один банкомат может работать со многими счетами.

Рисунок 3 Диаграмма классов

2.3 Разработка диаграммы состояний

Каждый объект системы, обладающий определенным поведением, может находится в определенных состояниях, переходить из состояния в состояние, совершая определенные действия в процессе реализации сценария поведения объекта. Поведение большинства объектов реальных систем можно представить с точки зрения теории конечных автоматов, то есть поведение объекта отражается в его состояниях, и данный тип диаграмм позволяет отразить это графически. Для этого используется два вида диаграмм: Statechart diagram (дмаграмма состояний) и Activity diagram (диаграмма активности).

Диаграмма классов является основным логическим представлением

Начать построение диаграммы состояний для выбранного класса можно одним из следующих способов:

· Раскрыть логическое представление в браузере (Logical View), выделить рассматриваемый класс и выбрать пункт контекстного меню Open State Diagram (Открыть диаграмму состояний), раскрывающегося по щелчку правой кнопкой мыши.

· Через пункт меню Browse->State Diagram (Браузер->Диаграмма состояний).

Этот тип диаграмм позволяет проектировать алгоритмы поведения объектов любой сложности, в том числе может использоваться для составления блок-схем. Диаграмма состояний приведена на рисунке 4.

Рисунок 4 Пример графического изображения диаграммы активности

2.4 Разработка диаграммы последовательности

Диаграмма классов является основным логическим представлением

Этот тип диаграмм позволяет проектировать алгоритмы поведения объектов любой сложности, в том числе может использоваться для составления блок-схем. Диаграмма состояний приведена на рисунке 5.

Диаграмма последовательности может быть активизирована одним из следующих способов:

Щелкнуть на кнопке с изображением диаграммы последовательности на стандартной панели инструментов.

Через пункт меню Browse->Interaction Diagram (Браузер->Диаграмма взаимодействия).

Рисунок 5 Диаграмма последовательности

В виде диаграмм последовательности были представлены следующие варианты использования:

· Снять наличные,

· Узнать остаток по счету.

Эта диаграмма последовательности показывает поток событий в рамках варианта использования «Узнать остаток по счету».

Рисунок 6 Диаграмма последовательности «Узнать остаток по счету»

Объекты:

· Клиент,

· Приемник банковских карт,

· Дисплей,

· Программа управления банкоматом,

· Счет клиента,

· Принтер для печати справок.

Сообщения:

1. Поместить карту,

2. Распознать карту,

3. Отобразить экран,

4. Запросить PIN код,

5. Ввести PIN код,

6. Проверить PIN код,

7. Открыть счет,

8. Запросить операцию,

9. Выбор операции (узнать остаток по счету),

10. Запросить остаток по счету,

11. Отобразить остаток,

12. Запросить подтверждение печати справки,

13. Подтвердить печать справки,

14. Напечатать справку,

15. ВЕРНУТЬ КАРТУ

Эта диаграмма последовательности показывает поток событий в рамках варианта использования «Снять деньги»

Рисунок 7 Диаграмма последовательности «Снять наличные» клиент информационный банкомат

Объекты:

· Клиент,

· Приемник банковских карт,

· Дисплей,

· Программа управления банкоматом,

· Счет клиента,

· Лоток для выдачи денег,

· Принтер для печати справок.

Сообщения:

1. Поместить карту,

2. Распознать карту,

3. Отобразить экран,

4. Запросить PIN код,

5. Ввести PIN код,

6. Проверить PIN код,

7. Открыть счет,

8. Запросить операцию,

9. Выбор операции (узнать остаток по счету),

10. Запросить сумму,

11. Ввод суммы,

12. Снять запрошенную сумму,

13. Проверить вклад,

14. Уменьшить вклад,

15. Запросить подтверждение печати справки,

16. Подтвердить печать справки,

17. Выдать деньги,

18. Напечатать справку,

19. Вернуть карту.

2.5 Разработка кооперативной диаграммы

Для создания кооперативной диаграммы достаточно открыть диаграмму последовательности и нажать клавишу F5.

Далее необходимо определить обязанности (responsibilities), атрибуты и ассоциации классов Обязанность (responsibility) - действия, которые объект обязан выполнять по запросу других объектов. Обязанность преобразуется в одну или более операций класса на шаге проектирования. Обязанности определяются, исходя из сообщений на диаграммах взаимодействия, и документируются в классах в виде операций «анализа», которые появляются там автоматически в процессе построения диаграмм взаимодействия (соотнесения сообщений с операциями). Так, диаграмма классов VOPC (classes only) после построения диаграмм взаимодействия должна принять вид

Атрибуты классов анализа определяются исходя из знаний о предметной области, требований к системе и глоссария.

Перед добавлением атрибутов к классам необходимо выполнить предварительные настройки:

1) в меню модели выберите пункт меню Tools -> Options;

2) перейдите на вкладку Diagram;

3) убедитесь, что переключатель Show All Attributes помечен;

4) убедитесь, что переключатели Suppress Attributes и Suppress Operations не помечены.

Рисунок 8 Пример графического изображения диаграммы развертывания

2.6 Разработка диаграммы развертывания

Этот вид диаграмм предназначен для анализа аппаратной части системы, то есть «железа», а не программ. В прямом переводе с английского Deployment означает «развертывание», но термин «топология» точнее отражает сущность этого типа диаграмм.

Для каждой модели создается только одна такая диаграмма, отображающая процессоры (Processor), устройства (Device) и их соединения. Обычно этот тип диаграмм используется в самом начале проектирования системы для анализа аппаратных средств, на которых она будет эксплуатироваться.

Диаграмма состояний приведена на рисунке 9.

Рисунок 9 Пример графического изображения диаграммы развертывания

2.7 Разработка диаграмм состояний, деятельности, компонентов и размещения

Диаграмма состояний для класса «Банкомат» представлена на рисунке 10.

Рисунок 10 Диаграмма состояний

Банкомат может принимать следующие состояния:

· Ожидание карточки;

· Ожидание ввода PIN кода - после того, как карта вставлена;

· Проверка PIN кода - после ввода PIN кода;

· Ожидание выбора операции - после проверки PIN кода;

· Обработка запроса на снятие наличных - когда выбрана операция «Снять наличные»;

· Выдача наличных;

· Отображение остатка по счету - когда выбрана операция «Отобразить остаток по счету»;

· Печать - если запрошена печать справки;

· Возврат карточки;

· Завершение транзакции.

Диаграмма деятельности представлена на рисунке 11.

Рисунок 11 Диаграмма деятельности

1. Клиент вставляет карточку;

2. Клиент вводит PIN код;

Если PIN код введен неверно 3 раза, то карта перемещается в хранилище карт и обслуживание клиента завершается

1. Клиент выбирает действие;

2. Если выбрана операция «Снять наличные», клиенту предлагается ввести сумму;

3. Если сумма не превышает остаток на карте, то происходит выдача наличных;

4. Печать справки, если было запрошено;

5. Клиент получает карту.

Диаграмма компонентов представлена на рисунке 12.

Рисунок 12 Диаграмма компонентов

Компоненты представляют собой терминал банкомата, который работает с базой данных центрального банковского компьютера.

Диаграмма размещения представлена на рисунке 13.

Рисунок 13 Диаграмма размещения

Диаграмма состоит из следующих компонентов:

1. Банкомат, он соединен защищенным каналом связи с региональным сервером;

2. Региональный сервер;

3. Сервер базы данных центрального банковского компьютера.

Заключение

starUML - программный инструмент моделирования, который поддерживает UML (Унифицированный язык моделирования). StarUML ориентирован на UML версии 1.4 и поддерживает одиннадцать различных типов диаграмм, принятых в нотации UML 2.0. Он активно поддерживает подход MDA (Модельно-управляемая архитектура), реализуя концепцию профилей UML. Среда разработки StarUML ™ превосходно настраивается в соответствии с требованиями пользователя и имеет высокую степень расширяемости, особенно в области своих функциональных возможностей. Использование StarUML, одного из ведущих программных инструментов моделирования, гарантирует достижение максимальной производительности и качества ваших программных проектов.

* Диаграмма классов (Сlass diagram). Диаграмма классов - визуальное отображение различных статических отношений между класс-подобными элементами. Диаграмма классов может содержать не только классы, но также и интерфейсы, перечислимые типы, пакеты, различные отношения, инстанции и их связи.

* Диаграмма прецедентов (Use case diagram). Диаграмма прецедентов - отображение отношений между вариантами использования (прецедентами) определенной системы или объекта и внешними акторами. Вариант использования отображает функции системы и то, как эти функции взаимодействуют с внешними акторами.

* Диаграмма последовательности (Sequence Diagram). Диаграмма последовательности отображает взаимодействие инстанций. Она является прямым отображением множества взаимных воздействий (InteractionInstanceSet) между элементами множества инстанций (CollaborationInstanceSet). В то время как Диаграмма сообщений роли ориентирована на классификаторы-роли, обычная Диаграмма сообщений - на инстанции.

* Диаграмма сообщений роли (Sequence Role Diagram). Диаграмма сообщений роли отображает взаимодействия в концепции ролей. Она является прямым отображением Interaction (множества взаимных сообщений между классификаторами-ролями) в пределах Collaboration. В то время как Диаграмма сообщений - отображение инстанций, Диаграмма сообщений роли - отображение классификаторов-ролей.

* Диаграмма коллаборации (Collaboration Diagram). Диаграмма коллаборации отображает взаимодействие между инстанциями. Она является прямым отображением модели взаимодействия инстанций, входящих в CollaborationInstanceSet. В то время как диаграмма коллаборации ролей - отображение классификаторов-ролей, обычная диаграмма коллаборации - отображение инстанций.

Литературный список

1. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2-е изд. / Пер. с англ.; Под общей редакцией проф. С. Орлова. СПб.: Питер, 2016. 736 с. ISBN 5-469-00599-2

2. Грейди Буч, Джеймс Рамбо, Айвар Джекобсон Язык UML. Руководство пользователя = The Unified Modeling Language user guide. 2. М., СПб.: «ДМК Пресс», «Питер», 2014. 432 с. ISBN 5-94074-260-2

3. Джозеф Шмуллер Освой самостоятельно UML 2 за 24 часа. Практическое руководство = Sams Teach Yourself UML in 24 Hours, Complete Starter Kit. М.: «Вильямс», 2015. 416 с. ISBN 0-672-32640-X

4. Крэг Ларман Применение UML 2.0 и шаблонов проектирования = Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3-е изд. М.: «Вильямс», 2016. 736 с. ISBN 0-13-148906-2

5. Сысоев В.У. Основы работы в Rational Rose 2000 Методические указания по лабораторному практикуму и курсовому проектированию. Москва: ВСЭИ, 2015. 68 с.