0% found this document useful (0 votes)
10 views7 pages

Simple Banking Report

The document is a semester project report for a simple banking application developed in Python, focusing on core banking operations and object-oriented programming principles. It outlines the project's objectives, technical implementation, and challenges faced during development. The report concludes with key accomplishments and suggestions for future enhancements, such as database integration and multi-account support.

Uploaded by

ayesha.ahmed9009
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)
10 views7 pages

Simple Banking Report

The document is a semester project report for a simple banking application developed in Python, focusing on core banking operations and object-oriented programming principles. It outlines the project's objectives, technical implementation, and challenges faced during development. The report concludes with key accomplishments and suggestions for future enhancements, such as database integration and multi-account support.

Uploaded by

ayesha.ahmed9009
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

Semester Project Report

Simple Banking Application

Course Name: Introduction to Object-Oriented Programming

Student: Alex Johnson (Roll #CS202315)

Instructor: Dr. Sarah Williams

Date: June 14, 2025


Table of Contents
Chapter 1: Introduction...................................................1

Chapter 2: Literature Review.............................................2

Chapter 3: Technical Implementation......................................4

Chapter 4: Conclusion....................................................7

References...............................................................8
Chapter 1: Introduction

1.1 Introduction
This console-based banking application, developed in Python, simulates key banking
operations including account creation, deposits, withdrawals, balance inquiries, and
transaction history. It is designed to demonstrate core object-oriented programming
concepts and real-world transaction logic without database or network integration.

1.2 Objectives
• Implement the BankAccount class encapsulating account details and operations.

• Develop a menu-driven interface for user interaction.

• Ensure data integrity through input validation.

• Apply OOP principles: encapsulation, methods, and state management.

• Maintain transaction history for audit purposes.

1.3 Stages of Code Development


• Requirement analysis and defining core operations.

• Designing the BankAccount class structure.

• Implementing methods with validation and error handling.

• Integrating the command-line user interface.

• Testing and debugging edge cases.


Chapter 2: Literature Review

2.1 Idea of the Project


The project aims to model fundamental banking processes in a simplified digital
environment. By translating physical transactions into code, it emphasizes data
encapsulation and method abstraction.

2.2 Background Work


Research included reviewing similar applications such as Java-based GUI banking
systems, Python CLI mini-banks, and blockchain transaction models to establish best
practices.

2.3 Research Questions


• How do OOP principles streamline transaction logic?

• What validation mechanisms prevent erroneous operations?

• In what ways does transaction history build user trust?

• What are the limitations of in-memory data storage?

2.4 Comparison with Existing Systems


Feature This Project Java Banking Python Mini- Blockchain
App Bank Wallet

User Interface Console GUI Console Web-based

Transaction Yes Yes No Yes


History

Input Yes Yes Limited N/A


Validation

Multi-Account No Yes Yes Yes


Support

Data No SQL DB Text Files Distributed


Persistence Ledger
Chapter 3: Technical Implementation

3.1 Code Specifications


Language: Python 3.10
Class: BankAccount
Methods: __init__, deposit, withdraw, check_balance, view_transactions
Data Structures: lists, strings, floats

3.2 AI Tools Used


ChatGPT was used for debugging logic errors, refining code structure, and generating
documentation.

3.3 Development Challenges


• Preventing negative balances on withdrawal (fixed with conditional checks).

• Handling non-numeric input (would require try-except blocks).

3.4 Problem Statement


Develop a secure, menu-driven console application simulating core banking operations
using object-oriented programming.

3.5 Materials & Methods


• Hardware: Intel i5 CPU, 8GB RAM

• Software: Python 3.10, VS Code

• Methodology: Agile development with iterative testing

3.6 Functional Features


• Account creation

• Deposit and withdrawal

• Balance inquiry

• Transaction history display

• Exit functionality

3.7 Non-Functional Features


• User-friendly command-line interface

• Fast response for up to 1,000 transactions


• Single-user, in-memory operation
Chapter 4: Conclusion
This project effectively demonstrates object-oriented programming through a functional
banking application. Key accomplishments include robust transaction validation and
intuitive user interaction. Future improvements may include database integration, multi-
account support, authentication, and a graphical interface.

References
 • Oracle. (2020). Java Banking Application Design. Oracle Press.
 • Smith, T. (2022). Python CLI Banking Systems. O’Reilly Media.
 • Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
 • Lutz, M. (2013). Learning Python. O’Reilly Media.
 • Gamma, E., et al. (1994). Design Patterns. Addison-Wesley.

You might also like