Файл: «Структура предоставляющих потребительские услуги сущностей. Вариант №3 Банкомат».pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.06.2023

Просмотров: 228

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Настоящая курсовая работа по предмету “Объектно-ориентированный анализ и программирование” представляет собой исследование на тему “Структура предоставляющих потребительские услуги сущностей”, в частности такой сущности, как банкомат. Целью данной работы, является демонстрация объектно-ориентированного подхода к проектированию программного обеспечения. В течении работы нами будет проанализирована выбранная сущность, выявлены ее составляющие, представляющие наибольшую важность, установлен характер связей между составляющими. Результатом исследования будет являться диаграмма классов, отражающая установленные взаимосвязи.

В работе использованы источники информации, заслуживающие самого высокого уровня доверия. Среди авторов Гради Буч – один из авторов языка UML. Использованы знания полученные в порядке изучения дисциплины «Объектно-ориентированный анализ и программирование». Также использована информация из федерального закона.

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

1. ОПИСАНИЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

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

  • Что собой представляет понятие класса, объекта, сущности в объектно-ориентированном программировании.
  • Каковы основные принципы объектно-ориентированного подхода к программированию
  • Что собой представляет объектно-ориентированный подход к анализу сущностей.

2. Понятия класс, объект, сущность

Согласно определению, данному одним из создателей языка UML, Гради Бучем, имеем следующую связь между понятиями объект, сущность и класс: “объект обозначает конкретную сущность, определенную во времени и в пространстве, класс определяет лишь абстракцию существенного в объекте”.[[1]]


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

3. Принципы объектно-ориентированного программирования

Основными принципами объектно-ориентированного программирования являются наследование, инкапсуляция и полиморфизм.

Наследование является одним из основных свойств класса, как абстрактного описания какой-либо сущности. Данный принцип позволяет значительно экономить количество времени на кодирование при программировании за счет того, что общие атрибуты классов - потомков описываются один раз в классе - родителе, за исключением тех случаев, когда необходимо переопределить некоторые методы класса наследника. Без механизма наследования работа с классами была бы крайне затруднена ввиду необходимости каждый раз описывать все элементы пусть даже немного отличающихся классов. Механизм наследования является основой для построения иерархии классов. Иерархия классов позволяет придать программе структурированный вид.

Инкапсуляция представляет собой механизм ограничения доступа к компонентам программной системы. Это необходимо для того, чтобы данные, которые составляют объект, постоянно находились в некотором согласованном состоянии, и это состояние не могло быть нарушено. То есть, если, например, отношение некоторых атрибутов объекта должно соответствовать отношению X к 2X, при свободном доступе к обоим элементам оно может быть нарушено. В этой ситуации имеет смысл разрешать изменение только одного элемента X, а второй одновременно рассчитывать по формуле и заносить полученные данные в значение второго элемента с помощью того же метода.

Также одним из важнейших принципов является полиморфизм. Полиморфизм представляет собой способность классов-потомков иметь реализации отличные от класса-родителя. Это достигается путем создание абстрактного класса, у которого не может быть экземпляров, и переопределения его методов в потомках.


4. Объектно-ориентированный подход к анализу структуры сущности

Учитывая понятия класса, объекта и сущности. А также, исходя из принципов наследования, инкапсуляции и полиморфизма. Мы делаем вывод, что для анализа сущности, как объекта класса, имеющего достаточный уровень абстракции, и последующего перехода от сущности, к описанию класса, к которому эта сущность принадлежит, надо определить основные ее параметры и функции. Эти параметры, при переходе от сущности к классу, будут являться методами и атрибутами класса, которому принадлежит объект.

5. АНАЛИЗ СУЩНОСТИ «БАНКОМАТ»

Таким образом, мы переходим к разбору такой сущности, как “банкомат”. Выясним, каков его набор параметров и функций и из каких блоков он должен состоять. В процессе будем пользоваться определением банкомата в законах и личным опытом автора данного исследования.

6. Определение и основные функции

Согласно 54-ФЗ От 22.05.2003 г. в редакции от 7 мая 2013 года N 89-ФЗ:

“банкомат – устройство для осуществления в автоматическом режиме (без участия уполномоченного лица кредитной организации или банковского платежного агента, банковского платежного субагента, осуществляющих деятельность в соответствии с законодательством о национальной платежной системе) выдачи и (или) приема средств наличного платежа (банкнот) с использованием платежных карт, наличных денежных расчетов и (или) расчетов с использованием платежных карт, передачи распоряжений кредитной организации об осуществлении расчетов по поручению клиентов по их банковским счетам и для составления документов, подтверждающих передачу соответствующих распоряжений”[[2]]

