МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Чорноморський державний університет Ім. П. Могили
Факультет комп’ютерних наук
Кафедра комп’ютерних технологій
КУРСОВА РОБОТА
"Система управління віртуальними грошима для простої фіз. особи "
Дисципліна «ООП»
Спеціальність “Інтелектуальні системи прийняття рішень”
7.08405-КР.ПЗ.01-204.06
Cтудент Руденко О.Ю.
___________ ____________
(підпис) (дата)
Викладач Нездолій Ю. О.
___________ ___________
(підпис) (дата)
Миколаїв – 2010
Зміст
1. Завдання до курсової роботи 3
2. Архітектура програми 4
3. Опис системи 5
4. Структура бази даних 9
5. Діаграма класів 11
Завдання до курсової роботи
Назва: Система управління віртуальними грошима для простої фіз. Особи
Система повинна:
- реєструвати нового учасника системи й потім ідентифікувати його при наступних доступах у систему.
- виключати повторну реєстрацію одного й того ж клієнта.
- надавати можливість поповнювати будь-якому учаснику системи будь-який гаманець, а витрачати гроші тільки зі свої гаманців (поповнення або банківським переводом, або картой поповнення)
- надавати можливість передивлятися транзакціїї по своїм гаманцям.
- надавати можливість оплачувати послуги та товари.
- у випадку необхідності відображати операції по рахунку на мобільний телефон клієнта
- можливість обмежувати певним чином операції по гаманцю.
- шаблони платежів
У цій версії програми до реалізації були обрані наступні функціональні можливості:
- перегляд, створення та видалення гаманців у трьох валютах – українська гривня, долар США, російські рублі.
- забезпечення трьох рівнів (ролі) доступу до програми – Незареєстрований користувач, Клієнт та Адміністратор.
- можливість реєструвати нових учасників
- можливість поповнювати гаманець трьома способами – з іншого гаманця, за допомогою банківського переводу, за допомогою карти поповнення
- можливість перевести гроші на гаманець іншого користувача системи або на банківський рахунок
- можливість переглянути історію платежів
- можливість для адміністратора переглянути список усіх клієнтів системи, або тільки клієнтів онлайн.
- можливість змінювати ролі користувачів.
Архітектура програми
У своїй курсовій роботі я використав популярну архітектуру «клієнт-сервер».
Архітектура клієнт-сервер є одним із архітектурних шаблонів програмного забезпечення та є домінуючою концепцією у створенні розподілених мережних застосувань і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:
набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;
набір клієнтів, які використовують сервіси, що надаються серверами;
мережа, яка забезпечує взаємодію між клієнтами та серверами.
Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів.
Обов'язки та взаємодія клієнту та сервера.
Модель клієнт-серверної взаємодії визначається перш за все розподілом обов'язків між клієнтом та сервером. Логічно можна виокремити три рівні операцій:
рівень представлення даних, який по суті являє собою інтерфейс користувача і відповідає за представлення даних користувачеві і введення від нього керуючих команд;
прикладний рівень, який реалізує основну логіку застосування і на якому здійснюється необхідна обробка інформації;
рівень управління даними, який забезпечує зберігання даних та доступ до них.
Дворівнева клієнт-серверна архітектура передбачає взаємодію двох програмних модулів – клієнтського та серверного. В залежності від того, як між ними розподіляються наведені вище функції, розрізняють:
модель тонкого клієнта, в рамках якої вся логіка застосування та управління даними зосереджена на сервері. Клієнтська програма забезпечує тільки функції рівня представлення;
модель товстого клієнта, в якій сервер тільки керує даними, а обробка інформації та інтерфейс користувача зосереджені на стороні клієнта. Тонкими клієнтами часто також називають пристрої з обмеженою потужністю: кишенькові комп’ютери, мобільні телефони та ін.
У своїй курсовій я використав модель товстого клієнта, адже більша частина логіки зосереджена на клієнті, а сервером виступає сервер бази даних. Відповідна схема зображена на мал.2.1
Мал. 2.1 Двохрінева клієнт-серверна архітектура