Uploaded by Safaa AL-Banna

Assigment-2 final

advertisement
Group no.4
Group name : Luminous Candles
Shimaa Esmat Ayesh
220150970
Safaa Ibrahim Al-Banna
220150968
Reem Rantise
220150765
Raghad Mahani
220151162
Preface
This work for an android application for the requirements of Software Engineering course project
in Computer Engineering department at The Islamic University of Gaza. This work provides the
scope and context of the project to be undertaken. It details the intended user group and the value
that the system will have to them. It also provides a schedule for the completion of the project,
including a list of all the deliverables required.
1. Introduction
a. Purpose
This document contains the complete design description of the android application “Money
manager”. This includes the architectural features of the system down through details of what
operations each code module will perform and the database layout. It also shows how the use
cases detailed in the SRS will be implemented in the system using this design.
The primary audiences of this document are the software developers.
b. Scope of project
This software system will be an android application “Money manager”, where the objective from
it is to design a sophisticated system which will help in planning, monitoring, and controlling the
finances of your own, project or organization. This system will be help the users to plan budget
more efficiently . Rather than getting to keep track of everything throughout the month, the
Money manager lets you create custom categories in which you can simply subtract from as you
spend. Just add your expenses to different categories and this app will tell you when you are
running low on cash. Money manager helps plan and monitor your budget to determine wasteful
expenses, Quickly adapts to changing your financial situation and achieving your financial goals.
One can use this Planning process to prioritize your spending and focus your money on things
that are most important to you.
You can split expenses into several categories such as mortgage / rent, Utilities (complete with
sub-categories such as gas and electricity), food, entertainment, and so on , and other expenses,
such as those outside the home, you have the option not only to enter and classify Them in a
variety of ways.
Money manager is a handy mobile tool for managing finance. This application is suitable for
track your income and expenses to build health financing. the Money manager is the perfect
solution for managing your finances. you can organize cash flow, expenses and bank accounts in
one place. Easy to understand graphs and graphs let you visualize how you spend your money
from month to month.
1
c. Glossary:
Architectural
design
is concerned with understanding how a software system should
be organized and designing the overall structure of that system.
confirmation
the action of confirming something or the state of being confirmed.
attributes
a quality or feature regarded as a characteristic or inherent part of
someone or something.
Collaborate
work jointly on an activity, especially to produce or create
something
Emphasis
special importance, value, or prominence given to something.
Use cases
a model of UML diagram that shows the interaction between a
system and its environment
2
 1.5. Overview of Document :
 Chapter 2 is a Deployment Diagram that shows the physical nodes on which the system
resides. This allows a clear explanation of where each design entity will reside. No design
unit may straddle two nodes but must have components on each, which collaborate to
accomplish the service.
 Chapter 3 is the Architectural Design. This is the heart of the document. It specifies the
design entities that collaborate to perform the functionality of the system. Each of these
entities has an Abstract Specification and an Interface that expresses the services that it
provides to the rest of the system. In turn each design entity is expanded into a set of
lower-level design units that collaborate to perform its services.
 Chapter 4 is the basic Data Structure Design, which for this project is a relational
database. While it is separated out here for emphasis, it is really the lowest level of the
Architectural Design.
 Chapter 5 is on User Interface Design and discusses the methodology chosen, why it was
chosen and why it is expected to be effective.
 Chapter 6 describes the structure of the Help System.
 Chapter 7 exhibits the Use Case Realizations. The implementation of each use case
identified in the SRS is shown using the services provided by the design objects.
 Since there are no real time considerations, that chapter has been removed from this
