Вы находитесь на странице: 1из 32

SOFTWARE REQUIREMENT SPECIFICATION

Department of Computer Science, Sacramento State University

Spring 2015

“Budget Planner”

Professor: Dr. Doan Nguyen

Team Members:

Bindu Madhavi K Khambam


Suganya Srinivasan
Table of Contents
Goals ..................................................................................................................................................................................... 3
Problem Statement ............................................................................................................................................................... 3
Proposed Solution................................................................................................................................................................. 3
System Requirements ........................................................................................................................................................... 5
Enumerated Functional Requirements ............................................................................................................................ 5
Enumerated Non-Functional Requirements .................................................................................................................... 6
Class Diagram ........................................................................................................................................................................ 7
Functional Requirements Specification ................................................................................................................................ 8
Stakeholders ..................................................................................................................................................................... 8
Actors and Goals............................................................................................................................................................... 8
Casual Description ............................................................................................................................................................ 8
Use Case Diagram ........................................................................................................................................................... 10
Use Case Descriptions .................................................................................................................................................... 11
Use Case 1 ................................................................................................................................................................... 11
Use Case 2 ................................................................................................................................................................... 11
Use Case 3 ................................................................................................................................................................... 12
Use Case 4 ................................................................................................................................................................... 13
Use Case 5 ................................................................................................................................................................... 14
Use Case 6 ................................................................................................................................................................... 15
Use Case 7 ................................................................................................................................................................... 16
Use Case 8 ................................................................................................................................................................... 17
Use Case 9 ................................................................................................................................................................... 18
Use Case 10 ................................................................................................................................................................. 19
Use Case 11 ................................................................................................................................................................. 20
Sequence Diagram.......................................................................................................................................................... 21
Traceability matrix .......................................................................................................................................................... 22

Software Model Used ......................................................................................................................................................... 23


Tools Used .......................................................................................................................................................................... 24
User Interface Design and Implementation........................................................................................................................ 24
Test Cases ........................................................................................................................................................................... 28
Work Progress..................................................................................................................................................................... 31
Future Enhancement .......................................................................................................................................................... 31
Conclusion .......................................................................................................................................................................... 32
Learnings ............................................................................................................................................................................. 32
Customer Statement of Requirements

Goals

The objective is to design a sophisticated system which will help in planning, monitoring, and
controlling the finances of your own, project or organization.

Problem Statement

Managing expenses is important for our rapidly-growing daily life. Long gone are the days when you
had to sit down with a notepad and a sky-high stack of bills and receipts to figure out your income,
expenses, and overall budgetary plan. These days there are all kinds of spreadsheets and programs
that are meant to make your financial planning a lot easier and more efficient. But short of carrying
your laptop around with you, these comprehensive budgeting and tracking measures are largely
confined to you home.

Managing personal expenses and incomes by an automated system really helps you stay disciplined
to organize your finances, which is the first step of knowing your overall financial health. Maintaining
a budget is like maintaining a bridge; Looking through your finances at regular intervals will allow to
spot trends and see areas that can be improved way before it becomes a problem. Knowing your
exact financial situation lifts a tremendous amount of stress off your shoulders because you don’t
have to worry about the unknown. But the Problem is how to maintain the budget efficiently and
with ease and how to avoid overdraft fees, unexpected shortages, the minimum payment treadmill,
and that sinking dread when you realize you actually couldn't afford to go out.

Proposed Solution
In order to fix the mentioned problems, we are designing an application “Budget Planner” that will
help the users to plan budget more efficiently.

Budget planner is an android application which helps in the financial management. Instead of having
to track everything throughout the month, Budget planner lets you create customized categories in
which you simply subtract from as you spend. Just add your expenses to the various categories and
this app will tell you when you're running low on cash.

Budget planner helps in planning and monitoring your budget to identify wasteful expenditures,
adapts quickly as your financial situation changes, and achieve your financial goals. One can use this
planning process to prioritize your spending and focus your money on the things that are most
important to you.

