Реферати українською » Информатика, программирование » Проектування програмного забезпечення банкомату


Реферат Проектування програмного забезпечення банкомату

Федеральне агентство за освітою

Державне освітнє установа вищого професійної освітиПермский державний технічний університет


Робота на задану тему:

«Проектування програмного забезпечення банкомату»

2010


 

Запровадження

Перед проектуванням системи управління банкоматом, значної ролі зіграло обмірковування всіх сценаріїв її використання. У сучасному життя, банкомати дедалі більше, і більше перетворюються на функціональному сенсі. Зараз доступні безліч сервісів: платіж за комунальних послуг, поповнення мобільного рахунки, переклад коштів у інший рахунок й багато іншого, але зупинився на2-х основних функціях банкомату – зняття готівки і запит балансу. Також неможлива робота системи без аутентифікації клієнта,т.к. таких собі користувачів велике безліч. Ось і вийшло, що систему ділиться втричі основних блоку.


>Спецификация варіанта використання «>Аутентификация»

 

Основна дійова особа: Клієнт.

Короткий опис: Перед виконанням будь-якого дії клієнт може бутиаутентифицирован.

Основний сценарій:

>Предусловия: Запущено сценарій «Зняти гроші» чи сценарій «Показати баланс».

1. Система затребувана пароль.

2. Клієнт вводить пароль.

3. Якщо пароль вірний, це відбувається повернення у запущений раніше сценарій.

4. Якщо пароль хибна, то

>4.1Если кількість уведень неправильного пароля менше 4, то

>4.1.1Видать попередження про неправильному пароль.

>4.1.2Вернуться до початку сценарію.

>4.2Иначе:

>4.2.1Видать повідомлення про блокування карти.

>4.2.2Заблокировать карту.

>Постусловия: Ні.

>Спецификация варіанта використання «Зняти гроші»

 

Основна дійова особа: Клієнт.

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

Основний сценарій:

>Предусловия: Клієнт вставив картку в банкомат і вибрав дію «Зняти гроші».

1. Перехід до підлеглому сценарієм «>Аутентификация».

2. Якщоаутентификация пройшла успішно, то

>2.1Система затребувана необхідну суму.

>2.2Клиент вводить суму.

>2.3Если ця сума наявність на рахунку, то

>2.3.1Сумма списується із рахунку.

>2.3.1Видаются гроші.

>2.4Иначе, видається повідомлення про неможливість операції.

>Постусловия: Клієнт переходить у виборі дії.

>Спецификация варіанта використання «Показати баланс»

 

Основна дійова особа: Клієнт.

Короткий опис: Клієнт затребувана баланс свого рахунки.

Основний сценарій:

>Предусловия: Клієнт вставив картку в банкомат і вибрав дію «Показати баланс».

1. Перехід до підлеглому сценарієм «>Аутентификация».

2. Якщоаутентификация пройшла успішно, то система показує баланс рахунки клієнта.

>Постусловия: Клієнт переходить у виборі дії.

 

Текст програми

 

>TAccount =class //клас Рахунок

private

>Code:integer; //код рахунки

>Sum: real; //кількість грошей на рахунку

public

>functionWithdrawMoney(Summ: real): real; //зняти гроші

>functionGetBalance(): real; //отримати баланс рахунки

end;

>TKlient =class //клас Клієнт

private

>Code:integer; //код клієнта

>Password:integer; //пароль клієнта

>Acct:TAccount; //рахунок клієнта

public

>functionGetCode():integer; //отримати код клієнта

>functionGetPassword(): real; //отримати пароль клієнта

>functionGetAccount():TAccount; //отримати рахунок клієнта

>procedureGet(Code:integer); //одержувати інформацію клієнта з платіжної системи

end;

>TManager =class //клас управляючий

private

>functionAuthenticate(outTrueKlient:TKlient):boolean; //перевірити справжність

public

>functionGetCode():integer; //отримати код карти

>functionGetPassword():integer; //отримати пароль клієнта

>functionGetSum(): real; //отримати запитувану суму

>procedureWithdrawMoney(); //зняти гроші

>procedureGetBalance(); //отримати баланс рахунки

end;

//зняти гроші

>functionTAccount.WithdrawMoney(Summ: real): real;