document.
3
2.0. Deployment Diagram
Usually, you release your application through an application marketplace,
such as Google Play. However, you can also release applications by sending
them directly to users or by letting users download them from your own
website.
The publishing process is typically performed after you finish testing your
application in a debug environment. Also, as a best practice, your
application should meet all of your release criteria for functionality,
performance, and stability before you begin the publishing process
4
3.0. Architectural Design
Name
Type
Node
Description
Attributes
Resources
Operation
3.1 Many manager
Many manager
Subsystem
App Server
This is the primary entrance to the system for an user to allow the user to
track expenses
Many manager data base
Mobile platform Android OS
Add_amount_spent( )
Add_total_balance( )
5
Unit Design:
3.1.1 Login traker:
Name
Type
Node
Description
Attributes
Resources
Operation
3.1 Login
Login
Android Interface
App Server
This class will entry you into the app to use
User data base
Mobile platform Android OS
Name
pass ()
Arguments:
password
Returns:
Description:
This method will entry you into the app to use after you
click on the button
Start the application
Entering the application
The user enter wrong password
a) Enter your user name and password.
b) Click on the button ( log in ) to entering the app.
c) If the password or the user name is wrong ,you will
see a massage telling the user that the password or
the user name is wrong
Pre-condition
Post-condition
Exception
Flow of Events:
6
3.1.1 Money manager traker :
Name
Type
Node
Description
Attributes
Resources
Operation
3.1 Money manager
Money manager
Android Interface
App Server
This class collects the functionalities of the interface of all users .We can
add total balance & new costs, view all amount of spent, view remainder
money and edit spent.
Balance / Spent / Earn data base
Mobile platform Android OS
Name
Add_total_balance()
Arguments:
None
Returns:
Description:
The entered balance
The user will add the total balance
Pre-condition
The user logged into the app
The total balance is entered
Post-condition
7
Flow of Events:
Name
Arguments:
Returns:
Description:
Pre-condition
Post-condition
Exceptions
Flow of Events:
a) Click the button (+) in the money manager screen
to enter paycheck amount.
b) The entered paycheck amount should be
displayed in the screen.
c) The entered paycheck amount is successfully
displayed in the screen.
Add_spent()
None
The amount of spent
The user will add the amount of spent and select the
type of category
The user has spent some amount > 0
The user can see balance amount & spent in the app
The user may be enter wrong value (not in range)
a) Click the button (-) in the money manager screen
to navigate to Amount spent page
b) The user should be able to view the Amount
spent pop up box.
c) The user clicks on ↓ and is able to view the Add
amount spent pop up box.
d) The user select the category type that he spent
e) The user enters the description and the amount
spent.
f) The user clicks ok and the amount is entered and
he is able to see the amount spent details after
click Ok.
Name
Arguments:
Returns:
Description:
Pre-condition
Post-condition
Exceptions
Flow of Events:
Select_category()
None
The user shall be given the amount earned , the
amount spent , the amount reminder for that
category and the amount of spent in percentage
This class will show all amounts for the category that
he click on to
The user has earned amount for this category > 0
The user can see all information about this category
User pressed on undefined category
a) Click the icon of any category in the money
manager screen .
b) displays a page that show the category
information
c) Press OK to exit the page
8
3.1.2 Categories tracker :
Name
Type
Node
Description
Attributes
Resources
Operation
3.1 Categories
Categories
Android Interface
App Server
This class allows the user to deal with categories in terms of addition, deletion
and modification
Mobile platform_Android OS
Name
Add_ category ()
Arguments:
None
Returns:
Description:
add more categories
The user will add more categories and select icon to the
category and add its amount that available to spent in this
category
The customer logged into the app; The user has the bills.
The categories is stored
a) Click at (Add new category) to add more categories
to manager screen.
b) The user write the name of category and its amount
that available to spent .
Pre-condition
Post-condition
Flow of Events:
9
c) The user click ok to add this category.
d) The new category will be saved.
Name
Arguments:
Returns:
Description:
Pre-condition
Post-condition
Exceptions
Flow of Events:
Name
Arguments:
Returns:
Description:
Pre-condition
Post-condition
Exceptions
Flow of Events:
Remove_category()
None
Delete Specific category
The user will be able to remove any category he wants.
This category is already available
The user may be delete the wrong choice that he wants
a) Click the icon in the categories screen to remove
specific category
b) A confirmation message appears to delete this
category.
c) Press ok and remove this category
Edit_earn()
None
The new amounts for specific category
This class lets user be able to modify the amount of earn
for any category
This category is already available
The user can add or modify another category
The user may be enter wrong value type
a)
b)
c)
d)
The user chose a specific category ho modify it .
Click the icon to edit this category
Entered the new value
Press ok to save this modify
11
3.1.3 Setting tracker :
Name
Type
Node
Description
Attributes
Resources
Operation
3.1 Setting
Setting
Android Interface
App Server
This class show the report to the user , let the user able to chose the type of
period and View Help .
Mobile platform_Android OS
Name
View_report ()
Arguments:
None
Returns:
Description:
All information of spent,balance,earn and reminder
This class show the report to the user to show all
information about the categories in the specific period
The user has a real experience of already adding money
and expenses
Show all information
a) Click at (:) and chose setting then chose view
report.
b) Anew page is open and show all information .
c) Press ok to exit the page
Pre-condition
Post-condition
Flow of Events:
11
Name
Arguments:
Returns:
Description:
Pre-condition
Post-condition
Exceptions
Flow of Events:
Name
Arguments:
Returns:
Description:
Pre-condition
Post-condition
Exceptions
Flow of Events:
Chose_period()
None
The type of period
This class lets user to choose the period that he need to use
it
Log in
Log out
a)
b)
c)
d)
Click at (:) and chose setting then chose period.
A new page is open and show type of periods.
The user choose the type that he want.
Press ok to exit the page
Help()
None
New page
This class view help
Log in the app
Log out
a) Click at (:) and chose setting then chose help.
b) A new page is open and show help.
c) Press ok to exit the page
12
4.0 Data structure :
4.1 money manager
4.1.1 User table :
Field
Type
User ID
integer
Categories ID
Integer
Balance
Integer
User name
Text
password
Integer
4.1.2 category table :
Description
Primary key
Identifiers of the categories
The amount of paycheck
The name of the user
The password for the user
Field
Type
Description
Categories ID
User ID
Category name
integer
Integer
Text
Category icon
Text
Amount of earn
integer
Primary key
foreign
The names of the category in which the
user distributed the salary
The icons of the category in which the
user distributed the salary
The amount specified for this category is
allowed to be spent
4.1.3 spent table :
Field
Type
Description
Category ID
Amount of spent
integer
integer
percentage
integer
foreign
The amount spent from the specified
amount of this category
The percentage of the amount spent from
the specified amount of this categroy
4.2 Setting :
4.2.1 time table :
Field
Type
Description
User ID
Type of period
Date
integer
integer
integer
foreign
The type of mode
The date of spent & earn
13
0.5 User Interface Design :
In the (Money Manager) App When the user opens the program for the
first time an interface will appear to enter the user name and password
and then show him the main interface of the application.
when he presses the plus button he can add the value of the total
balance that he wants to enter.
When he presses the minus button, he selects the specific category and
enters the amount of expenses.
When you click on the category icon, a list of the actual categories will
appears.
User can modify the amount of expenses or delete the category entirely.
also in this list we have an option that allow the user to add a new
category with selected icon the user can choose it and enter the earn
value of this category.
When he add a new category it will appear in the main screen .
Every category appear at the main screen with its percentage (the
expenses from the total earn of it).
in the main screen we have a circle , inside this circle the total spend
will write .
The pressing on the three vertical dotes will show the setting list, in that
list the user can requests a report of all the details (total balance ,total
expenses, all categories and its spends ) .
Also in the setting list the user can select the mode of the period that
needed to spend the money on it ,the period mode can be a month or a
semester.
Another option here is the help option it allow the user to ask for help
or more details.
14
6.0 Help System Design
 There is only a minimal Help System for this project.
 The setting will have a Help choice that will contain the following
information:
1.An overview of the applications functionalities extracted from
the SRS.
2.A list of error messages and details on why they were generated.
3.The Help System will contain instructions on how the user can
bypass the user interface and access the database directly and
how to use this app.
15
8.0. Use Case Realizations :
1. login the app :
2. Add balance :
16
3. Add category
4. Add spent amount :
17
5. Show category informatin :
6. Edit earn
18
7.Remove category
8.View report :
19
9. Select period
10. help :
21
Download