Household bills are probably the first set of expenses to address simply because most of them recur
on a monthly basis. Once you have entered bills you can edit them monthly (at least the ones that
vary), track their due dates on the calendar, set reminder alerts when they’re due, and mark when
they have been paid. You can also break them down into several categories such as mortgage/rent,
utilities (complete with subcategories like gas and electric), food, entertainment, and so on. And for
other expenses, like those outside the home, you have the option not only to enter and categorize
them in a variety of ways.

Budget planner is a handy mobile tool for the finance management. This application is suitable for
tracing your income and expense to construct a healthy finance.

Budget Planner finance software is the perfect solution for managing your finances. You can organize
your cash flow, expenses and bank accounts in one place. And easy to understand charts and graphs
enable you to visualize how you’re spending your money month-to-month.
System Requirements

Enumerated Functional Requirements

Identifier Priority Requirement

REQ-1: Add paycheck 5 The App shall allow to add the amount
receive.

REQ-2: Add envelopes 5 The App shall allow to add categories.

REQ-3: Amount Spent in 5 The App shall allow to add amount spent in
categories particular categories.

REQ-4: View all transactions 5 The App should allow to view all previous
transactions

REQ-5: Total Amount 5 The App should allow to see the total amount
in categories and balance left.

REQ-6: Amount earn in 3 The App shall allow to add amount earn in
categories particular categories.

REQ-7: Change the Amount 3 The App should allow to change the amount
spent spent if entered wrong.

REQ-8: Change the Amount 3 The App should allow to change the amount
Earn earn if entered wrong.

REQ-9: Transfers 2 The App should allow to transfer the amount


from one category to another.

REQ-10: Distribute the Money 2 The App should allow to distribute the money
across categories.

REQ-11: Import the data 1 The App should allow to import the data.

REQ-12: Export the data 1 The App should allow to export the data.

REQ-13: Overview of Budget 1 The App should allow to view overview of the
transactions.
REQ-15: Graph Representation 3 The App will show the graph which will help
the users to visualize the budget.

REQ-16: Change Colors 2 The App shall allow to change the background
colors.

REQ-17: Allow pin 2 The App should allow to have secure pin in
case users wants to secure their budget plan.

Enumerated Non-Functional Requirements

Identifier Priority Requirement

REQ-14: Simple Design 4 App will have a simple design to enhance user
experience. Each navigation will have a
similar template to prevent confusion.
Class Diagram

Interacts With

System

Access  Add Balance  Add_Balance()


 Add Categories  Add_Categories()
Mobile platform -Android OS  Add amount spent  Add_amount_spent()
 Add amount Earn  Add_amount_Earn()

Data representation
Calls
 All_transaction_view()
 View_total_balance()
 Graphs_overview_view()
 Reports_view()
Functional Requirements Specification

Stakeholders

Budget planner is a handy mobile tool for the finance management. This application is suitable for
tracing your income and expense to construct a healthy finance. In this busy life, this helps people
understand the flow of money and plan their expenses accordingly. The stakeholders are parents,
students and anyone who wish to keep track of their personal expenses.

Actors and Goals

Actors Goals
App To allow the user to track expenses
User To enter the expense details
Android To download the app

Casual Description

Use Case Name Description Requirement

UC-1 Login To login to the app app

UC-2 Add balance To enter the balance amount Balance tab


UC-3 Add Categories To enter the categories bills

UC-4 Distribute expense Distribute the expense based on the


categories Distributed tab
UC-5 Transfer the Transfer the bills Bills, transfer tab
expense
UC-6 Add amount spent To track the amount spent Balance tab

UC-7 Add amount earn To enter the amount earned Balance tab

UC-8 Change the amount To edit the expenses Balance tab

UC-9 All Transactions Display all transactions Main screen Budget

UC-10 Total Balance To display the total balance Main screen Budget

