Отчет по лабораторному практикуму по курсу “ Проектирование программ в интеллектуальных системах ”

Автор работы: Пользователь скрыл имя, 31 Января 2014 в 16:25, курсовая работа

Описание работы

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

Файлы: 1 файл

1164219_9154E_laboratornaya_rabota_razrabotka_obektnoi_modeli_bankomata.pdf

— 995.55 Кб (Скачать файл)
Page 1
Министерство образования Республики Беларусь
Учреждение образования
Белорусский государственный университет информатики и
Радиоэлектроники
Факультет информационных технологий и управления
Кафедра интеллектуальных информационных технологий
Отчет
по лабораторному практикуму
по курсу
“ Проектирование программ в интеллектуальных системах ”
Выполнила:
студентка гр.721702
Горбунова М. П.
Проверил:
Сердюков Р. Е.
Минск
2009

Page 2

Описание объектной модели банкомата
Банкомат - программно-технический комплекс, предназначенный для
автоматизированных выдачи наличных денежных средств, как с
использованием платёжных карт, так и без, а также выполнения других
операций, в том числе оплаты товаров и услуг, составления документов,
подтверждающих соответствующие операции.
Возможны три варианта взаимодействия с банкоматом: в качестве
пользователя банкомата, которому необходимо совершить какие-либо
денежные операции, в качестве персонала по технической поддержке и в
качестве программной системы.
Рассмотрим банкомат со стороны владельца карточки.
Владелец карточки подходит к банкомату, достает пластиковую карточку(
карточка имеет тип), вставляет ее в банкомат, выбирает язык, на котором
он будет общаться с банкоматом. После этого владелец карточки вводит
пин-код, который содержит пластиковая карточка. Из списка операций
возможных на данном банкомате владелец карточки выбирает необходимую
для него операцию. Выполняет ее. Владелец карточки может выполнять
несколько операций, которые ему необходимы из списка имеющихся.
Банкомат может выполнять операции снятия наличных денег с карточки
владельца карточки банкоматом, отображения остатка на лицевом счете,
перевод денег, платежи. Возможны следующие платежи на банкомате:
оплата услуг связи, оплата Интернет услуг, оплата коммунальных услуг.
Если владелец карточки:
снимает наличные деньги с пластиковой карточки. Он выбирает
валюту(USD,EURO,RUB и т. д.), которой будут выданы деньги. Если
такая валюта в банкомате имеется в наличии, то он вводит сумму
снимаемых денег. Если такая сумма возможно для снятия в данном
банкомате - подтверждает правильность введенных данных.
Подтверждает или отвергает печать чека.

Page 3

Узнает состояние лицевого счета карточки. Подтверждает или
отвергает печать чека с данными о состоянии лицевого счета.
производит перевод денег. Он выбирает кому перевести деньги
(номер лицевого счета). Вводит сумму перевода. Если такая сумма
возможна для перевода - подтверждает правильность введенных
данных. Подтверждает или отвергает печать чека.
производит оплату платежей, то сначала он выбирает необходимый
ему вид платежа( оплата услуг связи, оплата Интернет услуг, оплата
коммунальных услуг). Если пользователь выбрал вид платежа:
o оплата коммунальных услуг. Пользователь вводит название
получателя платежа. Вводит сумму платежа. Вводит период
платежа. Подтверждает или отвергает печать чека.
o Оплата услуг связи. Пользователь выбирает вид связи:
Мобильная связь. Выбирает оператора мобильной связи.
Вводит номер мобильного телефона, на который будут
зачислены
деньги.
Вводит
сумму
зачисления.
Подтверждает
правильность
введенных
данных.
Подтверждает или отвергает печать чека.
Стационарная связь. Выбирает оператора стационарной
связи. Вводит номер городского телефона, на который
будут зачислены деньги. Вводит сумму зачисления.
Подтверждает
правильность
введенных
данных.
Подтверждает или отвергает печать чека.
Интернет-услуг. Владелец карточки выбирает провайдера
Интернет-услуг. Вводит логин. Вводит сумму, которая
будет зачислена на лицевой счет. Подтверждает
правильность введенных данных. Подтверждает или
отвергает печать чека.

