Transcript Document

Modesto Bank Project
Systems Analysis & Design
By: Brandon Miller, Wenjie Li,
Jae-Eun (Jane) Russell, &
Subathra Aravamudhan
A little bit about us
•
•
•
•
Brandon
Wenjie
Jane
Subathra
Project Background
• We were to imagine that we were
experienced consultants asked to
develop a banking system
• Professor Burer acted as the “client”
• Project began on 2/4/03
Project Background: Time Table
• Divided into 4 milestones (stages):
• Milestone 1: Plan
 Due 2/18/03
• Milestone 2: Analyze
 Due 3/11/03
• Milestone 3: Design
 Due 4/15/03
• Milestone 4: Implement
 Due 5/8/03
Milestone 1: Requirements
• Completed in 17.5 hours
•
•
•
•
•
•
•
Create a System Request
Draw up an Executive Summary
Design a Work Plan
Create Project Charter
Create a Risk Analysis
Prepare Economic Feasibility Analysis
Design an Internal Project Website
Milestone 1: System Request
•
•
Page 5 of Project Documentation
Sections
•
•
•
•
Business Need
Functionality & Scope
Expected Value
Special Issues & Constraints
System Request: Business Need
To increase efficiency and customer service through
the development of a user-friendly, web-based
banking information system, which will:
• Allow for maintenance of a centralized database
for the managers of Modesto Bank
• Function through an interactive user-friendly
website with entry, update, add, and delete options
• Deliver the most recent product information to all
managers and officers of Modesto Bank via the
internet
System Request: Functionality &
Scope
The system (website & database) will have the following functionalities:
• Equipped to handle four different types of products, namely:
•
•
•
•
•
•
•
•
Money market products.
Credit card products.
Mortgage products.
Certificate of deposit products.
Enabled to allow the bank managers to make changes in the products.
Permits multiple users to be able to access the database at any given
time
Secured website interface that will allow easy navigation of various
parts of the site after confirming the login ID and password.
Update/add/delete functionalities to edit the fields in the database to
allow for the most recent information about the products.
System Request: Expected Value
Tangible:
• Increased customer service by being able to provide the customer
with the most up-to-date information. Rates will be updated in the
timeliest fashion.
• Reduction of paper by not having to print and distribute weekly
product rate specification sheets
Intangible:
• Recognition of Modesto Bank as a forerunner for incorporating
information technology in their central database.
• Increased work efficiency among managers and other top officials
• Less possibility for distortion of product information among the
various branches of the bank and the central bank.
Executive Summary
• Page 7 of the Project Documentation
• Mission Statement:
• The mission of this project is to provide the
highest quality of information and support in
promoting sensitive information transfer among
the various managers through the internet of
the Modesto Bank.
Executive Summary Goals
Login and security standards
• A login and password prompt would be
built in the “To be” system to help ensure
the security of the site
• Only certain managers are allowed to
update the fields
• If time permits, the team will use cookies
for session security
Executive Summary Goals
Table Standards:
• All the tables would be normalized up to
the third normal form
• All the products have fields that can be
updated by some of the senior managers of
the bank. Products may also be added.
• The tables do not give permission for any
fields in the various products to be deleted
Executive Summary Goals
Website Standards:
• A easily navigable and user-friendly
website would be developed
• The site would be empowered to carry on
the querying and reporting capabilities.
• The site would be enabled to grow with the
company’s expansion.
Work Plan
Page 9 of Project Documentation
Project Charter
• Page 10 & 11 of Project Documentation
• Describes the project’s rules and guidelines
that all team members should comply with.
• Purpose is to coordinate group members;
match team members’ skills with the
project need; and minimize conflicts,
misunderstanding, and problems between
members as the project progresses.
Project Charter
Project Manager
Brandon Miller
Official Team Secretary
Aravamudhan Subathra
Business Analyst
Brandon Miller
System Analyst
Jane Russell
Wenjie Li
Aravamudhan Subathra
Wenjie Li
Web Site Coordinator
Jane Russell
Brandon Miller
Formal Liaison with Client
Aravamudhan Subathra
Project Charter
Role
Description
Assigned To
Project Manager
Oversees the project and ensures
that it meets its objective in time,
function, and cost according to the
project plan
Brandon Miller
Business Analyst
Ensures the system will provide the
business with value and meet the
business’s requirements
Brandon Miller, Wenjie Li,
Aravamudhan Subathra
System Analyst
Design the information system and
ensure the system conforms to
information systems standards
Wenjie Li, Jane Russell
Web Site Coordinator
Design the project website
Brandon Miller,
Jane Russell
Formal Liaison with
Client
Communicate and negotiate with the
client
Aravamudhan Subathra
Official Team Secretary
Create team meeting agenda and
coordinates the team members
Aravamudhan Subathra
Risk Analysis
• Pages 12 – 14 in Documentation
• Risk Analysis reveals important
problems that may naturally occur
during the course of the project.
• Risk management involves risk
identification, impact analysis, risk
monitoring, and control.
Risk Analysis
Identified Risks (descending order of severity ):
•
Schedule conflict among project members
•
Incorrect initial project effort estimate
•
Shortfalls in externally furnished Data (data
given by the bank)
•
Continuing stream of requirement changes
•
Personnel Shortfalls
•
Developing the wrong functions and properties
•
Poor system maintainability.
Economic Feasibility Analysis
Economic Feasibility Analysis
2003
2004
2005
Benefits:
Improved Customer Service
Reduction of Paper
Total Benefits
$8,000
$60
$8,060
Development Costs:
Development Labor
Training
Total Development Costs
$8,150
$800
$8,950
$0
$0
$0
$300
$21
$1,000
$1,321
$10,271
-$2,211
$300
$21
$1,200
$1,521
$1,521
$6,939
Operational Costs:
Remote Hosting
Domain Name Registration
Database/Site Maintenance
Total Operational Costs
Total Costs:
Total
2006
2007
Total
$9,261
$60
$9,321
$9,724
$60
$9,784
$44,205
$300
$44,505
$0
$0
$0
$0
$0
$0
$0
$0
$0
$8,150
$800
$8,950
$300
$21
$1,440
$1,761
$1,761
$7,119
$300
$21
$1,728
$2,049
$2,049
$7,272
$300
$21
$2,074
$2,395
$2,395
$7,389
$1,500
$105
$7,442
$9,047
$17,997
$26,508
$8,400 $8,820
$60
$60
$8,460 $8,880
Present Value of Total assumming 6% annual interest:
Return on Investment
$19,653
147.30%
*Total costs for year 1 may be subject to additional travel expenditures we incur, but total
travel expenditures shall not exceed 8% of total cost.
Internal Project Website
• Used to track progress of
development
• Maintains listing of
communications with the client
• Click link to go to it
Milestone 2: Requirements
• Completed in 15 hours
• Interview the client (Sam)
• Create a Requirements Specification
• Prepare the ERD in Visio
Client Interview
• Took place on Tuesday, March 4th
• Top-down Questioning
• Gained an understanding of the to-be
system
• All members present
Interview yields Old Process Model
Page 18 of
Documentation
Management
Weekly Meeting
Update/Delete/Add
Banking Product
Document
Preperation after
Meeting
Credit Card
Accounts
CD Accounts
Money Market
Accounts
Officers/Employees
Home Mortgages
Interview yields New Process Model
Page 19 of
Documentation
Management
Weekly Meeting
Update/Delete/Add
Banking Product
Bank Products
Database
Workstation
Workstation
Officers/Employees
Requirements Specification
• Page 16 of Project Documentation
• Salient Features of the New System:
• The system will satisfy the increased need for high speed &
efficient information transfer among the different branches of
the Modesto Bank
• The system will be enabled to allow multiple people to view
different fields of the products at the same time.
• Even though the system will allow multiple users, only a few
of the senior managers will be given higher privileges like
updating and adding data in the fields.
• Any change in the database will immediately be reflected on
the website.
• Easy navigation throughout the site to different products
offered by the bank.
Original ERD
Users
username
CHAR(10)
password
fname
lname
department (O)
position (O)
Rights_ID (FK)
CHAR(10)
CHAR(10)
CHAR(10)
CHAR(10)
CHAR(10)
CHAR(10)
AccessRights
Rights_ID
INTEGER
add
update
view
BIT
BIT
BIT
has
CreditCard
CD
ProductID (FK)
LONG
CD_Type
CD_Min_Deposit
CD_Amount_>$100,000
CD_Term_years
CD_Interest
CD_Compound_Freq_days
CD_Offering
CD_Expiration
CHAR(50)
CURRENCY
BIT
DOUBLE
DOUBLE
INTEGER
DATETIME
DATETIME
ProductID (FK)
LONG
CC_Type
CC_APR
CC_Max_Credit_Limit (O)
CC_Eligible_For_Reward (O)
CC_Offering
CC_Expiration
CHAR(50)
DOUBLE
CURRENCY
BIT
DATETIME
DATETIME
has
has
Product
has
ProductID
LONG
ProductName
CHAR(50)
has
MoneyMarket
ProductID (FK)
LONG
MM_Min_Bal_Range
MM_Max_Bal_Range
MM_Interest
MM_Compound_Freq_days
MM_Min_Open_Deposit (O)
MM_Offering
MM_Expiration
CURRENCY
CURRENCY
DOUBLE
INTEGER
CURRENCY
DATETIME
DATETIME
Mortgage
ProductID (FK)
LONG
MG_Fixed
MG_Interest
MG_Duration_years
MG_Discount_Point_% (O)
MG_Origination_Fee_% (O)
MG_Min_Payment_% (O)
MG_Max_Loan_Amount (O)
MG_Offering
MG_Expiration
BIT
DOUBLE
SHORT
DOUBLE
DOUBLE
DOUBLE
CURRENCY
DATETIME
DATETIME
Revised ERD
Users
username
CHAR(10)
password
First_name
Last_name
department (O)
position (O)
Rights_ID (FK)
CHAR(10)
CHAR(10)
CHAR(10)
CHAR(10)
CHAR(10)
CHAR(10)
CD
AccessRights
Rights_ID
INTEGER
add
update
view
CHAR(10)
CHAR(10)
CHAR(10)
has
CreditCard
ProductID
COUNTER
ProductID
COUNTER
CD_Type
Minimum_Deposit
Above_100000
CD_Terms
APR
Compound_Day
Offering_Date
Expiration_Date
CHAR(50)
CURRENCY
CHAR(10)
DOUBLE
DOUBLE
INTEGER
DATETIME
DATETIME
Type
APR
Credit_Limit (O)
Reward_Eligible (O)
Offering_Date
Expiration_Date
CHAR(50)
DOUBLE
CURRENCY
CHAR(10)
DATETIME
DATETIME
Mortgage
MoneyMarket
ProductID
COUNTER
ProductID
COUNTER
Minimum_Balance
Maximum_Balance
APR
Compound_Day
Minimum_Deposit (O)
Offering_Date
Expiration_Date
CURRENCY
CURRENCY
DOUBLE
INTEGER
CURRENCY
DATETIME
DATETIME
Fixed_Mortgage
Apr
Duration
Point (O)
Origination_Fee (O)
Minimum_Payment (O)
Maximum_Amount (O)
Offering_Date
Expiration_Date
BIT
DOUBLE
SHORT
DOUBLE
DOUBLE
DOUBLE
CURRENCY
DATETIME
DATETIME
•Page 22 of
Documentation
•Product tables
unrelated
ERD: Example Table
The Credit Card Products will include the following fields that can be adjusted and
viewed by the managers of the Modesto Bank:
Product ID*- The field used to uniquely identify the products.
Type –The different types of credit cards offered by the bank, which include the Classic,
Student and Platinum cards.
APR- The annual percentage rate charged for balance on the cards.
Maximum Credit Limit- The maximum credit limit offered on the different products.
Eligible for Rewards Program (Boolean) - Expresses whether the card is eligible for the
rewards program.
Initial Offering – The date the product becomes available.
 Expiration Date – The date of expiration on the product card.
