0% found this document useful (0 votes)
14 views14 pages

Agile Banking Software Implementation Guide

The document outlines the implementation of a banking software system using Agile/XP programming, detailing requirements, iterations, user stories, tasks, and test cases. It emphasizes the social, ethical, and entrepreneurial impacts of advanced software systems on banking. Additionally, it includes project planning aspects like scope, objectives, tasks, milestones, roles, and a prototype design with diagrams and GUI design for the application.

Uploaded by

ayeshashabbir981
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)
14 views14 pages

Agile Banking Software Implementation Guide

The document outlines the implementation of a banking software system using Agile/XP programming, detailing requirements, iterations, user stories, tasks, and test cases. It emphasizes the social, ethical, and entrepreneurial impacts of advanced software systems on banking. Additionally, it includes project planning aspects like scope, objectives, tasks, milestones, roles, and a prototype design with diagrams and GUI design for the application.

Uploaded by

ayeshashabbir981
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

Banking Software System

The steps to implement the banking software system using Agile/XP programming.

[Link] Methodology
Requirements

The requirements describe what the system does. The functional requirements describe the
specific features and functionalities of the banking system.

Account management: The banking system should provide functionality to manage customer
accounts, including creating an account and viewing an account detail.

Transaction processing: The banking system should support various types of transactions
such as deposits, withdrawals, and transfers.

Payment processing: The banking system should provide support for various payment
methods, including online payments, wire transfers and mobile payments.

Iterations

Break down the project into iterations or sprints. Breaking down features of the banking system
into smaller tasks that can be completed in each iteration.

Account management:
● Login/Create an account
● View an account detail

Transaction processing:
● Deposit cash to an account
● Withdraw cash from an account
● Transfer money to bank accounts

Payment processing:
● Online payments
● Mobile payments
User Stories

User stories describe the features or functionality that needs to be implemented in each
iteration. User stories should be written from the perspective of the user and should focus on
what they need to do with the software.

● As a customer, I want to create an account.


● As a customer, I want to view account details and transaction history.
● As a customer, I want to transfer funds between my accounts or to other bank accounts.
● As a customer, I want to withdraw cash from a bank account.
● As a customer, I want to deposit cash to a bank account.
● As a customer, I want to make payments online.
● As a customer, I want to make mobile payments.

Tasks

1. As a customer, I want to create an account.


● Task 1: Design a user interface for login/create an account for online banking.
● Task 2: Implement a login or create an account functionality in the banking system.
2. As a customer, I want to view account details and transaction history.
● Task 1: Design a user interface for viewing account details and transaction history.
● Task 2: Implement viewing account details and transaction history.
3. As a customer, I want to transfer funds between my accounts or to other bank accounts.
● Task 1: Design a user interface for transferring funds between accounts
● Task 2: Implement transferring funds between accounts.
4. As a customer, I want to withdraw cash from a bank account.
● Task 1: Design a user interface for withdrawing cash from a bank account.
● Task 2: Implement withdrawing cash from a bank account
5. As a customer, I want to deposit cash to a bank account.
● Task 1: Design a user interface for depositing cash to a bank account
● Task 2: Implement depositing cash to a bank account
6. As a customer, I want to make payments online.
● Task 1: Design a user interface for making payment online.
● Task 2: Implement making payments online.
7. As a customer, I want to make mobile payments.
● Task 1: Design a user interface for mobile payments.
● Task 2: Implement making mobile payments
Implement Features

Implement the features or functionality of the banking software system defined in each user
story.

● Login/Create an account
● View an account details and transaction history
● Deposit cash to an account
● Withdraw cash from an account
● Transfer funds to bank accounts
● Make payments online
● Make mobile payments

Test Cases

Test cases for a banking software system

● User Authentication: Check that the system can correctly authenticates the users
through username and password
● Account management: Check that the system can correctly create an account, view
account details and transaction history.
● Transaction processing: Check that the system can correctly deposit cash, withdraw
cash, and transfer money to accounts.
● Payment processing: Check that the system can make payments online and make
mobile payments.

Impact of Advanced Software Systems and Software Engineering


The advancement of software systems and software engineering has an impact on how we
interact with the banking software system as a society.

Social Impact:

The social impact of advanced software systems and software engineering on banking software
systems has been largely positive. The development of digital banking platforms and mobile
banking applications has made it easier for people to access and manage their finances.

Ethical Impact:
The ethical impact of advanced software systems and software engineering on banking
software systems has been mixed. On the one hand, these advancements have improved the
security of banking systems and cyberattacks. On the other hand, these advancements in
banking systems have raised concerns about privacy and potential misuse of customer data.

Entrepreneurial Impact:

The entrepreneurial impact of advanced software systems and software engineering on banking
software systems has been largely positive. The development of fintech companies has created
new opportunities for innovation and competition within the banking industry. This has led to the
development of new fintech products or services.

2. Project Planning
Project planning of banking software system using Gantt Chart

Project Scope and Objectives:

The purpose of a banking software system is to provide financial institutions with a


computerized platform to manage their operations, customer data, and transactions. The
software provides customers with access to their accounts, enables them to perform
transactions and manage their finances online.

The features of a banking software system include.

1. Account management: The software allows customers to open and manage their bank
accounts. It enables customers to view their account balance and transaction history.
2. Transaction processing: The software allows to deposit cash, withdraw cash, and
transfer funds to bank accounts
3. Payment processing: The software allows the processing of payments online and mobile
payments

The goals and objectives of a banking software system depends on the specific needs and
requirements of the system.

1. Automation: A banking software system automates tasks such as account opening,


transaction processing, and payment processing.
2. Security: Banking software systems must ensure that all customer data and financial
transactions are secure and protected from unauthorized access.
3. Integration: A banking software system integrates with other systems such as payment
gateways
4. Scalability: The banking system should scale up as per the changing needs of the bank.
It should be able to handle an increasing number of customers, transactions, and
accounts.

