Professional Documents
Culture Documents
1.PROBLEM STATEMENT
Credit cards act as a service providers for the people.It offers money to spend.It is very safe and secure.By using this,we can avoid carrying money everywhere. A user is issued a credit card after an account has been approved by the credit provider which he or she will be able to make purchases from merchants accepting that credit card up to a preestablished credit limit In credit card processing,the amount of purchase is found and accounts of both merchant and customer are updated..Computerisation of credit card processing will reduce the human labour and it reduces the complexity and errors in calculation.
2.2Objective:
The credit cards avoid carrying money everywhere.It offers security.The main objective of this project is to handle the process easier. That is updating the merchants account as well as customers account.It is also used to calculate interest accurately and to prepare statements.
2.3Infrastructure:
The project provides facilities such as fast updation of the details easier computation provides accuracy in computation.
3.SOFTWARE REQUIREMENT
ANALYSIS
3.2References
The user manual can be read in order to understand the specification. In case of classification and details of access the manual can be referred.
3.3.2Product functions:
The main functions of the specified product are issue credit card,update information,interest calculation and statement preparation. The project begins with getting option from the user ,whether he/she is a new user or if he/she wants to purchase. Selecting the option new user should get the details of the user like name ,age,salary,occupation,agreement amount. If the salary is greater than 30,000 then he will be issued a card.
Selecting the option purchase will get the amount of purchase and the credit card number. If the amount of purchase exceeds the balance amount in his account, then he cannot purchase,else that amount is detected from his balance account.
3.3.3User Characteristics:
The credit card holders will use the system.They should have basic computer knowledge.
3.3.4.General Constraints:
While issuing credit card,we check the constraint that salary should be Rs.30,000 or above. This is another constraint that they can use the credit card upto the amount agreed at the time of card issue.
3.4.1.1User Interface
processing system provides a good user interface. It is more interactive with the user that the user can easily operate the system. This can be achieved by providing the snap shots describing the functionality of the system. By viewing into the snap shots, the user can gain better knowledge about the system.
3.4.1.2Hardware Interface:
Standard WS with keyboard and mouse are used as hardware interface. This ATM system runs well in the Windows XP environment. The other environments can also support this system. This is its specialty.
3.4.1.3Software Interface:
SOURCE OF INPUT: The input is given by the user who wishes to use the Creditcard processing system. The user feels it easy to give the inputs, as the system is more user-interactive. They find the option to perform their work more easily rather than waiting for a long time to get the transactions to be completed manually. DESTINATION OF OUTPUT: The input given by the user is updated into the database where the account details corresponding to the user are stored. With the help of the database the account details of the customer can be administered and monthly statements can be generated.
ACCURACY: The Creditcard processing system that is developed is more accurate and is efficient. The balance is maintained accurately and updated properly.
SCREEN FORMATS / ORGANISATION: The screens that are provided for the user for performing the desired transactions are designed using Visual Basic forms. This will help in creating higher interaction with the user. The user also feels it easy for handling such forms.
END MESSAGES: The end messages are poped up, once the user completes the desired transaction. This will help the user to get a clear idea about the transaction procedure and it comforts the user to proceed further.
3.4.2.2Process Description::
The modules used in the project are credit card issue, updating details,interest calculation and preparing statements. The process proceeds as follows: In credit card issue function check the constraint that is,the salary should be Rs.30,000 per month and get all the details about them
.In update function, input the purchase amount and
monthly
statements.
3.4.2.4.Data Dictionary: NAME cusname cardnumber balance total NAME name addr age occu salary Mon_spent NAME Cnumber TYPE Varchar2(15) Number(20) Float(30) Float(30) TYPE Varchar(10) Varchar2(10) Number(5) Varchar2(10) Float(20) Float(20) TYPE Number(10)
3.4.3Performance Requirements:
The performance requirements deal with the static and dynamic numerical constraints. The number of users is not confined to
any specific value. Any number of users can use the system. But the only constraint is that only one user can use this system at a time. The response time is greater for the system. It gives the output quickly so that the user will feel easy to proceed with the next transaction. The amount of information to be handled is enormous. The database stores a large amount of data and it also helps in quick insertion and retrieval of data from it. So, the system furnishes all the required information at the request of the user to view the details.
3.4.4Design Constraints:
There are no such design constraints in our system. It ultimately satisfies the user requirements. All the details about the transaction are provided. This makes the user to use this system more efficiently.
System attributes or quality factors will have the following requirements. The software is more reliable as it causes no damage to the system in which it works. If it leads to any malfunction, it has the capability to recover from that damage. The system is available at all the places where the The software is so secure as it is user-friendlier and .The software is easy to maintain and the updations The software can be installed in any system that users fell it comfortable to work with this. the user can use the system efficiently. It wont cause any system attacks over the system are verified daily, inorder to have more secure data portable. The system provides easiness for the customer to use it and of course it is more user-friendly. satisfies the hardware and software requirement of this system. It is more
4.DATA MODELING
4.1 Use case diagram: Purpose:
Addresses the static use case view of a system and important in modeling the behavior of a system.
updation customer
(from actor) (from updation )
card validation
(from cardvalidation)
merchant
(from actor)
payment
(fro m paym ent)
bank
(from a cto r)
input details
(from inpu tdetail s)
querypay() sendbal2()
Card validation:
This use case checks whether the card is
DESCRIPTION:
valid or not. The unique card number is sent to the bank and if the card
is valid an approval number is sent. Any operation can be done only after getting approval number.
money by creditcard
.ALTERNATE FLOW:
If the user is not valid then display message
Purchase
Description:
In this the interest will be calculated if the
amount is not paid within due date.Interest is calculated and added along with balance amount.This is done for the customer.
Precondition:
Give the amount to be payed. Check the date of payement.
Post condition:
Balance is calculated.
Alternate Flow
If date exceeds the due date then calculate the
Amount updation
Description This is done for customer.The amount of purchase is entered and it is updated in his account.
Precondition:
Post condition:
The amount will be updated in both merchant
Input details:
Description:
In this the input details are got from the
customer and if it satisfies certain constrains then credit card will be issued.
Pre condition:
Get the details of the customer.
Post condition:
If it satisfies the constraint then issue the credit
card.
not be issued.
[ new user ]
[ old user ]
Collect information
Purchase
[ condition satisfied ] Input cardno Issue card [ not satisfied ] [ customer ] [ not honoured ] [ merchant ] [ honoured ]
balance calculation
Statement preparation
Update account
Description:
1.Check if the user is a new user or old user. 2.If he/she is a new user,then collect the information from them and if the specified constraint is satisfied then issue the card. 3.If he/she is a old user then get the cardnumber and amount of purchase.
4.If the card is valid then update the balance of the customer. 5.prepare statement for the customer.
waiting
[ get approval number ] customer do/ balance calculation merchant do/ update account
Display
Description:
Read the card number. If the card is not valid then go to stop. If the card is valid then wait until getting approval number. Then do the transaction for customers.
Card validation:
: bcardno : user
: ccardno
: icard
: bank
return
return
check()
Description:
The user enters the amount of purchase and card number.
The control class checks if the card number is correct and calls interface class. If the card is valid the amount is updated ,else invalid user message is displayed.
o Payment
: cpay
: ipay
: bank
checkdate( )
querypay( ) return
return
balancecalc( )
sendbal1( )
sendbal2( )
viewdetails( )
return
return
Description:
1. The amount of purchase entered by the user is passed to
2. In the control class the date is checked. 3. If the date of payment exceeds the due date interest is
Amount:
: ue sr
: b mu t a on f r d p) omis (
: c mu t a on
:a on mu t
: bn ak
a on ) mu t(
s n () ed q ey ) ur ( q ey ) ur (
r tun e r
r tun e r
Description:
The amount updation takes place in this class.
o
Input
: iinput
: bank
input( )
send( )
Description:
1. If the user is a new user to get the credit card,he must enter his
Card validation:
1: formdisp( )
2: enterc(v ariant)
: user
8: check()
: bcardno
3: send(Variant) 4: send(Variant)
: icard
5: queryc(Variant)
: bank
Input:
: cinput
4: senddet( ) 5: store( )
: iinput : bank
Amount:
1: formdisp( )
2: amount( )
: user
: bamount
3: send( )
7: return
: camount
4: query( )
5: query( )
: amount
6: return
: bank
Payment:
1: form dis p( )
8: balanc ec alc ( )
: us er
: ipay
: bank
Card validation:
<<boundary>> bcardno
(from cardval idation)
cardno : integer isreceived : boolean formdisp() send() welcome() formdisp() enterc(variant)() enterc() opname()
<<control>> ccardno
(from cardval idation)
<<Interface>> icard
(from bussiness)
Bcardno Description: This is a boundary class.It is used by the user to give card number.The card number given in the boundary class is passed to the control class by means of functions in this class. Ccardno: Description: This is the control class.It is used to check whether the given card number is present in the database or not. Icardno: Description: This is the interface class.It is used to retrieve the card number from the data base.It sends the balance to the control class if the card number is present.
Input:
<<boundary>> binput
(from inputdetail s)
<<control>> cinput
(from inputdetail s)
<<Interface>> iinput
(from bussiness)
send() senddet()
Binput: Description: This is the boundary class.This is used to get the input details from the customer.The input details are send to the control class. Cinput: Description: This is the control class.This is used to check if the salary is greater than certain value.If the constraint is satisfied ,then it is send to the interface class. Iinput: Description: This is the interface class.This class is used to insert the customers details into the data base and generate the card number.
Amount:
<<boundary>> bamount
(from updation)
<<control>> camount
(from updation)
<<Interface>> amount
(from bussiness)
select() query()
Bamount: Description: This is the boundary class.This class is used to give the amountr of purchase.The amount is passed to the control class. Camount: Description: This class is used to check if the amount is lass than the balance.If the condition gets satisfied then pass it to the interface class. Iamount: Description: This class is used to select the balance from the database and pass it to control class.If the condition gets satisfied, then the amount is again updated in the database.
Payment:
<<boundary>> bpay
(from pay)
<<control>> cpay
(from pay)
<<Interface>> ipay
(from bussiness)
checkdate() sendbal1()
Bpay Description: This class is the boundary class.It is used to give the amount of pay by the user.It sends this amount to the control class. Cpay: Description: This is the control class. It is used to check if the date of payment exceeds due date or not.If it exceeds duedate then the interest will be calculated. Ipay: Description: This is the interface class.It is used to update the payment amount in the data base.
4.6Package diagram:
Description:
1. Packages used are business layer package, application layer package, middleware layer package. 2These packages are present inside a main package domain. 3. Appication package contains all use case and all boundary and control classes.. 4. Business layer contains interface for all classes. 5. Middleware layer is used for declaring the interface used in the project. 6.For connecting the interface to boundary and control classes, the usecase packages present in the application package is connected to business package. 7.For connecting the usecases,the packages for usecase in the application packages are connected. 8.Each usecase package contains the boundary and the control class in it.
inputdetails iinput
interestcal culation
amount accountupdation
Purpose:Customer table is used to store the List of attributes:It contains attributes such as
name,credit card number,age,salary,agreement amount. Balance Purpose:Balance table is used to maintain the balance amount details of the customer. Cardno Purpose:This table is maintained to generate the card number for the new user. List of attributes:It contains the card number as the attribute. List of attributes:It contains attributes such as name,balance,total,card number.
6. SOFTWARE DEVELOPMENT AND DEBUGGING 6.1. STUDY OF VISUAL BASIC:Visual Basic is not just a language. It is an Integrated Development Environment in which we can develop, run, test and debug our application. It provides good user interaction and flexibility to the system so that the user can be benefited greatly. It provides click and view environment which could be time saving and a quick process.
6.2. CLASS MODULES:The class modules of our system shows the attributes, methods, Database connectivity and other functionalities related to the code generated. Some attributes used in the classes are declared to be public so that they can be used by other classes and some of them are declared to be private so that they cannot be easily modified.
Dim a As New binput Private Sub Command1_Click() If Option1.Value = True Then Call a.input1 ElseIf Option2.Value = True Then loginform.Show ElseIf Option3.Value = True Then Form2.Show ElseIf Option4.Value = True Then Form2.Show End If End Sub Private Sub Command2_Click() Option1.Value = False Option2.Value = False End Sub Private Sub Command3_Click() End End Sub
PAYMENT FORM: Private Sub Command1_Click() Dim bp As New bpay Call bp.enteramt End Sub Private Sub Command2_Click() optionform.Show End Sub STATEMENT FORM: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub Command1_Click() If Option1.Value = True Then Form1.Show ElseIf Option2.Value = True Then optionform.Show End If End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = " " Text3.Text = "" Option1.Value = False
Option2.Value = False End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Dim pay As New ipay Call pay.field Text1.Text = totfield End If End Sub PURCHASE FORM: Private Sub Command1_Click() Dim bc As New bcardno Call bc.enterc End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" End Sub Private Sub Command3_Click() optionform.Show End Sub Private Sub Command4_Click() Form2.Show
End Sub Private Sub Form_Load() temp = Val(Text2.Text) temp1 = Val(Text1.Text) End Sub CREDIT CARD ISSUE FORM:
Dim db As New ADODB.Connection Private Sub Command1_Click() Dim ic As New binput Call ic.input1 End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" End Sub Private Sub Command3_Click() optionform.Show End Sub
MODULE: Dim c As New icard Dim cc As New ccardno Public bal As Integer Public tot As Variant Public temp Public temp1, cardnum Public totfield As Variant Public balan As Integer
AMOUNT CLASS: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Public balan As Variant Public bal As Variant
Public Sub query() rs.Open "select * from table1 where cardno='" & (loginform.Text1.Text) & "'", db, adOpenDynamic, adLockOptimistic bal = rs.Fields("balance") balan = bal + Val(loginform.Text2.Text) rs.Fields("total") = balan rs.Update End Sub BAMOUNT: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Public balan As Variant Public bal As Variant
Public Sub query() rs.Open "select * from table1 where cardno='" & (loginform.Text1.Text) & "'", db, adOpenDynamic, adLockOptimistic bal = rs.Fields("balance") balan = bal + Val(loginform.Text2.Text) rs.Fields("total") = balan rs.Update End Sub BCARDNO: Private cardno As Integer
Private isreceived As Boolean Public NewProperty As ccardno Public Sub enterc() Dim cc As New ccardno Call cc.check End Sub B INPUT: Dim i As New cinput Private name As Variant Private address As Variant Public Sub input1() newuser.Show Call i.check End Sub B PAY: Public Sub formdisp() Form1.Show End Sub Public Sub enteramount(cardno As Variant, amount As Currency) End Sub Public Sub enteramt() Dim p As New cpay Call p.sendamt End Sub C AMOUNT:
Public Sub calculate() Dim ca As New amount Call ca.query End Sub C CARDNO: Public Sub check() Dim c As New icard card = c.sendno(Val(loginform.Text1.Text)) If balan < loginform.Text2.Text Then MsgBox ("YOUR CARD WILL NOT BE HONOURED") Else MsgBox ("YOUR ACCCOUNT IS UPDATED") Call c.select2 End If End Sub
C INPUT: Public Sub check() Dim ii As New iinput If Val(newuser.Text3.Text) > 30000 Then Call ii.send4 Else MsgBox ("card cannot be issued") End If End Sub
C PAY Public Sub sendamt() Dim pp As New ipay Call pp.sendbal1 End Sub I CARDNO: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Public data As Variant Public bal As Variant Public tot As Variant Public Sub select2() db.Open "table1", "04it14", "04it14" rs.Open "select * from table1 where cardno ='" & loginform.Text1.Text & "'", db, adOpenDynamic, adLockOptimistic bal = rs.Fields("balance") - Val(loginform.Text2.Text) tot = rs.Fields("total") + Val(loginform.Text2.Text) rs.Fields("balance") = bal rs.Fields("total") = tot rs.Update End Sub
Public Function sendno(cardno As Integer) db.Open "table1", "04it14", "04it14" rs.Open "select * from table1 where cardno ='" & loginform.Text1.Text & "'", db, adOpenDynamic, adLockOptimistic If rs.EOF Then MsgBox ("InValid user") Else balan = rs.Fields("balance") End If rs.Close db.Close End Function
I INPUT: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Public Function send4() db.Open "table2", "04it14", "04it14" rs.Open "select * from table2", db, adOpenDynamic, adLockOptimistic rs.AddNew rs.Fields("name") = newuser.Text1.Text rs.Fields("addr") = newuser.Text2.Text rs.Fields("age") = newuser.Text5.Text rs.Fields("occu") = newuser.Text4.Text rs.Fields("salary") = newuser.Text3.Text rs.Fields("mon_spent") = newuser.Text6.Text
rs.Update rs.Close db.Close db.Open "table3", "04it14", "04it14" rs.Open "select * from table3", db, adOpenDynamic, adLockOptimistic newuser.Text7.Text = rs.Fields("cnumber") + 1 rs.Fields("cnumber") = newuser.Text7.Text rs.Update rs.Close db.Close db.Open "table1", "04it14", "04it14" rs.Open "select * from table1", db, adOpenDynamic, adLockOptimistic rs.AddNew rs.Fields("cusname") = newuser.Text1.Text rs.Fields("cardno") = newuser.Text7.Text rs.Fields("balance") = newuser.Text6.Text rs.Fields("total") = 0 rs.Update End Function
I PAY: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Public days As Integer Public interest As Variant Public amount As Variant
Public stot As Variant Dim i As Integer Public Sub sendbal1() db.Open "table1", "04it14", "04it14" rs.Open "select * from table1 where cardno=" & Val(Form2.Text3.Text), db, adOpenDynamic, adLockOptimistic If Val(Form1.Text2.Text) > Val(Form2.Text2.Text) Then days = Val(Form1.Text2.Text) - Val(Form2.Text2.Text) interest = rs.Fields("total") * (10 / 100) * days amount = rs.Fields("total") + interest rs.Fields("total") = amount - Val(Form1.Text1.Text) rs.Update Else MsgBox ("YOUR BALANCE IS UPDATED") stot = rs.Fields("total") - Val(Form1.Text1.Text) rs.Fields("total") = stot rs.Update End If End Sub
Public Sub field() db.Open "table1", "04it14", "04it14" i = Val(Form2.Text3.Text) rs.Open "select * from table1 where cardno='" & i & "'", db, adOpenDynamic, adLockOptimistic totfield = rs.Fields("total")
End Sub
7. SOFTWARE TESTING
Software testing is done to fix the errors and to correct it. The testing of our software is done in three aspects. They are listed below. 1. 2. 3. Rational Purify Analysis. Rational Quantify Analysis. Rational PureCoverage Analysis.
7.1. RATIONAL PURIFY ANALYSIS:The Rational Purify test is done in order to report the errors in our system and to thoroughly check the working of functions. The output of this test would be the report on the purification of each and every function of the system and the steps are given below. 1. 2. 3. 4. 5. Open Rational Rose Suite. Select Rational Purify. Click continue. Set the path of the exe file and click run. Get the output.
1. RATIONAL QUANTIFY ANALYSIS:The Rational Quantify test is done in order to report the errors in our system and to thoroughly check the working of functions. The output of this test would be the graph on the quantification of each and every function of the system and the steps are given below. It illustrates the execution path of the system. 1. 2. 3. 4. 5. Open Rational Rose Suite. Select Rational Quantify. Click continue. Set the path of the exe file and click run. Get the output.
7.1. RATIONAL PURECOVERAGE ANALYSIS:The Rational PureCoverage test is done in order to report the errors in our system and to thoroughly check the working of functions. The output of this test would be the report on the coverage of each and every function of the system and the steps are given below. 1. 2. 3. 4. 5. Open Rational Rose Suite. Select Rational PureCoverage. Click continue. Set the path of the exe file and click run. Get the output.
8. MAINTENANCE
8.1. SITE CHECKING MONITORING:Our system is easily maintainable and reusable since we designed the class modules as reusable components and if there is any enhancement in our system, it could be easily made. Our system occupies requires only minimal set of requirements for installation and maintenance and henceforth it is cost effective.
8.2. USER MANUAL:Our system could be used by all who require its service. Here are some of the guidelines for the user to operate the system. 1) 2) 3) 4) 5) 6) 7) reported. 8) 9) If ENQUIRY, enter the train name and click SUBMIT and view the Click EXIT and come out of the system. train detail retrieved. Enter into the system by clicking the ENTER command. Choose your option RESERVATION or ENQUIRY or
CANCELLATION. If RESERVATION, enter the required details in the textboxes as If seats not available, try for some other day. If seats reserved, View the ticket. If CANCELLATION, enter the PNR number and the train name given If PNR number found, then ticket will be cancelled. Else message will be required and click SUBMIT command.
conclusion
Our system provides flexible, reliable access to the user and manages a large enterprise detail which should be accurate and fast. It saves the overcrowding of people in the queue and waiting time of the busy going people. Our system is well tested and revised several times in such a way that it satisfies the needs of the user. Thus it is verified and validated by experts and the errors are fixed and corrected at right time. Our system is very much user friendly and efficient in furnishing the required information and provides scalable results.