UC-11 Graphs To see the graphical representation of Main screen Budget


expense
Use Case Diagram

Login

Add Balance

Add Categories

Add Amount Spent

Add Amount Earn

change the Amount

Actor

All Transactions

Total Balance

Graphs - Overview

Reports
Use Case Descriptions

Use Case 1

Use Case (UC-1) Login

Requirements App , Android phone

Initiating Actors Any Parents; students

Actor’s Goal To Login

Participating Actors Mobile, Android

Precondition The customer has android phone and budget planner app.

Post condition The user logs out

Main Success Scenario


1. The user is able to login

Use Case 2
Use Case (UC-2) Add Balance

Requirements App , Mobile

Initiating Actors Any Parents; students

Actor’s Goal To Add Balance

Participating Actors Mobile, Android

Precondition The customer logged into the app; The user should know balance
amount

Post condition The user logs out

Main Success Scenario


1. The user adds balance and changes it

Use Case 3

Use Case (UC-3) Add Categories

Requirements App

Initiating Actors Any Parents; students


Actor’s Goal To Add categories (Clothes, Food, groceries)

Participating Actors Mobile, Android

Precondition The customer logged into the app; The user has the bills.

Post condition The user logs out

Main Success Scenario


1. The user adds the expense detail for clothes, food and groceries

Use Case 4

Use Case (UC-4) Distribute the expense

Requirements Bills, app, mobile

Initiating Actors User: Parents; students

Actor’s Goal To distribute the expenses

Participating Actors Mob, android


Precondition The expense is distributed among food, groceries and clothes

Post conditions The pay check amount is distributed between the categories

Main Success Scenario


1. The amount in the envelope is distributed among the categories to
keep track of the expenses.

Use Case 5

Use Case (UC-5) Transfer the expense

Requirements Bills, app, Mobile

Initiating Actors Users: Parents, students

Actor’s Goal To transfer the expense

Participating Actors Mob, android

Precondition The user has different bills

Post conditions The user has transferred details from one bill to another
Main Success Scenario The bill details are entered and it is transferred to another

Use Case 6

Use Case (UC-6) Add Amount Earned

Requirements Amount earned, App

Initiating Actors Users: Parents, students

Actor’s Goal To add amount earned

Participating Actors Mobile, android

Precondition The user has earned amount >0

Post conditions The user can see balance amount in the app

Main Success Scenario The app allows to enter balance amount and displays correctly.
Use Case 7

Use Case (UC-7) Add Amount spent

Requirements App

Initiating Actors Users: Parents, students

Actor’s Goal To add amount spent

Participating Actors Mobile , android

Precondition The user has spent some amount > 0

Post conditions The user is able to add the amount spent successfully

Main Success Scenario The amount is added and balance is reflected correctly
Use Case 8

Use Case (UC-8) Change the amount

Requirements Bills, app, Mobile

Initiating Actors Users: Parents, students

Actor’s Goal To edit the expenses

Participating Actors Mobile, android

Precondition The user has entered the expenses

Post conditions The user has updated the expense amount

Main Success The expense amount can be edited and updated with the new amount
Scenario
Use Case 9

Use Case (UC-9) All Transactions

Requirements Bills, app, Mobile

Initiating Actors Users: Parents, students

Actor’s Goal To display all the transactions

Participating Actors Mobile, android

Precondition The user has entered the transactions

Post conditions The user is able to view all the transactions

Main Success The user is able to view all the entered transactions
Scenario
Use Case 10

Use Case (UC-10) Total Balance

Requirements Bills, app, Mobile

Initiating Actors Users: Parents, students

Actor’s Goal To display the total balance

Participating Actors Mobile, android

Precondition The user has entered all expense amount

Post conditions The user is able to view the total balance

Main Success The user is able to view the total balance available after all the expense
Scenario
Use Case 11

Use Case (UC-11) Graphs

Requirements Bills, app, Mobile