Из определения следует, что основными функциями банкомата являются:

  • Выдача и прием наличных денежных средств с использованием платежных карт
  • Проведение расчетов наличными и безналичными средствами
  • Передача распоряжений в банк об операциях со счетом клиента
  • Выдача документов, подтверждающих передачу распоряжений

Выявление взаимодействующих сущностей

Сценарий использования


Для более полного выявления взаимодействующих сущностей опишем сценарий использования банкомата для выдачи денег.

Имя сценария: Использование банкомата

Цель: получить деньги из банкомата

Действующее лицо: Клиент

Условия: банкомат исправен, приглашает вставить платежную карту

Активатор: Клиент вставляет платежную карту

Порядок событий:

  1. Платежная карта вставлена
  2. Банкомат предлагает ввести PIN код платежной карты
  3. Клиент вводит PIN
  4. Банкомат демонстрирует окно выбора доступных функций
  5. Клиент выбирает функцию снятие наличных
  6. Банкомат предлагает выбрать сумму, исходя из остатка денег в хранилище банкомата.
  7. Клиент выбирает сумму к выдаче
  8. Банкомат проверяет остаток средств на счете клиента в банке
  9. Банк уменьшает остаток на счете клиента на сумму к выдаче
  10. Банкомат выдает деньги и чек
  11. Клиент забирает деньги и чек
  12. Банкомат предлагает забрать платежную карту
  13. Клиент забирает карту
  14. Банкомат переходит в режим приглашения вставить карту

Альтернативные пути:

  1. Платежная карта недействительна

1.1. Банкомат отображает информацию о том, что карта недействительна

1.2. Банкомат возвращает карту

1.3. Клиент забирает карту

2. PIN код введен неверно

2.1. Банкомат просит ввести PIN повторно

2.2. Клиент вводит PIN корректно

8. Средств на счете недостаточно для снятия

8.1. Банкомат сообщает Клиенту о недостаточности средств

8.2. Банкомат предлагает выбрать другую сумму

8.3. Клиент вводит другую сумму

7. Определение сущностей

Далее определим основные сущности, участвующие в осуществлении данной деятельности.

Клиент- конкретный человек, у которого есть банковская платежная карта, он осуществляет непосредственное взаимодействие с банкоматом через устройство ввода.

Платежная карта - пластиковая карта, выпущенная одним из банков, содержит в себе информацию о владельце, банке выпустившем карту, номере карты, используется банкоматом для идентификации владельца карты.

Банкомат – аппарат, с которым взаимодействует клиент. Имеет следующие свойства: адрес, банк собственник, серийный номер, ID в системе банка собственника.

Хранилище денежных средств - внутреннее защищенное устройство в банкомате, в котором хранятся денежные средства.


Деньги - купюры разного достоинства, которые попадают или извлекаются из хранилища.

Устройство вывода информации (экран, принтер) - составная часть банкомата, обеспечивающая выведение информации на экран или на бумагу.

Устройство ввода информации - обычно вандалоустойчивая клавиатура для ввода PIN кода и дополнительных реквизитов транзакций, также возможно наличие тачскрина или отдельных кнопок для выбора функций банкомата.

Транзакция - необходимая информация, передаваемый банкоматом в банк, для проведения запрашиваемой операции.

Банк - кредитное учреждение, которое является собственником банкомата и(или) эмитентом платежной карты (могут быть разные банки).

Счет - счет в банке-эмитенте платежной карты, с которым имеет право работать клиент.

Таким образом, мы имеем набор из 8 сущностей и 3 интерфейсов

Определение характера связей между сущностями

Приступим к выявлению характера связей между сущностями.

Типы связей

Связи между сущностями могут быть следующими[3]:

Зависимость - когда состояние одного объекта зависит от изменения другого.

Ассоциация - когда между объектами существует какое-либо отношение. Например, Клиент-Банк.

Агрегация - когда один класс является составной частью другого. Например, хранилище денег является частью банкомата.

Композиция - когда класс не может существовать вне другого класса. Например, банковский счет не имеет никакого смысла вне банка.

Обобщение - отображает иерархические отношения между классами. В нашем случае такое отношение было бы между классом “сейф” и “хранилище денег”. Сейф является более общим понятием и не имеет устройства автоматизированной выдачи и закладки денег, но также обеспечивает их сохранность.

Теперь, основываясь на определении типов отношений, определим отношения между сущностями, составляющими банкомат и сущностями, участвующими в его функционировании.

8. Характер связей между сущностями

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