ERD: User Tables
The Access Rights table includes the following features:
Rights_ID*- The field used to uniquely identify the right.
Add – Right for adding data (It indicates with y/n)
Update – Right for updating data (It indicates with y/n).
View – right for viewing data (It indicates with y/n).
The Users table includes the following adjustable features:
Username*- The field used to uniquely identify the users.
Password – The field entered by each user
First_name – Users’ first name
Last_name – Users’ last name
Department – Users’ department
Position – Users’ position
Rights_ID – The field that is defined rights for each user.
Milestone 3: Requirements
• Completed in 32 hours
• Implement our ERD in MySQL
• Make Program Specifications
• Design an HTML Prototype
ERD Implementation
• Done using phpAdmin for MySQL
• See the interface by clicking
Program Specifications
Example
1. Insert a new mortgage product
SQL Command:
INSERT INTO `mortgage` ( `ProductID` ,
`MG_Fixed` , `MG_Duration` , `MG_Apr` ,
`MG_Point` , `MG_OriginationFee` ,
`MG_MinPayment` , `MG_MaxAmount` ,
`MG_Offering` , `MG_Expiration` ) VALUES ('',
'n', '5', '4.895', '0.00', '0.00', '5', '500000', '200304-01 00:00:00', '2005-04-01 00:00:00');
Program Specifications
Example
2. Update the expiration date of an
existing money market product.
SQL Command:
UPDATE moneymarket SET
MM_Expiration = "2006-04-01"
WHERE ProductID = "4"
HTML Prototype
Completed in about
16 hours
Sized to be printer-friendly
Milestone 4: Requirements
• Completed in 25 hours
• Program the site
• Test the site
The Final Product
• Lets go to the site 
Testing Documentation
•
•
Pages 32 - 47 of Documentation
Conducted:
1. Black box testing (testing against
requirements)
2. White box testing (testing of coding)
3. User interface testing
4. Use scenario testing
5. Security testing
Problems
• Having the database down for 6 days
during the implementation stage
• Learning curve for new technology –
none of us knew asp.Net; most hadn’t
used MySQL
• Formatting the update text boxes in
asp.Net
Where We Could Improve
• Allow more time for implementation
stage….or not have the database server go
down for 6 days 
• Add more documentation to the site so that
future programmers could read our code
• Consider using a less constraining design;
one that allows for wider tables.
Additional Functions that
Could be Added
1. Security.
In the current system, even if a user should login with an
appropriate username and password in order to get into the
bank intranet site, the site is not completely secure. For
instance, if a user copies and pastes the url of one of the
manager pages, she/he can go to the same page without login.
This problem should be prevented with using cookies or
session variables.
2. Data validation
In the current system there is data validation for numeric and
date fields for all adding pages, but not for the updating
pages. Data validation should be added throughout for all the
updating pages in case a user makes a mistake during the
updating process.
Additional Functions that
Could be Added
3. Page Index Function
If there is the page index function in the table view page, the
search from dropdown menu does not behave appropriately.
For instance, when a user views the all product and goes to
the second page, a user can not select any other options from
dropdown box. With this problem, the page index function
was removed from the current system.
4. Sort Function
For the column-by sort function, we had to select the exact
same table column names as the database. If we named the
column name differently for user friendly purpose, the
column-by sort does not function appropriately.
What We Learned
• Increased our cooperation &
communication skills
• Learned or at least advanced all of
our knowledge of asp.Net and MySQL
databases
• Increased project management & time
management skills
Any Questions or Comments?
Thanks for listening