Project Tasks and Milestones

The tasks and milestones for a banking software system project depends on the scope and
complexity of the project.

Tasks:

1. Project Planning: This includes project goals, objectives, and timelines


2. Requirements Gathering: This involves gathering functional and nonfunctional
requirements for the software system
3. Software Design: This includes creating a software design that meets the requirements
and is scalable, secure and reliable.
4. Development: This involves coding, testing and debugging of the software system
according to the design specifications.
5. Integration and Testing: This involves integrating various components of the software
system and testing them to ensure that they work together.

Milestones:

1. Requirements Sign-off: This milestone indicates that all stakeholders agreed upon the
requirements for the software system
2. Design Review: This milestone indicates that the software design has been reviewed
and approved by stakeholders
3. Development Completion: This milestone indicates that the software system has been
developed according to the design specifications
4. Integration and Testing: This milestone indicates that the various components of the
software system have been integrated and tested successfully.

Estimate Timeframes

1. Project Planning 5 days 4. Development 7 days


2. Requirements Gathering 4 days 5. Integration and Testing 3 days
3. Software Design 4 days
Gantt Chart

Project Planning using Gantt Chart

3. Roles and Contributions


The development process of a banking system involves various roles and contributions from
different individuals and teams. Some of the common roles and contributions in the
development process of a banking system.

1. Business Analyst: A Business Analyst plays an important role by analyzing the


requirements of the system and documenting them.
2. Software Developer: Software developer is responsible for designing, developing, and
implementing the system.
3. QA Analyst: QA analysts are responsible for ensuring that the system works correctly
and meets the requirements.
4. Project Manager: The Project manager is responsible for project planning, budgeting,
and tracking the progress. They ensure that the project is delivered on time and within
budget.
4. Prototype Design
System Design:

Class Diagram

The class diagram of a banking software system can have the following classes

Account: This class represents a bank account and may have attributes such as account
number, balance, and account type.

Customer: This class represents bank customers and may have attributes such as name,
address, phone, and email.

Transaction: This class represents a financial transaction and may have attributes such as
transaction ID, amount, and transaction type.

Bank: This class represents the bank and may have attributes such as name and address

Entity Relationship Diagram

The entity relationship diagram for a banking software system


Account: Account represents the bank accounts that customers can open. Each account has
accountnumber, balance, and type. Each account belongs to a customer and a customer can
have multiple accounts.

Customer: Customer represents the bank customers. Each customer has a customerID, name,
phone, email. Each account belongs to a customer and a customer can have multiple accounts.

Transaction: Transaction represents the bank transactions such as deposits, withdrawals, and
transfers. Each transaction has TransactionID, date, amount, and type. Each transaction is
associated with an account.

Bank: Bank represents a bank. Each bank has a bank name and address. Each account is
associated with a bank and a bank can have multiple accounts.

Use Case Diagram

The main user in the banking system is the customer. The customer can perform various
actions such as login/create an account, view account, transfer funds, deposit, withdraw, make
payments.
Sequence Diagram

The sequence diagram of a banking system


GUI Design:

The main screen of the banking system

The Create an Account screen of the banking system

The Login screen of the banking system


The Dashboard screen of the banking system

The View Account details of the banking system

The Deposit screen of the banking system


The Withdraw screen of the banking system

5. Implementation
The implementation of the banking software system in python

The first step in the implementation of the banking system is to install Python on Windows and
create a banking gui [Link] file in the banking folder. Then we import the python libraries such
as tkinter and pillow to create the GUI of the banking application.

We create the main screen of the banking application and add the title “Banking App”. We
import the image to the main screen. We create labels “Banking Software System” and “Online
Banking Application” to the main screen. We create buttons “Create an Account” and “Login” to
the main screen.

We create a register function to create an account. We create the “Create an Account” screen
and add the title “Create an Account” to the screen. We create labels “Name”, “Phone”, “Email”,
“Password”. We create entries “name”, “phone”, “email” and “password” to get values from the
user. We create a button “Create an Account” to create an account.
Next, we create a login function to login an account. We create the “Login” screen and add the
title “Login” to the screen. We create labels “Username” and “Password”. We create entries with
“name” and “password” to get values from the user. We create a button “Login” to login an
account.

Then, we create a “Dashboard” screen and add the title “Dashboard” to the screen. We create
labels “Account Dashboard” and “Welcome” to the screen. We create buttons “Account Details”,
“Deposit” and “Withdraw” to the screen.

Then, we create a personal details function to view the account details. We create the “Account
Details” screen and add the title “Account Details” to the screen. We create labels “Account
Details”, “Name”, “Phone”, “Email”, “Balance” and get values of name, phone, email, and
balance.

Now, we create a deposit function to deposit cash to the account. We create the “Deposit”
screen and add the title “Deposit” to the screen. We create labels “Deposit”, “Current Balance”,
and “Amount” to the screen. We create an entry “Amount” to get value from the user. We create
a button “Finish” to the screen to deposit an amount to the account.

Finally, we create a withdraw function to withdraw cash from an account. We create the
Withdraw screen and add the title “Withdraw” to the screen. We create labels “Withdraw”,
“Current Balance”, and “Amount” to the screen. We create an entry “Amount” and get value from
the user. We create a button “Finish” to the screen to withdraw an amount from the account.

References:
Martin, Robert. Agile Software Development: Principles, Patterns, and Practices. (2002).

Beck, Kent. Extreme Programming Explained: Embrace Change. (1999).

Flora, Harleen K. and Swati V. Chande. “A Systematic Study on Agile Software Development
Methodologies and Practices.” (2014).

You might also like