Page 4

Владельцу карточки банкомат предлагает совершить еще одну операцию.
Владелец карточки отказывается – банкомат возвращает пластиковую
карточку. Владелец карточки забирает пластиковую карточку. Уходит.
При необходимости владелец карточки может отменить любую операцию
на любой стадии ее выполнения и выбрать другую операцию, либо начать
операцию заново, либо достать пластиковую карточку из банкомата.
Рассмотрим банкомат со стороны персонала по технической поддержке
банкомата.
Специалист подходит к банкомату, выключает его, открывает заднюю
дверцу банкомата.
• Для заправки банкомата денежными купюрами специалист по
технической поддержке (СпТП) достает денежные купюры из
специального мешка для хранения и перевозки денег и раскладывает
денежные купюры с разными номиналами по соответствующим
каждому номиналу емкости в банкомате.
• Для заправки банкомата бумагой для печати чеков специалист по
технической поддержке достает катушки с бумагой и вставляет их в
соответствующее катушке отверстие в банкомате. Закрывает все
отверстия и емкости с деньгами внутри банкомата. Закрывает заднюю
дверцу
банкомата.
Включает
банкомат.
Проверяет
его
работоспособность и уходит.
Рассмотрим банкомат со стороны программной системы(ПС).
ПС принимает от банкомата PIN-код карточки клиента. Отправляет эти
данные в банк. ПС принимает подтверждение из банка на аутентификацию и
авторизацию владельца карточки. ПС принимает от банкомата вид
операции, которую выбрал владелец карточки. Оправляет информацию о
выборе операции владельцем карточки в банк.
Если владелец карточки выбрал операцию:

Page 5

Просмотр лицевого счета. ПС посылает запрос в банк, о состоянии
лицевого счета. Принимает из банка информацию о состоянии
лицевого счета владельца карточки.
Снятие наличных денег. ПС принимает от банкомата сумму и валюту,
которую желает снять владелец карточки. ПС посылает в банк сумму
и валюту, которую желает снять владелец карточки. Принимает
подтверждение, что такая сумма доступна на лицевом счете.
Посылает запрос о выполнении транзакции. Выдает сумму
наличными из банкомата.
Перевод денег. ПС принимает от банкомата, куда будет перевод
денег и сумму перевода. ПС посылает запрос с информацией, куда
будет перевод денег и сумму перевода. Принимает подтверждение,
что такая сумма доступна на лицевом счете. Посылает запрос о
выполнении транзакции.
Оплата платежей.
o Коммунальных услуг. ПС принимает от банкомата, кому будет
сделан перевод, информацию о периоде оплаты, информацию о
сумме оплаты. ПС посылает информацию в банк о том, кому
будет сделан перевод, информацию о периоде оплаты,
информацию о сумме оплаты. Получает подтверждение, что
такая сумма доступна на лицевом счете. Посылает запрос о
выполнении транзакции.
o Мобильная связь. ПС принимает от банкомата, информацию об
операторе мобильной связи, на лицевой счет которого будут
переведены деньги; номер абонента, на баланс которого будут
зачислены деньги; сумму оплаты. ПС посылает информацию в
банк об операторе мобильной связи, на лицевой счет которого
будут переведены деньги; номер абонента, на баланс которого
будут
зачислены
деньги; сумму
оплаты. Принимает
подтверждение о том, что такая сумма доступна на лицевом

Page 6

