Java Banking Project

Budget N/A
Bids 21
Average Bid $48

This assignment will assess your ability to:
1. Annotate your code with contracts.
2. Implement and use a generic collection class.
3. Construct a UML diagram of Model-View-Controller and explain the characteristics of MVC.
4. Construct a GUI according to the Model-View-Controller design pattern.


A Bank-GUI has been designed with the following facilities. There is a provision to open accounts, Savings Account and Current Account. Bank-GUI also has provision to display the detail of the account.

Opening a savings account needs IC number, Customer's name, address, date of birth, date of opening the account and an account number is also allotted.

Opening a current account needs IC number, Customer's name, address, date of birth, date of opening the account, an account number and minimum amount to be retained in the account.

Savings account number and Current account number are different.

1. Explain the functioning and use of Model-View-Controller design pattern in pattern oriented software architecture with reference to Bank-GUI.
2. Draw the UML Class/Object diagram of MVC.
3. Write a program implementing a GUI according to the Model-View-Controller design pattern. The program should consist of the following classes. See below for further details.
a. Definition of Model class.
b. Definition of Control class.
c. Definition of View class.
d. Complete Program.

4. List and describe the generic classes to be used in the proposed GUI.
5. Provide the assertion for the precondition and post condition used in each contract.
6. Use suitable names of methods, variable names, code layout and necessary comment statements etc.


You are to write a program in Java implementing a Graphical User Interface for a bank. The proposed design for the GUI is as shown below. There is a provision to choose either a Saving Account or Current Account by means of two buttons:

Saving Account Current Account

Pressing one of the buttons leads to the appearance of three further buttons:
Add, Display and Exit as shown below:

Add Display Exit

The actions of the buttons are as follows:

(1) Add - to add customers in a selected account.

(3) Display - to display the account detail of a selected account.

(4) Exit - to quit the existing GUI.


The Savings Account and Current Account have the following data fields.

Add Customer in Saving Account

Customer- ICNo
Customer- Name

Add Customer in Current Account

Customer- ICNo
Customer- Name


Customer- ICNo

Be warned that a “working” program that fails to satisfy any of these Learning Outcomes will get a very low mark. The purpose of this module is not to teach you Java, so if knowledge of Java is all you demonstrate in your submission then you have not learned much and we cannot give you much credit.


You should write classes Bank-GUI-Model, Bank-GUI-View, and Bank-GUI-Controller to follow the Model-View-Controller pattern. To clarify, this means that

o Bank-GUI-View must be the only class containing GUI code,

o Bank-GUI-Model must store all the data and have no references to the other two classes and

o Bank-GUI-Controller must forward only valid requests to Bank-GUI-Model and it must tell Bank-GUI-View to disable buttons and show alerts in response to incorrect inputs.


Assignment submission will be checked against detection software and work found to have been plagiarized will be referred to Plagiarism Committee.


Post a Project Like This

Looking to make some money?

  • Set your budget and the time frame
  • Outline your proposal
  • Get paid for your work

