Software Requirement Specification

Download Report

Transcript Software Requirement Specification

Software Description
Specification
Group 6
Tony Meteiver, Kyle Hertel, Andrei Vajiac
Introduction

Upon completion of this project, a user-friendly,
interactive mortgage system will have been
implemented to manage the lending accounts for
the people who apply for one through the Martha
Stockton Greengage Foundation. This foundation,
instated upon Martha Stockton Greengage’s
death, was left one billion dollars with the intent
of assisting young married couples who were
looking to buy their first home. The software
itself will be comprised of two parts; both a
client-side and lender-side interface will be
available to view and modify accounts,
respectively.
General Purpose

In essence, the final implementation must
not only be able to efficiently manage
many client accounts and provide an
interface to each client through which
they can access their own account
information, but also provide an interface
for the lenders themselves to be able to
access and modify any account in the
database.
General Purpose






The proposed system has two primary
functions:
Varying tiers of user access:
Client access – allows the user to view their
personal account
Lender access – allows the user to
view/modify all accounts
Admin access – allows the user to
add/remove Lender accounts
These tiers of access are hierarchical,
meaning that each level can perform the
tasks of the levels below it.
Scope


Account Management:
This part of the system will be implemented
to manage all of the different mortgage
accounts for the clients. It will need to be a
database that has the ability to access, store,
and modify its contents quickly and
efficiently. The Account Management will
have to work hand-in-hand with the different
tiers of user access to change what is
viewable by the client, the lender, and finally
the admin.
Scope
Data Description


ConnectionA connection through means yet to be
determined will be required to access the
database or to begin the application process.


AccessGives users of sufficient clearance the ability to
view users profiles. Different levels of clearance
will allow for different functionality including
query searches, manual account closings, and
individual user account status lookup.


SessionThis gives the user the options they have.
And in turn bars the user from making
changes that are beyond their clearance.


UserThis data object is a key feature as it will
determine per individual account what
clearances any given user has at any given
time. This will also hold all user functions.


UserClearenceOneInherits User. Lowest level of clearance can only view the
individual profile that the account name is associated with.


UserClearenceTwoinherits User. Standard level of clearance generally should
be issued to employees of the foundation. Will allow
account name to view any profile however has limited
ability to edit information.


UserClearanceThreeInherits User. Top level of clearance, generally given
to top level administrators. With this variation of account
name the user may change all variables of any given
profile.
Architecture Design







3.1 Architecture Overview
This software system will use the normal internet application with
3-tierd architecture. All system data will be stored on a system
database, (this is the database layer). We will use an application
layer to run all the system functionality. The access layer is run
from any remote terminal capable.
3.2 Database Layer
Within the database layer, we will have a MYSQL database, which
could be handled locally or remotely. Limiting factor being the
type of network the system is run from. The only way to get
access to the database is by going through the apache server
within the application layer.


3.3 Application Layer
The software functionality and operations will be handled though a php5
capable Apache web server. Depending on system network and security
settings, the web server can being ran remotely or locally. Since this
application layer is completely independent from the database layer, they do
not have to be run from the same sever, but can be.


3.4 Access Layer
To access this system, one must have a network capable computer with a
connection to the internet via a web browser. This system is compatible with
Windows, Linux and Mac machines. The access can go two ways, depending on
what the user wants. They can either have it setup on their own network so it
can only be accessed by computers on that network, or they can have it as a
fully web capable web application. In our case, we will use the ladder of the
two because of the security that has been implemented in the design with the
user name and password.
3.5 Architecture Diagram
4.0 Detail Design
















4.1 Class Member Functions and Details
4.1.1 Connection
• private host
o variable that stores the host name of the database
• private user
o variable that stores the database username
• private password
o variable that stores the database password
• function Connection()
o CONSTRUNCTOR: parameters passed in order to store
necessary
values to connect to the desired db with username and
password.
• public function Connect()
o Establishes a connection with the database.
• public function Close()
o Closes the database connection.
4.1.2 Access
• private tablename
o variable that stores the table name ; may well be dropped shortly
• private conn
o variable that stores the active connection to db from connection
class
• private num_record
o variable that stores the number of records affected by any query
• function Access(tablename)
o CONSTUCTOR: initiates the table name and this class's connection
• public function Result()
o gets the result set created by any query
• public function Error()
o gets the any error that occurs during any query execution
• public function search(key: string)
o runs any query that is passed to it and stores the result in the
result
set and the number of row affected as well. True if successful
execution of query False otherwise.
4.1.3 Session
• function Session()
o CONSTRUCTOR: Initiates a session.
• public function session_clearance()
o Gets the username from sessiont
• public function SessionID()
o gets user type from sessiont
• public function getSessionDetail()
o gets user id from sessiont
• public function getSessionAction()
o gets current action from sessiont
• public function setSessoinDetail($uid,$utype,$uname)
o sets necessary variables to establish a session
• public function time()
o checks up time
4.1.4 User
• protected username
o variable that stores the user name of the current logged in user
• protected clearance
o variable that stores the user type of the current logged in user
• protected userid
o variable that stores the user id of the current logged in user
• protected balance_remaining ()
o gets remaining balance
• protected balance_paid()
o gets balance paid
• protected sortby_last_payment
o sorts by last payment
• protected sortby_uid
o sorts by uid
(continued on next slid
• protected sortby_balance_remaining ()
o sorts by remaining balance
• public function Login()
o controls login functionality; if the login is not successful it sets an
error flag to true. If login is successful it sets the loggedin flag to true.
• public function Update()
o gets the posted form and makes the query and send it to the
appropriate function in the dataaccess class.
• public function getUesrType()
o gets the user type, or the staff level
• public function drawLogin()
o draws the GUI of form for system login
• public function Logout()
o logs the user out and destroys all session data
• protected confirmpayment
o confirms payment
• protected confirmorDeny
o confirms or Denies an app
• protected lookupuid
o looks up uid
4.1.5 UserClearenceOne
• function UserClearenceOne ()
o CONSTRUCTOR: Class constructor.
• protected ViewmyRecords
o view only their records
• protected apply
o application process
4.1.6 UserClearenceTwo
• function UserClearenceTwo ()
o CONSTRUCTOR: Class constructor.
• protected ViewanyRecords
o view any records
• protected appstatus
o application status
• protected editcontactany
o change contact info
4.1.7 UserClearenceThree
• function UserClearenceTwo ()
o CONSTRUCTOR: Class constructor.
• protected ViewanyRecords
o view any records
• protected appstatus
o application status
• protected editanyvariable
o edit any variable
5.0 Database Design
5.1 Entity Relationship Diagram
6.0 Software Interface Description
6.1 External Machine Interfaces
This program assumes the user has access to a web browser on a
computer with an internet or intranet connection.
6.2 External System Interfaces
The system will require access to an address repository to check
the validity of the addresses in the database. Also, a connection to
a credit checking program should be used to help determine how
much money should be approved for a specific client. These
functionalities are not currently included in the software, and may
be implemented later.
6.3 Human Interface
The user will input their information into a login interface, and will
be connected to their user account. From there, they can
access/modify their own personal and contact information, view
their loan information (if applicable), view their loan information,
and modify other accounts as allowed by their Admin/Superuser
status.