>begin

//якщо грошей на рахунку незгірш від, ніж вимагає клієнт

>ifSelf.Sum >=Summthen

//то зменшити суму рахунки

>Self.Sum :=Self.Sum -Summ;

//повернути залишок

>Result :=Self.Sum;

end;

//отримати баланс рахунки

>functionTAccount.GetBalance(): real;

>begin

//повернути суму рахунки

>Result :=Self.Sum;

end;

//отримати код клієнта

>functionTKlient.GetCode():integer;

>begin

//повернути код клієнта

>Result :=Self.Code;

end;

//отримати пароль клієнта

>functionTKlient.GetPassword(): real;

>begin

//повернути пароль клієнта

>Result :=Self.Password;

end;

//отримати рахунок клієнта

>functionTKlient.GetAccount():TAccount;

>begin

//повернути рахунок клієнта

>Result :=Self.Acct;

end;

//одержувати інформацію клієнта

>procedureTKlient.Get(Code:integer);

>begin

//Тут має виконуватися запит до платіжної системі

//приблизно таке дані мають повертатися:

>Self.Code := 12345; //код карти клієнта

>Self.Password := 54321; //пароль

>Self.Acct.Code := 12345; //код рахунки

>Self.Acct.Sum := 111.50; //сума грошей на рахунку

end;

//отримати код карти

>functionTManager.GetCode():integer;

>begin

//Тут інформація повинна зчитуватися із банківською карти

>Result := 12345;

end;

//отримати пароль клієнта

>functionTManager.GetPassword():integer;

>begin

//Тут інформація повинна зчитуватися з термінала

>Result := 12345;

end;

//отримати запитувану суму

>functionTManager.GetSum(): real;

>begin

//Тут інформація повинна зчитуватися з термінала

>Result := 100;

end;

//перевірити справжність

>functionTManager.Authenticate(outTrueKlient:TKlient):boolean;

>var

>KlientCode:integer;

>KlientPass:integer;

>begin

>Result :=false;

>KlientCode :=Manager.GetCode();//получаем код карти клієнта

>KlientPass :=Manager.GetPassword();//получаем пароль, запроваджений клієнтом

>TrueKlient.Get(KlientCode);//получаем дані клієнта з платіжної системи

>ifTrueKlient.Password =KlientPassthen//если паролі збігаються

>Result :=true;

end;

//зняти гроші

>ProcedureTManager.WithdrawMoney();

>var

>TrueKlient:TKlient; //клієнт

>Summ : real; //>запрашиваемая клієнтом сума

>Rest1,Rest2 : real; //залишок на рахунку доі після операції

>St :string; //текст повідомлення

>begin

>TrueKlient :=TKlient.Create; //конструктор класу клієнт

>ifManager.Authenticate(TrueKlient)then //якщо клієнтаутентифицирован

>begin

>Summ :=Manager.GetSum(); //отримуємо суму, запитувану клієнтом

>ifSumm <> 0then //якщо введена не0-вая сума

>begin

>Rest1 :=TrueKlient.Acct.GetBalance; //одержимо залишок до зняття грошей

>Rest2 :=TrueKlient.Acct.WithdrawMoney(Summ); //одержимо залишок після зняття грошей

>ifRest2 <>Rest1then exit //якщо гроші зняті - виходимо з процедури

>elseSt := 'Операція може бути виконано';

end

>elseSt := 'Запровадьте суму';

>Form1.PutMessage(St); //видати повідомлення

end;

end;

//отримати баланс рахунки

>ProcedureTManager.GetBalance();

>var

>TrueKlient:TKlient; //клієнт

>Summ : real; //>запрашиваемая клієнтом сума

>St :string; //текст повідомлення

>begin

>TrueKlient :=TKlient.Create; //конструктор класу клієнт

>ifManager.Authenticate(TrueKlient)then //якщо клієнтаутентифицирован

>begin

>Summ :=TrueKlient.Acct.GetBalance; //одержимо залишок на рахунку

>St := 'Залишок коштів у вашому рахунку: ' +FloatToStr(Summ); //переведемо число в рядок

>Form1.PutMessage(St); //виведемо на екран

end;

end;


Схожі реферати:

Навігація