счете владельца карточки. Посылает запрос о выполнении
транзакции.
o Стационарная связь. ПС принимает от банкомата, информацию
об операторе стационарной связи, на лицевой счет которого
будут переведены деньги; номер абонента, на баланс которого
будут зачислены деньги;
сумму оплаты. ПС посылает
информацию в банк об операторе стационарной связи, на
лицевой счет которого будут переведены деньги; номер
абонента, на баланс которого будут зачислены деньги; сумму
оплаты. Принимает подтверждение о том, что такая сумма
доступна на лицевом счете владельца карточки. Посылает
запрос о выполнении транзакции.
o Интернет-услуги. ПС принимает от банкомата информацию о
провайдере Интернет-услуг, на лицевой счет которого будут
переведены деньги; логин пользователя Интернет-услугами, на
баланс которого будут зачислены деньги; сумму оплаты. ПС
посылает информацию в банк о провайдере Интернет-услуг, на
лицевой счет которого будут переведены деньги; логин
пользователя Интернет-услугами, на баланс которого будут
зачислены деньги; сумму оплаты. Принимает подтверждение о
том, что такая сумма доступна на лицевом счете владельца
карточки. Посылает запрос о выполнении транзакции.
ПС посылает команду банкомату напечатать чек.
Рассмотрим сценарий для данной модели со стороны владельца
карточки, которому необходимо совершить денежные операции.
Владелец карточки подходит к банкомату, достает карточку Maestro,
вставляет ее в банкомат. Выбирает язык общения с банкоматом русский. Из
списка операций выбирает платежи. Владелец карточки желает оплатить
услуги связи. Выбирает оплату услуг мобильной связи. Выбирает
оператора мобильной связи МТС. Вводит номер телефона, на который буду

Page 7

зачислены деньги с лицевого счета пользователя, 5687418. Вводит сумму,
которая будет зачислена на данный номер телефона, 20 000р.
Подтверждает, что введенная им информация верна и можно произвести
оплату. Подтверждает печать чека. На запрос банкомата о том, желает ли
владелец карточки произвести еще какую-либо операцию с деньгами,
отвечает отрицательно. Забирает пластиковую карточку из банкомата.
Уходит.
Теперь рассмотрим сценарий для данной модели со стороны специалиста
по технической поддержи банкомата.
Специалист по технической поддержке банкомата подходит к банкомату. Он
выключает банкомат. Открывает заднюю дверцу банкомата. Достает
катушки с бумагой. Он вставляет катушки с бумагой в отверстие для бумаги
внутри банкомата. Закрывает отверстие для бумаги. Закрывает заднюю
дверцу банкомата. Включает банкомат. Проверяет его работоспособность.
Уходит.
Рассмотрим сценарий для данной модели со стороны программной
системы (ПС) банкомата, которая обеспечивает его работоспособность.
ПС принимает от банкомата PIN-код владельца карточки-1111. Посылает
запрос с PIN-кодом в банк. Принимает запрос о том, что владелец карточки
удачно прошел процедуру аутентификации и авторизации в системах
безопасности банка. ПС посылает запрос с информацией в банк о том, что
владелец карточки желает оплатить услуги мобильной связи, имя оператора
абонента - МТС, на лицевой счет которого будет переведена сумма денег,
номер абонента - 5687418, на баланс которого будут зачислены деньги,
сумму денег. ПС принимает запрос о том, что данная сумма доступна на
лицевом счете владельца карточки. ПС посылает запрос в банк об успешном
выполнении транзакции. Посылает команду напечатать чек.
Сущности: банкомат, транзакция, пластиковая карточка, счет, наличные,
просмотреть счет, проверка данных, чек, платежи за связь, коммунальные
платежи, снять наличные, перевод денег.

Page 8

Диаграмма требований
Рисунок 1 - Диаграмма требований к продукту
Рисунок 2 - Диаграмма требований к продукту по функциональности

Page 9

Рисунок 3 - Диаграмма требований к продукту по надежности
Рисунок 4 - Диаграмма требований к продукту по практичности

Page 10

Рисунок 5 - Диаграмма требований к продукту по сопровождаемости
Рисунок 6 - Диаграмма требований к продукту по эффективности

Page 11

Рисунок 7 - Диаграмма требований к продукту по переносимости

Page 12

Диаграмма сущность-связь
Рисунок 8 – Диаграмма сущность-связь (Часть 1)

Page 13

Рисунок 9 - Диаграмма сущность-связь (Часть 2)