Initiating Actors Users: Parents, students

Actor’s Goal To display the total balance

Participating Actors Mobile, android

Precondition The user has entered all expense amount

Post conditions The user is able to view the graphical representation of expenses

Main Success The graphical representation of all the expenses is displayed to the user
Scenario
Sequence Diagram

MOBILE ADD AMOUNT AMOUNT


LOGIN BALANCE SPENT EARNED
GRAPHS
INTERFACE

USER

Login to
App

Enter the Balance

Balance Info is
Displayed

Enter the Amount


Spent

Remaining Amount
Info is displayed

Enter the Amount


Earned

Amount Earned
Info is displayed

Ask for Info in


Graphs

Graphical Info
displayed
Traceability matrix

UC- UC- UC- UC- UC- UC- UC- UC- UC- UC- UC-
1 2 3 4 5 6 7 8 9 10 11
REQ-1:Add paycheck X
REQ-2:Add X X
envelopes
REQ-3: Amount X
spent in categories
REQ-4:View all X
Transactions
REQ-5:Total amount X X
REQ-6:Amount earn X
in categories
REQ-7:Change the X X
amount spent
REQ-8: Change the X X
amount earn
REQ-9: Transfers X
REQ-10: Distribute X
the money
REQ-11: Import the X
data
REQ-12: Export the X
data
REQ-13: Overview of X
budget
REQ-14: Simple X
Design
REQ-15: Graph X
Representation
REQ-16: Change X
Colors
REQ-17: Allow pin X
Total PW
Software Model Used

Model used for Budget planner application was water-fall model.


 As it’s simple to understand and best suited for the project of two members.
 Easy to manage.
 Phases are processed and completed one at time.
 It worked for the budget planner as requirements were clear.
Tools Used
Android SDK
Android 24.1.2 SDK is a set of development tools to create applications for Android Mobile Platform
or Android powered mobile devices. This development kit includes a debugger, libraries and handset
emulator with proper documentation and tutorials. Eclipse is the officially supported IDE for Android
SDK. Android Development Plugin (ADT) is needed to run this SDK on Eclipse.

Android Phone
When building mobile phone applications, it is necessary to test on a real mobile phone device before
releasing to the users. Android Dev Phone is a SIM and Hardware unlocked phone used by developers
to test their applications. This device fully supports Android.

