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