Page 14

Рисунок 10 - Диаграмма сущность-связь (Часть 3)

Page 15

Диаграмма вариантов использования 
Рисунок 11 – Диаграмма вариантов использования Банкомата

Page 16

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

Page 17

Рисунок 13 - Диаграмма последовательности снятия наличных

Page 18

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

Page 19

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

Page 20

Рисунок 16 – Диаграмма последовательности оплаты коммунальных услуг

Page 21

Рисунок 17 – Диаграмма последовательности оплаты услуг связи

Page 22

Рисунок 18 – Диаграмма последовательности оплаты услуг связи(2)

Page 23

Рисунок 19 – Диаграмма последовательности заправки банкомата

Page 24

Варианты развития системы
Для модели «Банкомат» предусмотрены следующие варианты развития:
1. Добавление возможности размены денег в банкомате.
2. Добавление возможности производить конверсию денег: руб-USD-руб
и руб-EUR-руб при отсутствии денег на карточке.
3. Добавление возможности просмотра последних 10 валютных операций,
которые были совершены по данной карточке.

Page 25

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

Page 26

Диаграмма классов развитие
Рисунок 21 - Диаграмма развития классов (1)
 
Рисунок 22 - Диаграмма развития классов (2)
 

Page 27

Рисунок 23 - Диаграмма развития классов (3)

Page 28

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

Page 29

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

Page 30

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

Page 31

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

Page 32

Метрики 
Расчет метрик Чидамбера-Камерера:
Класс
WMC
DIT
NOC
CBO
RFC
LCOM
Банкомат
6
1
0
1
7
1
Транзакция
3
1
6
3
20
0
Пластиковая
карточка
3
1
0
1
3
1
Проверка
данных
1
1
0
1
1
0
Наличные
1
1
0
1
1
1
Просмотреть
счет
3
1
0
2
5
1
Счет
2
1
0
0
2
1
Платежи за
связь
5
1
0
2
6
1
Коммунальные
платежи
5
1
0
2
6
1
Перевод денег
5
1
0
2
6
1
Чек
1
1
0
0
1
0
Снять
наличные
5
1
0
3
7
1
Расчет метрик Лоренца и Кидда:
Класс
CS
NOO NOA SI
OSAVG OC NPAVG
NSS NKC NSUB
Банкомат
6+2
0
0
0
9
17 0.3
Транзакция
3+4
0
0
0
3
9
0.3
Пластиковая
карточка
3+4
0
0
3
4
0.3
Проверка
данных
1
0
0
0
1
14 1
Наличные
1+2
0
0
0
1
4
0
Просмотреть
счет
3+1
1
2
1
3
26 0
Счет
2+2
0
0
0
1
5
0.5
Платежи за
связь
5+4
3
2
0.66 3
31 0.3
Коммунальн
ые платежи
5+3
3
2
0.5
3
26 0.3
Перевод
денег
5+3
3
2
0.5
3
29 0.3
Чек
1+5
0
0
0
1
10 0
Снять
наличные
5+3
3
2
0.5
4
26 0.3
9
0.75 2

Page 33

Выводы 
Разработанная программная модель «Банкомат» приближена к реально
существующей модели банкомата. В ней предусмотрены направления
развития, которые позволяет расширять функционал существующей модели.
Рассчитанные метрики позволяют сделать вывод, что разработанная модель
требует доработок:
• Для всех классов SI>0.15. Это говорит о том, что разработанные классы
нарушают абстракцию суперкласса «Транзакция».
• Следует увеличить количество подсистем разработанной системы.
В классе «Транзакция» очень большое значение RFC, что усложняются
тестирование и отладка класса, так как от разработчика тестов тре-
буется больший уровень понимания класса, растет длина тестовой
последовательности.
В
разработанной
модели
присутствуют
наследуемые
классы
и
переопределение методов в них, что при развитии модели позволит легко
расширять функционал разработанной модели.

Информация о работе Отчет по лабораторному практикуму по курсу “ Проектирование программ в интеллектуальных системах ”