Eclipse
Eclipse is a universal tool kit for software development, it’s a multi-language development platform
comprising of an Integrated Development Environment (IDE and plugins to extend the functionality.

User Interface Design and Implementation.


7
Test Cases

Test Steps Description Expected Results Actual Results Pass/Fail Remarks


Case ID No.
TC1 Step 1 Open app in The Budget Planner The Budget Pass
the android screen should be planner screen is
phone displayed displayed
with Budget successfully with
Planner displayed Budget Planner
in the header with displayed in
the Balance, bills, header with the
clothes and Food Balance, bills,
fields clothes and Food
fields
TC2 Add Distribute balance amount
Step 1 Click the ↑ in The entered The entered pay Pass
the Budget paycheck amount check amount is
Planner screen should be displayed successfully
to enter in the screen displayed in the
paycheck screen
amount
Step 2 Enter the The entered The entered Pass
categories and categories and the categories and
the amount for amounts should be the amounts
the categories displayed should be
displayed
successfully
Step 3 Check if the The balance should The balance is Pass
balance is be displayed after displayed after
displayed after the amount is the amount is
the amount is distributed among distributed
distributed categories among categories
among
categories
TC3 Transfer Bills
Step 1 Click the → in The user should be The user clicks Pass
the Budget able to view a on the → and
Planner screen Transfer pop up navigates to
to navigate to screen transfer page
Transfer bills
page
Step 3 Choose the bill The user should be The user chooses Pass
category from able to choose the the category
the bills bill category from from the bills
dropdown and dropdown and dropdown box
enter the enter the bill and enters the
description description and
and amount to amount to be description and
be transferred transferred amount

Step 4 The user clicks The amount should The amount is Pass
ok and the be reflected in the changed in the
amount is budget screen once budget screen
reflected in the the user clicks ok after clicking ok
Budget screen
TC4 Add More Categories
Step 1 Click the + to The user should be The user clicks on Pass
add more able to add more + and is able to
categories to categories by add more
budget screen clicking on + categories
symbol
TC5 Add amount earned
Step 1 Click on ↑ to The user should be The user clicks on Pass
navigate to able to view the ↑ and is able to
Add amount Add amount view the Add
earned page earned pop up box amount earned
pop up box
Step 2 The user The user should be The user enters Pass
enters the able to enter the the amount
description, amount earned earned,
the amount description, description and
earned and amount and select also selects the
selects the date of transaction date of
date of transaction
transaction
Step 3 The user clicks The user should be The user clicks ok Pass
ok and the able to see the and is able to see
amount is amount earned the amount
entered after clicking ok earned
TC6 Add amount spent
Step 1 Click on ↓ to The user should be The user clicks on Pass
navigate to able to view the ↓ and is able to
Amount spent Amount spent pop view the Add
page up box amount spent
pop up box
Step 2 The user The user should be The user should Pass
enters the able to enter the be able to enter
description amount earned the amount
and the description and the spent description
amount spent amount and the amount
Step 3 The user clicks The user should be The user clicks ok Pass
ok and the able to see the and is able to see
amount is amount spent after the amount
entered clicking ok spent details
TC7 Change color
Step 1 Click on the The user should be The user clicks on Pass
brush icon to able to change the brush icon
change the color of header by and changes the
color of header clicking on the color of the
brush icon header
TC8 Total Balance
Step 1 Check the The user should be The user is able Pass
Total Balance able to view the to see the Total
in the Balance Total Balance in the Balance displayed
tab Balance Tab in Balance tab
TC9 View Graphs
Step 1 Check if graph The user should be The user is able Pass
of transactions able to view the to view the Total
is displayed graph of graph of
balance tab transactions in transactions in
page balance tab page balance tab page
TC10 All Transactions
Step 1 Click All The user should be The user clicks on Pass
Transactions in able to view all the All Transactions
Main page transactions and the
transactions are
displayed
Work Progress

WEEK NUM # WORK PLAN COMMENTS

Feb 17 – 24 Ground work and Building the required framework Requirement Analysis
Phase ( 1 week )

Implementation of GUI for Components ( Login Screen)


Feb 24 – Mar 3

Implementation phase
Mar 3 – 17 Implementation of Adding the expenses based on categories
module. ( 6 weeks)

Implementation of viewing Income and Expense log module.


Mar 17 – 24

Mar 24 – Apr 2 Implementation of Browsing History and checking balance


module

Apr 2 - 6 Work on bringing up a GUI for the tool Results


Apr 6 -9 Capturing snapshots of results and start working on the final Review/Enhancement s
report. and Final Report
Writing Phase

Future Enhancement
 IOS application
 Generating Reports
 Send reminders to user
 Alerts through email – Overdraft protection
 Linking the App and having a automatic payment.
Conclusion

 Android Budget Planner app helps to budget your money, track your spending, and stay in
control of your finances.
 It will prove to be helpful for people who are frustrated with their daily budget management
 It will help users to overcome the wastage of money
 This app gives access to your balances, allows you to add, view, and edit transactions, and
gives you some insight into your spending history.

Learnings
Principles/Concepts learning in software engineering course which contributed to our final project
are as follows
 Plan and deliver an effective software engineering process, based on knowledge of
software development lifecycle models.
 Employ group working skills including general organization, planning and time
management and inter-group negotiation.
 Translate a requirements specification into an implementable design, following a
structured and organized process.
 Effective documentation which helped us understand, maintain and make further changes
in the future.

Вам также может понравиться