0% found this document useful (0 votes)
19 views4 pages

Bank Account Management System OOP Project

Uploaded by

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

Bank Account Management System OOP Project

Uploaded by

ayaalsheber
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Object-Oriented Programming Project

Bank Registration and Account Management System

1. Project Overview

This project aims to design and implement a Bank Registration and Account Management
System using Object-Oriented Programming (OOP) principles in Java. The system simulates
real-world banking operations such as client registration, account creation, deposits, withdrawals,
and administrative control.

Students will apply fundamental and advanced OOP concepts to model real entities (Bank,
Client, Account, Employee) and implement interactions between them using structured design
and clean code practices.

2. Project Objectives

By completing this project, students will be able to:

• Design a complete system using UML class diagrams


• Apply encapsulation, inheritance, abstraction, and polymorphism
• Implement constructors, method overriding, and validation
• Manage data using arrays of objects
• Build a menu-driven console application using Scanner
• Simulate realistic banking scenarios using OOP design

3. Project Scope

The system must allow:

• Registering new clients in the bank


• Creating different types of accounts for clients
• Performing deposit and withdrawal operations
• Managing clients through an administrator
• Displaying client and account information

The application will be console-based and use fixed-size arrays (not collections).
Milestone 1: Conception Report (Design Phase)
Students must submit a Conception Report containing:

1. System Description

• Brief explanation of the system functionality


• Identification of system users (Admin, Employee, Client)

2. UML Class Diagram

A complete UML class diagram showing:

• All classes
• Attributes and methods
• Access modifiers (+ / −)
• Relationships:
o Inheritance
o Composition
o …

3. OOP Design Requirements

The design must include:

• At least one abstract class


• At least one inheritance hierarchy
• Method overriding
• Encapsulation with validation in setters
• Default and parameterized constructors

Deliverable: PDF file containing the UML diagram and design explanation.

Milestone 2: Implementation Phase (Coding)


Students must implement the system in Java, following their UML design.

Required Classes (Minimum)

• Person (abstract)
• Client
• Employee
• Admin
• Account (abstract)
o SavingAccount
o CurrentAccount
• BankSystem (main class)

Required OOP Concepts

• Encapsulation: private attributes with getters/setters


• Inheritance: shared behavior through parent classes
• Abstraction: abstract classes and methods
• Polymorphism: overridden methods
• Constructors: default and full constructors

Data Management

• Use arrays of objects


o Array of Client
o Each Client has an array of Account
• Track object counts manually

User Interaction

• Use Scanner to read user input


• Implement a menu-driven interface
• Validate all user inputs

Main Program Scenario (Mandatory)


The main() method must:

1. Create an Admin object


2. Display a main menu with options such as:
o Register new client
o Open account for client
o Deposit money
o Withdraw money
o Search for client
o Display all clients and accounts
o Exit
3. Allow interaction using Scanner
4. Display clear and formatted output

Project Constraints
• Console-based application only
• Must follow UML design
• Must use arrays
• Code must be well-structured and commented
• No hard-coded values for logic operations

Final Submission
Students must submit:

1. Conception Report (PDF) – UML + design explanation


2. Java Source Code – all classes
3. Screenshots of Program Output

Evaluation Criteria
• Correct use of OOP concepts
• Accuracy of UML diagram
• Code quality and structure
• Proper use of arrays and Scanner
• Correct execution of scenarios
• Input validation and error handling

You might also like