Bids on this Project

  • atif038 Profile Picture


    Lahore , Pakistan,  Pakistan

    Thanks for visiting my profile page. Our slogan is "We will provide high quality software for helping peoples work and live". I have experiences for 7 years on Android and mobile web development. And I have developed a wide range of websites using HTML5, PHP, MYSQL. Over the last 3 years, I have developed a wide range of mobile apps using Java, php and Java script including games and apps with image processing (photo processing), web service, social networking, backend. My skills and experiences are following: - Web service, HTTP, JSON, XML - Mobile application and Mobile Gam e. - C/C++ and Java - Social networking - Photo processing, Photo filtering and effect, Custom Camera - SQLite and MySQL database - Facebook, Twitter, Youtube, Tumblr, Flickr, Instagram, Google plus - Push and local notification, Calendar, Alarm promise following things with client : - Highest quality. - Fast Development speed in deadline. - Best Communication for every day.

    PHP, Java, Data Entry, and J2EE

  • NuwanSameera Profile Picture


    Galle,  Sri Lanka

    I fallowed java & software engineer programme after A/L.

    C Programming, Java, JSP, and Javascript

  • mustafadon Profile Picture


    Lahore,  Pakistan

    Currently doing Software Engineering from FAST Lahore. have a well command over languages like JAVA,C++,C. Have a great typing speed with 100% accuracy. English typing and reading skills are also great.

    C Programming, Java, .NET, and Translation

  • vinodkumarc Profile Picture


    Bangalore,  India

    Experience Summary: o More than Nine years of experience in the IT industry working for top IT Service providing companies o Designing, developing and maintaining JAVA / J2EE Enterprise applications. Experienced in Core JAVA, JSP, Servlets, EJB (Session and Message Driven Beans), JMS, JDBC, JAVA Mail, XML and XSLT technologies, Frameworks like STRUTS , Hibernate and using JAVA Design Patterns. Worked on Weblogic , Websphere and Oracle 9iAS application servers. o Experience in JUNIT, JTEST for Unit Testing, OptimizeIt , Rational Purify and Load Runner for Performance testing. o Experience in Database design for smaller projects with good knowledge of PL/SQL in Oracle and Sybase. Expertise in UNIX OS (AIX, Sun Solaris) at the level of a developer.

    Perl, Java, Javascript, and Linux

  • sahoo188 Profile Picture


    Jharsuguda,  India

    Have good knowledge of Analysis and Programming. Have good knowledge in Design Pattern.

    Java, JSP, Javascript, and XML

  • threadnix Profile Picture


    Iasi,  Romania

    In short, I am very interested in developing new technologies in IT and the development of new technologies in this area. Mostly, I'm interested in programming in Java, C, C++ and Python. I have experience in Web programming by using HTML and PHP languages. Also, databases are interested, having experience in MySQL, Derby and SQLite.

    PHP, C Programming, Java, and XML

  • DoraDaniluc Profile Picture


    Nice,  Germany

    Good programming experience.

    PHP, Java, JSP, and XML

  • obara Profile Picture


    Nairobi,  Kenya

    Java, Data Entry, and HTML

  • pavan45 Profile Picture


    Bangalore,  India

    To secure a challenging position in an freelancer community where I can effectively contribute my skills as a Software Architect in designing and developing , testing , supporting possessing competent technical and management skills with challenging Core Values: 1. Respect the expectation of clients and value their association with me. 2. Exibhit excellent professional services 3. Responsiveness to the changes in client priorities, and repond to contemporary. 4. Challenging the futuristic changes in technology to meet the expectations of tomorrow. My Misssion to embibe innovations in all deeds , cultivate it through learning environment to attain and meet clients and help in succession of their needs. Below are the SkillSet and technical stacks:- ● Languages: Java 7, ● Frameworks: Springs core, Springs MVC, Springs Webservices, Spring ORM , JPA, Hibernate 4, JAX-WS (SOAP), JAX-RS(REST). ●Scripting languages: ANT1.8 and Maven3. ●Version Control: SVN, CSV, GitHub, jenkins ● API: Jersey, JAXB, JSON, DOM, SOAP, WSDL. ● Templates:- Freemarker, Velocity ● Database Technologies: Oracle SQL, MySQL, PL/SQL. ● Web Servers/App. Servers: Jetty, Jboss EAP 6.x, Tomcat7 and Oracle Web logic 11g. ● Web-Technologies: HTML, JSP, XML, XSLT, JavaScript. ●Development Tools: SQL developer, TOAD, Oxygen13, Altova XmlSpy. ●Data Communication and Networking: TCP/IP, SNMP, POP3, SMTP, DNS. Interested to work with clients 24/7 any global time zone. My experience in developing user-friendly solutions on time and on budget would enable me to step into a software engineering role in freelancer Community. I look forward to speaking with you. -Pavan

    Java, JSP, Javascript, and XML

  • ParthoBiswas007 Profile Picture


    Dhaka,  Bangladesh

    Hi, First of all please take a look at my website >> It will give you a detailed overview on me. I am Partho Biswas. I am a freelance programmer from Bangladesh. I write code for iOS(iPhone/iPad/iPod), Android, Java, Appcelerator, Corona/Lua but mainly focused iOS platform. My main expertise are followings : 1. iOS(iPhone/iPad/iPod), Objective-C, C/C++, Swift, Java. 2. VoIP, SIP, TCP/IP, Multimedia Programming, Network Programming. 3. Corona SDK, LUA, Appcelerator Titanium,. 4. Cocos 2D, Cocos 2Dx, Box2D. 5. MySQL, Oracle, Pure SQL. I can also do the following work:- 6.- Programming with C, Python. 7.- HTML, XHTML, DHTML, CSS, JavaScript, PHP, jQuery / Prototype. Conditions: 1.- For several reasons, I may not be always online. It doesn't mean I'm off the project, you would always receive updates and explanations. Thank x to all... Partho Biswas.

    PHP, C Programming, Java, and Data Entry