Cheque Deposit Monitoring

advertisement
VIDEO LECTURE FROM LONDON
NGN CONCEPTS/ computer programming/practical example how to write computer
program for cheque monitoring system/ computer networking
SAB NETWORKS ON CURRENT TOPICS
14/12/2011
vedio
Telecom Network in Summary
Local EX 03
Domestic Transport
International
Transport
IEX
Access
02
IEX
01
Land line
IEX
IEX
A house has 3 different Communication Types
Voice
Land Phone
Video
Data
IP/TV
Internet
Mobile
Free TV (Antenna)
Cable TV
Radio
Satellite TV
E-mail
Who are the service providers in Sri Lanka?
Cable TV
Free TV (Antenna)
IP/TV
Satellite TV
Mobile
Radio
Internet
E-mail
Land Phone
Who are the service providers in Sri Lanka?
Cable TV
Free TV (Antenna)
IP/TV
Total = 4
Satellite TV
Mobile
Total = 7
Radio
Internet
Total = 42
E-mail
Land Phone
Who are the service providers?
Cable TV
Free TV (Antenna)
IP/TV
Satellite TV
Mobile
Radio
Internet
E-mail
Land Phone
Who are the service providers?
Cable TV
Free TV (Antenna)
IP/TV
Satellite TV
Mobile
Radio
Internet
E-mail
Land Phone
Communication Types
Personal Communication
Interactive
You need Bi-Directional
Transmission
Land Phone
Delayed Interactive
Public Communication
Free TVInternetCable TV
You need only uni-Directional
Transmission
Mobile
E-mail
Satellite TV
Radio
IP/TV
Sub-core Elements
MSAN
BroadBand
Studio / Service provision
Core Element
Soft Switch / Switches
Domestic Transport Network
International
Transport
Network
International Gateway
A Converge Network
A house got 3 different Communication Types
Video
Voice
How it access home?
Land Phone
Voice
Mobile
Free TV (Antenna)
Wireless
Cable TV
Wire
Data
Internet
Satellite TV
E-mail
Wireless
Data
Wireless
Wire or Wireless
Wire
Video
IMPACT OF CONVERGENCE
STRUCTURE OF CONVERGED MEDIA &
COMMUNICATION NETWORK
Overall benefits of NGN network to Sri Lanka
Quicker we embark on NGN quicker Sri lanka become the hub of the South Asia
SOCIETY
•
•
•
•
•
ECONOMY
E-learning
E-health
E-business
E-government
E-homes
ENVIRONMENT
•
•
•
•
Creation of innovative business
(BPO)
Creation of Jobs
Savings on Health/Education
•
Savings on Transport
•
Reduction in power
consumption from NGN
Equipment
Reduction in
unnecessary travelling
Passive optical fibre network architecture
Apon has a point to multipoint FTTH passive architecture using optical splitters(generally
16 to 1024 terminals(ONT=Optical Network Terminations)
End-user 1
PC
ONT
Dedicated Fibre
Local
circuit
switch
Shared
Fibre
TV
Backhaul
GPON OLT
End-user 2
Optical
Splitter
Dedicated Fibre
PC
TV
ONT
ISP to
Internet
TV
VoD
server
‘Exchange’ premises
Different contention ratios
P2P-Point to point optical network architecture
Each end user has its own dedicated fibre from the exchange with a very
high speed and high cost
End-user 1
PC
ONT
Local
circuit
switch
Dedicated Fibre
Backhaul
TV
End-user 2
Dedicated Fibre
Ethernet
Switch
ISP to
Internet
‘Exchange’ premises
TV
VoD
server
Different contention ratios
PC
TV
ONT
Different NGA architectures will result in different band width to the end user
The average bandwidth we can expect from each type of NGA Archtecture is given below
Technology
Typical Bandwidth per user (Mbit/s)
Existing copper Local Loop (baseline)
2–5
Fibre to the cabinet (FTTC)
30–50
Fibre To The Home (FTTH – PON)
80–100
Fibre To The Home (FTTH – P2P)
100
Triple-play metro evolution
Peak theoretical bandwidth for mobile
broadband technologies
COMPUTER LANGUAGE
SAB CURRENT TOPICS
BASICS
•
•
•
•
•
•
WHY WE NEED A LANGUAGE?
LANGUAGE IN A COMPUTER?
BASIC MESSAGE- INSTRUCTION + DATA
ASSEMBLY LANGUAGE
THE DIFFICULLTY OF LOW LEVEL LANGUAGES?
HIGH LEVEL LANGUAGES & COMPILER?
HOW TO RESOLVE A PROBLEM WITH A
COMPUTER?
•
•
•
•
ALGORITHM
TEXTUAL ILLUSTRATION
GRAPHICAL ILLUSTRATION
SELECTION OF THE CORRECT HIGH LEVEL
LANGUAGE
• DESIGNING THE INTERFACE/ HOW TO FEED THE
INFORMATION TO THE COMPUTER?
• HOW TO KEEP THE DATA(DATA BASE FORMATION)
Software consist of…
Interface
Logic
Database
Interface
Insert Cheque Details
D – Logic will provide No
Bank Code:
A - Compulsory
Storage No:
Account Number:
Amount:
cheque Type:
C
Customer Name:
B – Optional
Description
Insert Cheque
E
Print Cheque Deposit
Form
SAFE GUARDS
• SOURCE CODE
• OBJECT CODE
• SOFTWARE DOCUMENTATION
Cheque Deposit Monitoring
System
Problem
1. Design cheque revenue income monitoring system for
any organization.
2. Points to consider
-no of banks
-format of the cheque(cheque no, account no)
-bank code/bank branch
-category of the cheque(cross or open)
-cheque is return in favour(organization/cash)
-amount of the cheque
-cheque is physical damage
-date of the cheque
Procedure for cheque deposit
1. Verification of no of cheques that has to be
deposited for each banks.
2. Filling the cheque depositing form for each
bank.
3. Once the cheques are deposited filing the
bank slip and inform to the system.
Calculation of monthly revenue
•
•
•
•
•
•
Monthly statement received.
Period of the statement.
Major Parameters of the statement.
Verification of cheque deposited.
Process of handling dishonest cheques.
No of cheques not realised due to lack of
money in the bank and the manual process
that has to be handled.
Calculation of each day revenue
• No of cheques for that date realised.
• Calculation of daily revenue from each bank and
grand total of the revenue from all the banks.
• Calculation of monthly revenue from all banks.
• Overall verification of (total cheque deposited
with total chq realised, no of cheques not
realised and the amount, cheques not realised
due to no fund available in the accounts.
• No of cheques that not realised.
Calculation of the revenue lost due to
dishonest cheques.
PROCESS that has to be followed.
• Form 2 groups. Each groups giving the same projects.
• How to handle the post dated cheques./ How to store
the cheques and how to withdraw the cheques for
deposited.
• Identify the banks by each member. Cheque format
and the monthly revenue format.
• Method of informing by each bank for the return
cheques.
• The process that has to be followed for the return
cheques.
• Method of verification of the monthly statement with
deposited cheques.
Consideration for cheque networking
1. Cheque depositing has to be decentralized.
2. Calculation of monthly
3. Monthly statement monitoring statement
has to be centralized.
4. How do you propose to network.
Software language...
• What is the suitable software language to
develop this process. Give reasons why?
Safeguards...
1. How to store source codes/ object codes.
2. How do You propose to have software
documentation.
Cheque management System
Contents
Cheque Received Module
Distributed
Cheque Depositing Module
Delayed Revenue Monitoring Module
Centralized
Cheque Monthly Revenue Monitoring Module
Management Reports Module
Cheque Received Module
• Cheques are received from the station
• Then the cheques are recorded in a system by using a
scanner
• After a cheque is received system will provide storage
number
• Manually verify whether cheque detail are correct,
specially the total amount
1
2
3
4
5
6
7
8
9
Cheque Data Format
CSN
Cheque No
Bank
Amount on Cheque
Bank No
Type of cheque
Deposit
Cross Cash
Name
Depositing bank details
Customer Details
Cheque Depositing Module
• Based on the bank a deposit form is filled, outputted
automatically
• Cheques are deposited to the bank
• Cheque deposits are monitored
Hard copy
Depositing Form
Cheque Data(cheque no, bank no, branch no,
amount, cheque date, deposit date)
For Office use Confirmation on depositing
Employee
Date
Total
Monthly Revenue Monitoring Module
• At the end of a depositing cycle of a bank, bank
statements are received at a central point(headquarters)
• Statements are scanned into the system
• All deposited cheques are verified and the monthly
revenue is calculated
Cheque No
Date
Amount
Unrealized cheques brought forward
for next month
Cheque No
Date
Amount
Delayed revenue Monitoring Module
• If the deposited cheques are not returned
they are not added to the revenue and will be
monitored at the next billing cycle
Management reports module
•
•
•
•
Monthly revenue reports
Unrealized cheques report
Delayed revenue reports
Daily number of cheques report
Data
•
•
•
•
•
Location of each station
Cheque depositing account details
How to store the cheque in each station
Depositing bank addresses at each location
Policies
– How long a dated cheque can be accepted?
– The process of handling return cheques
– Cheque revenue monitoring on monthly basis. If a cheque
is deposited at the end of the month the maximum
duration the revenue can be realized is one month
– Special monitoring of large value cheques to see if
deposited before the end of the month
Character Recognition System
• Instead of manual data entry a character
recognition system could be used to directly
scan cheques into the system, to increase
efficiency of the system
• Also letters with regards to return cheques
from banks can also be scanned into the
system for recording and automatic unrealization.
Summary
•
•
•
•
•
•
Cheque Received Module
Cheque Depositing Module
Cheque Monthly Revenue Monitoring Module
Delayed Revenue Monitoring Module
Management Reports Module
Character Recognition
Cheque receipt Management
Cheque Deposit Management
Revenue Management
Networking
Revenue Management
BREATHING EXCERCISE
•
•
•
•
•
•
NUMBER OF BREATHS FOR A MINUTE?
STAND
BREATH TO FILL YOUR LUNG, THEN DEBREATH
COUNT THE NUMBER OF ACTIONS FOR A MINUTE
OUR OBSERVATION
VARIES FROM ONE PERSON TO ANOTHER
PERSON/ HOW THEY HAVE UNDERSTOOD
• THEN WE TRY TO DRAW THE FLOW CHART
Start
Counter = 0
Time < = 60 Sec.
True
False
Display
Counter
Breathe In & out
End
Counter = Counter + 1
Start
Counter = 0
Time = 0
Breath
False
Lungs
Full
True
True
Counter = Counter + 1
Time < = 60
Sec.
False
Display
Counter
End
De Breathe
Futhure study about cheque
monitoring systems
• How to form the data base
• How to generate the storage number
Logic
Database
• A database is an organized collection of data for one or more
purposes, usually in digital form. The data are typically organized to
model relevant aspects of reality (for example, the availability of
rooms in hotels), in a way that supports processes requiring this
information (for example, finding a hotel with vacancies). This
definition is very general, and is independent of the technology
used.
• A database management system (DBMS) is a software package
with computer programs that control the creation, maintenance,
and use of a database. It allows organizations to conveniently
develop databases for various applications by database
administrators (DBAs) and other specialists. A database is an
integrated collection of data records, files, and other objects. A
DBMS allows different user application programs to concurrently
access the same database.
Design a database
•
•
•
•
•
•
•
•
Determine the purpose of your database - This helps prepare you for the remaining steps.
Find and organize the information required - Gather all of the types of information you might want
to record in the database, such as product name and order number.
Divide the information into tables - Divide your information items into major entities or subjects,
such as Products or Orders. Each subject then becomes a table.
Turn information items into columns - Decide what information you want to store in each table.
Each item becomes a field, and is displayed as a column in the table. For example, an Employees
table might include fields such as Last Name and Hire Date.
Specify primary keys - Choose each table’s primary key. The primary key is a column that is used to
uniquely identify each row. An example might be Product ID or Order ID.
Set up the table relationships - Look at each table and decide how the data in one table is related
to the data in other tables. Add fields to tables or create new tables to clarify the relationships, as
necessary.
Refine your design - Analyze your design for errors. Create the tables and add a few records of
sample data. See if you can get the results you want from your tables. Make adjustments to the
design, as needed.
Apply the normalization rules - Apply the data normalization rules to see if your tables are
structured correctly. Make adjustments to the tables
Database Data example
• Database PIN Number(int(8), PRIMARY_KEY,
NOT_NULL)
• Bank Account(int(10),NOT_NULL)
• Cheque No(int(6), NOT_NULL)
• Bank No(int(4), NOT_NULL)
• Amount(float(7), NOT_NULL)
• Cheque Date(datetime, NOT_NULL)
• Cheque Deposit Date(datetime, NOT_NULL)
• Storage No(int(4), NOT_NULL)
• Customer Name(varchar(50))
• Description(varchar(500))
Implementation Process
• Create Database
• Design Interface
• Apply Logic
Creating Database
• MSSQL 2005 is used for this implementation.
Creating database conts…
Creating database conts…
Creating a table in database
Creating a table in database
Generating Storage No
• To generate Storage number we used another
table ,This table is managed to provide proper
ID number for Cheque Master table that is
created above.
Genstorageno table
Generate storage number
• Storage number is generated using stored
procedure.
• Template Storage No:
Letter(I Digit)+Year(2digits)+Sequence
No(4digits)
Eg:C110001
How to create a stored procedure
• Select DatabaseprogrammerbilityStored
procedure
Stored procedure for generate storage
No
•
•
•
CREATE PROCEDURE genStorageNumber
@genStorage varchar (10) OUTPUT
AS
•
Begin
•
Declare @ld_max dec(18,0),@ls_lchar int,@ld_max2 dec(18,0) , @yr int
•
•
•
•
•
set nocount on
SELECT @ld_max=dbo.GenStorageNo.ref +1 ,@yr = dbo.GenStorageNo.gYear
FROM dbo.GenStorageNo
WHERE dbo.GenStorageNo.gYear = DATEPART(year, GETDATE()) ;
conts
•
select @ls_lchar = 4 - len(@ld_max)
•
select @genStorage = 'C' + SUBSTRING(ltrim(str(@yr)),3,2) +
REPLICATE('0', @ls_lchar) + ltrim(str(@ld_max))
•
•
•
•
UPDATE dbo.GenStorageNo
SET ref = ref +1
WHERE dbo.GenStorageNo.gYear = DATEPART(year, GETDATE()) ;
• End
Sql Procedure to Insert Cheque details
•
•
•
•
•
•
•
•
•
•
•
•
ALTER PROCEDURE [dbo].[SaveChequeDetails]
@CheckStorageNo varchar (15),
@CheckNo varchar(15),
@BankAccountNo varchar(15),
@cAmount decimal,
@ChequeDate datetime,
@ChequeDipositDate datetime,
@CustomerName varchar(100),
@CustomerNICNo varchar(15),
@Description varchar(500),
@ID int output
AS
conts
•
•
•
Begin
INSERT INTO tblChequeMaster
(CheckStorageNo,CheckNo,BankAccountNo,cAmount,ChequeDate,
•
•
ChequeDipositDate,CustomerName,CustomerNICNo,Description)
VALUES
(@CheckStorageNo,@CheckNo,@BankAccountNo,@cAmount,@ChequeDate,
•
@ChequeDipositDate,@CustomerName,@CustomerNICNo,@Description);
•
•
SELECT @ID=@@identity
End
Sqlprocedure to display saved data
•
ALTER PROCEDURE [dbo].[ShowChequeDetails]
•
AS
•
Begin
•
•
•
SELECT CheckStorageNo,CheckNo,BankAccountNo,cAmount,ChequeDate,
•
ChequeDipositDate,CustomerName,CustomerNICNo,Description
FROM tblChequeMaster
•
End
Interface for save cheque details
Code behind part(logic)
• Here the programming language selected is
ASP.NET 2005
• When you ready to save data(once you click
on save button). The system is generated
storage number.
• Next saved cheque details to database
Generate Storage number
• To generate store No you need to call stored
procedure that you build above.
• First we need to build a connectionstring to
communicate interface and database.
connectionstring to communicate
interface and database
• private SqlConnection GetConnection(string
connectionString)
• {
•
SqlConnection connection = new
SqlConnection(connectionString);
•
connection.Open();
•
•
return connection;
}
Call generate store no sp
•
•
•
private string GenStorageNo()
{
SqlConnection connection = null;
•
•
•
•
•
try
{
try
{
connection =
GetConnection(ConfigurationManager.ConnectionStrings["Sample_ConnectionString"].ConnectionString);
}
•
•
•
•
•
•
catch
{
ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('The
connection with the database can´t be established');</script>");
// return;
}
•
}
conts
•
SqlParameter[] arParms = new SqlParameter[1];
•
•
arParms[0] = new SqlParameter("@genStorage", SqlDbType.VarChar, 15);
arParms[0].Direction = ParameterDirection.Output;
•
SqlHelper.ExecuteNonQuery(connection, CommandType.StoredProcedure, "genStorageNumber", arParms);
•
return arParms[0].Value.ToString();
•
}
•
•
•
•
•
•
•
•
•
•
catch (Exception ex)
{
return "";
}
finally
{
if (connection != null)
connection.Dispose();
}
Save cheque details to database
• You need to call stored procedure that you
build above.
Calling save sp
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
private void SaveChequeData(string CheckStorageNo, string CheckNo, string BankAccountNo, decimal cAmount,
DateTime ChequeDate, DateTime ChequeDipositDate, string CustomerName, string CustomerNICNo, string
Description)
{
// SqlConnection that will be used to execute the sql commands
SqlConnection connection = null;
try
{
try
{
connection =
GetConnection(ConfigurationManager.ConnectionStrings["Sample_ConnectionString"].ConnectionString);
}
catch
{
ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('The
connection with the database can´t be established');</script>");
return;
}
•
SqlParameter[] arParms = new SqlParameter[11];
•
•
•
•
//// @ProductID Input Parameter
//// assign value = 1
arParms[0] = new SqlParameter("@ID", SqlDbType.Int);
arParms[0].Direction = ParameterDirection.Output;
•
•
•
// @ProductName Output Parameter
arParms[1] = new SqlParameter("@CheckStorageNo", SqlDbType.VarChar, 20);
arParms[1].Value = CheckStorageNo;
•
•
•
// @UnitPrice Output Parameter
arParms[2] = new SqlParameter("@BankAccountNo", SqlDbType.VarChar, 20);
arParms[2].Value = BankAccountNo;
•
•
•
// @QtyPerUnit Output Parameter
arParms[3] = new SqlParameter("@cAmount", SqlDbType.Decimal);
arParms[3].Value = cAmount;
conts
•
•
arParms[4] = new SqlParameter("@ChequeDate", SqlDbType.DateTime);
arParms[4].Value = ChequeDate;
•
•
arParms[5] = new SqlParameter("@ChequeDipositDate", SqlDbType.DateTime);
arParms[5].Value = ChequeDipositDate;
•
•
arParms[6] = new SqlParameter("@CustomerName", SqlDbType.VarChar, 15);
arParms[6].Value = CustomerName;
•
•
arParms[7] = new SqlParameter("@CustomerNICNo", SqlDbType.VarChar, 15);
arParms[7].Value = CustomerNICNo;
•
•
arParms[8] = new SqlParameter("@Description", SqlDbType.VarChar, 500);
arParms[8].Value = Description;
•
•
arParms[9] = new SqlParameter("@CheckNo", SqlDbType.VarChar, 15);
arParms[9].Value = CheckNo;
conts
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
SqlHelper.ExecuteNonQuery(connection, CommandType.StoredProcedure, "SaveChequeDetails", arParms);
if (arParms[0].Value.ToString() != null)
{
lblhelp.Text = "Great Success!, Record Saved.";
string errMessage = " Record Saved Succsfully ";
ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" +
errMessage + "');</script>");
}
else
{
lblhelp.Text = "Please check, there is a mistake";
string errMessage = "";
errMessage = " Record Save Faile ";
ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" +
errMessage + "');</script>");
}
}
conts
•
•
•
•
•
•
•
•
•
•
catch (Exception ex)
{
lblhelp.Text = ex.Message + " " + "Please See Your IT Helper.";
string errMessage = "";
for (Exception tempException = ex; tempException != null; tempException = tempException.InnerException)
{
errMessage = "Some Fields Empty. Unable to Save Data!";
ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" +
errMessage + "');</script>");
}
•
•
•
•
•
•
•
•
}
finally
{
if (connection != null)
connection.Dispose();
}
}
Now what to do?
• Proceed with all other modules!
Computer networking
•
•
•
•
•
•
•
Dynamic IP address
Static IP addresses
Lease lines
Virtual private network
Internet data centres
Computer farms
Computer clouding!
Download