0% found this document useful (0 votes)
128 views

Uploading Instructions:: Assignment No. 02 Semester: Spring 2020 Total Marks: 20

1. The document describes an assignment to develop an ATM simulation program using Java Swing GUI and a backend MS Access database. 2. The program takes a card number and PIN as input, verifies the user, and displays deposit, withdraw, and balance check options. Transactions update the database and displayed balance. 3. Students must submit a zip file containing the NetBeans project with Java classes for the debit card, database helper, and GUI class, along with the Access database file. The program will be evaluated by compiling and running it in NetBeans.

Uploaded by

ALI SUFYAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
128 views

Uploading Instructions:: Assignment No. 02 Semester: Spring 2020 Total Marks: 20

1. The document describes an assignment to develop an ATM simulation program using Java Swing GUI and a backend MS Access database. 2. The program takes a card number and PIN as input, verifies the user, and displays deposit, withdraw, and balance check options. Transactions update the database and displayed balance. 3. Students must submit a zip file containing the NetBeans project with Java classes for the debit card, database helper, and GUI class, along with the Access database file. The program will be evaluated by compiling and running it in NetBeans.

Uploaded by

ALI SUFYAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Assignment No.

02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

Please read the following instructions carefully before solving & submitting assignment:

Uploading Instructions:
 You are not allowed to use any other software/IDE except NetBeans IDE for this assignment
development.
 The submission must be a complete NetBeans IDE project folder (which should contain complete source
code, Java files, database file and builds etc.). After finalizing, compress it with Zip or RAR format, save
with your own Student ID (e.g. bc000000000.zip) and submit it at VU-LMS within due date.
 Your assignment should be in .zip /.rar format. Other file formats will not be accepted.
 No assignment will be accepted through email.

Rules for Marking:


It should be clear that your assignment will not get any credit if:

o The assignment is submitted after due date.


o The assignment is not submitted in .zip /.rar format.
o The submitted assignment does not open or file is corrupted.
o The assignment is fully or partially copied from other student or ditto copy from handouts or Internet;
strict disciplinary action will be taken in this case.
o The submitted code is unable to compile/execute in NetBeans IDE; during evaluation, submitted code
will be checked on NetBeans IDE. If unable to execute then ZERO marks will be awarded and no
excuses will be accepted in this regard.

Note: Do not put any query on MDB regarding this assignment, if you have any query then email at
[email protected]

Lectures Covered: This assignment covers Lectures # 1-16

GOOD LUCK

1
Assignment No. 02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

Problem Statement:
You are required to develop a Java program named MyATM, which should simulate behavior of a typical
ATM (Automated Teller Machine). In which a user, after entering card details, can deposit amount, withdraw
cash and check current balance. The program should be based on a user friendly interface; need to use Java
Swing based GUI components for this purpose. Further, all information must be saved in a backend database
using MS Access.

Detailed Description:
At start, your program should ask the user to provide card number and pin code as input. After taking input
from user the program should fetch user data corresponding to the input values from database and store in
a class level global variable. Taking input from user is shown in figure no 1.

Fig. 1: Taking input from User

If input values are correct (i.e. found a user against provided card number and pin code) then following ATM
services should be displayed via GUI;

1. Deposit Amount
2. Withdraw Cash
3. Check Balance

2
Assignment No. 02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

Fig. 2: ATM Services GUI

However, in case if input values are not correct (i.e. found no user against provided card number and pin
code) then appropriate message should be shown, like; "Invalid Card No or Wrong Pin Code".

1. Deposit Amount:

Each time, user selects this option, s/he will be prompted to enter money for deposit that must be in
multiple of Rs. 500/- (hint is given below) and up to a maximum of Rs. 25000/- per transaction. If inputs are
correct then the amount must be added in current balance and as well as in database. However, in case of
wrong input, appropriate message should be displayed.

Fig. 3: Deposit Amount GUI

3
Assignment No. 02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

2. Withdraw Cash:

User can withdraw any cash but in multiple of Rs. 500/- (hint is given below) and up to a maximum of Rs.
25000/- per transaction by using this option. However, if balance is zero or withdraw amount is greater than
the balance, then appropriate message should be displayed. Otherwise, amount must be deducted from
current balance and as well as database should be maintained.

Fig. 4: Cash Withdraw GUI

3. Check Balance:

The program should fascinate the user by displaying the current balance as well via GUI.

Fig. 5: Check Balance GUI

4
Assignment No. 02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

Note: At the end of each successful transaction, the user must be asked to proceed with another transaction
or not; if yes then start from displaying ATM services again and if not then show developer information (i.e.
Student Id and name) via GUI.

Fig. 6: Developer Info


Required Stuff:
Java Classes:
DebitCard.java (id,username,cardno,pincode,balance)
DbHelper.java (should contain all database related code)
MainClass.java (should contain GUI code)

Database file:
BSxxxxxxxx.accdb (must be same as your own VU student id)

Note: need to put database file in assets folder in NetBeans project directory; as shown below;

Fig. 7: Folder "assets" in NetBeans project directory

5
Assignment No. 02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

Sample Data:

Id Username Card No Pin Code Balance


1 Ahmad 20201001 1041 3000
2 Ali 20201002 1226 0
3 Sana 20201003 2592 7000
4 Amna 20201004 6372 12000
5 Umar 20201005 9241 25000
Tab. 1: Sample Users Data

Tab. 2: Users Table in MS Access Database file

Hint:
if (amount % 500 == 0) {
// it is a multiple of 500.
}

Setup Files & Video Tutorials:


 To download JDK setup file for Windows x64 from VU-LMS, please visit;
https://vulms.vu.edu.pk/Courses/CS506/Downloads/JDK_13.0.2_Windows_x64.zip
 To download JDK setup file for Windows x32 from VU-LMS, please visit;
https://vulms.vu.edu.pk/Courses/CS506/Downloads/JDK_8.251_Windows_x32.zip

 To install JDK and create a HelloWorld program in Java, please watch;

6
Assignment No. 02
Total Marks: 20
Semester: Spring 2020 Due Date: 17/06/2020
CS506 – Web Design and Development

https://vulms.vu.edu.pk/Courses/CS506/Downloads/JDK_Installation.mp4
 To install & create a HelloWorld Java program in NetBeans IDE, please watch;
https://vulms.vu.edu.pk/Courses/CS506/Downloads/NetBeansIDE_Installation.mp4
 To use UCanAccess driver to connect with MS Access database, please watch;
https://vulms.vu.edu.pk/Courses/CS506/Downloads/UCanAccess_Driver_Installation.mp4

Important Things to Implement:


 For GUI, relevant components (i.e. JFrame, JPanel, JButton, JTextArea, JTextField and JLable etc.) from
AWT and Swing packages should be used.
 You will have to use UCanAccess driver to connect to MS Access database. In this case, you are
suggested to view the video tutorial shared above.
 For storing/fetching data to/from database, you will need to use proper SQL queries.
 Data must be stored/fetched to/from database table in the form of Java class object/s.
 You can use same Java classes (DebitCard and DbHelper etc.) as provided in assignment # 1 and also
can make changes as required.
 Java classes must have proper Data Members and Member Functions along with Constructors,
Standard Setters and Getters etc.
 Need to make sure that exceptions are managed properly throughout the program; especially
NullPointerException, NumberFormatException, ClassNotFoundException and SQLException etc.
 All images, tables and sample data, given in this document, are just for reference purpose only; you
have to provide your own implementations. It is not required to be exactly the same.

Good Luck

You might also like