Beruflich Dokumente
Kultur Dokumente
Design
Y52.3530.FA09
Prof. Sam Sultan
Term Paper
Submitted by:
Sudipendra N Pal
Gary Carter
Jason Durham
Project Overview 5
Deliverables 9
Project Management 10
Project Estimates 12
Estimated Costs 13
Feasibility Analysis 13
Use Cases 16
Sequence Diagrams 23
The legacy MARS A/R application of company XYZ will be migrated off of the
Mainframe system and onto a UNIX platform. This is the strategic production
platform at company XYZ. This task has been assigned to IT Analysts Sudip,
Jason and Gary of company XYZ. We are proposing a 3-tier application
system architecture. The proposal is to have a Java web client frontend
interfacing with a Java Enterprise server as the middle tier and an ORACLE
database server as the backend server. The new A/R application will be
called DARES – Distributed Account Receivable System – and will be
designed using Object Oriented techniques without regard to the underlying
physical platform. The various components of the system will be designed as
Business Objects.
Page 3 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Since O/S support will no longer be available for the Mainframe system, on
which MARS application runs, this application must be migrated to another
platform. The proposed platform is a distributed UNIX environment. The
UNIX platform was chosen as the strategic production platform sometime ago
by company XYZ.
The management of the MARS A/R application would like the new A/R system
to have all functionality and key features of the current MARS A/R
application. The new system must be able to interface with the billing
systems, BILLS and INVS, and also the BANK and G/L systems. In addition,
the new proposed system should have a user-friendly interface preferably
using a thin client and scalable in terms of features and report generation.
Page 4 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
1. Project Overview
1.1 Introduction
The CRM system is an interface into 2 billing systems, BILLS and INVS,
supplying data to these systems. The MARS system also receives invoices
(with details) from 2 separate billing applications, BILLS and INVS.
Additionally, this accounts receivable system receives customer payments
from 6 banks where customers mail their payment checks. Payments from
the banks are automatically assigned to the customer account.
Page 5 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Overview
XYZ Inc. needs to replace its’ existing accounts receivable application that
runs a mainframe with an application that runs on a UNIX platform. The
accounts receivable system on the UNIX platform will provide the same
functionality as the Mainframe A/R system. The new A/R system will be
developed in-house at XYZ Inc.
Revenue Billing
Customer billing is processed at XYZ through the BILLS and INVS billing
applications. These billing applications also receive customer information
(name, address, etc) from a sales contact application, CRM. BILLS’ is used to
bill landline customers whereas INVS bills wireless customers. The BILLS’ and
INVS applications interface with the MARS A/R application and transfer all
invoices to MARS at the end of every month. These invoices are reconciled by
the MARS application administrator.
Payments Received
Customers send payments for invoices to 6 banks located through out the
U.S. The Banks automatically deposit these payments into XYZ’s bank
accounts. The banks then send an interface of the deposit information with
the customer check routing number to XYX’s MARS A/R system. Based on a
predefined routing mapping table, payments from the banks are
automatically identified to the customer A/R account. The MARS system
records the transaction into an internal database.
Payment Application
The revenue analyst at XYZ Inc., using supporting documentation sent by the
customer, applies received payment(s) against one or more outstanding
invoice(s) on the customer A/R account. This is the main function of the
MARS application. Application of payment(s) to invoice(s) is performed on an
invoice to invoice basis and not on total customer A/R balance. The MARS
application provides full online functionality to the analyst. It allows the
analyst to credit customer accounts, and investigate discrepancies
(over/under payments). The analyst is also able to use MARS to correct
erroneous invoices, split and consolidate invoices, enable write-offs, classify
invoices etc. These functions have been developed and tailored to facilitate
the task of payment application and reconciliation.
Page 6 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
The MARS system needs to keep transaction details to allow Revenue and
Credit Operations (RCO) analysts to respond to customer inquiries such as
“what invoices did you apply check # 1234 to?”. MARS application interfaces
with the general ledger. Customer account balances are rolled forward
monthly and reconciliation is performed between MARS Aged Trial Balance
Reports and the General Ledger to verify accuracy of accounts receivable
balances. The MARS system performs a daily system level self test. This
ensures the integrity of all system level and customer level account balances.
Interest Calculation
Application Security
The DARES project would offer the Revenue and Credit Operations the same
functionality currently available in the MARS A/R application, MARS
Miscellaneous and NEWS applications. DARES should be built in compliance
with the current technical standards of the XYZ Information Technology
department.
Project Goals:
1. Re-engineer the MARS A/R application from the Mainframe to the UNIX
platform. XYZ looses support for the Mainframe O/S at the end of the
year.
2. Get off the Mainframe at the end of year 2010.
3. Develop the DARES application in-house
4. Build a complete replacement system using current state technology.
The architecture will be 3-tier using a backend ORACLE database, a
middle tier WEB application and a Web client as the front-end running
on a PC platform.
5. The project life cycle will be in compliance with XYZ SDLC
6. Take advantage of synergies with other RCO applications (e.g. BILLS)
on the new platform.
Page 7 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Project Scope:
Includes:
Impact:
• New DARES A/R application will allow XYZ to completely migrate away
from the mainframe at a cost savings of $400,000 annually.
Page 8 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
1.5 Complexities
2. Deliverables
A. CRM module
- Users are the CRM interface.
- This module interfaces with the CRM application to receive
and store customer information (name, addresses, etc).
- All “in scope” features present in the legacy MARS CRM
module will be included in this new module.
B. BILLS module
- Users are BILLS interface.
- This module interfaces with the BILLS application to receive
invoice details of land line customers.
- Contact Management extensions will be added to support
additional attributes.
C. INVS module
- Users are the INVS interface.
- This module interfaces with the INVS application to receive
invoice details of cell phone customers.
D. BANK module
Page 9 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
3. Project Management
Comparative Analysis
A project team was organized to perform a buy vs. build analysis for the
DARES A/R application. The team consisted Jim Woo, Director of Finance at
XYZ, Sudip Pal and Jason Durham, two senior IT analysts at XYZ. After
meeting with leading application vendors, it was determined that an off the
shelf solution could not meet the requirements of the DARES application. It
was decided to develop the application in-house.
Project Team
Page 10 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 11 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
4. Project Estimates
Key Project milestones relative to project start are as follows:
Page 12 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Software Environment
Software Product/Release Comments
Operating System Red Hat Linux 5.2 snowbird
Database Oracle 10g thor (Solaris 10)
Application Software Java JDK 1.5.0_17
Application Server WebLogic 11g
Development Env. IntelliJ, Apache ANT
Modeling Rational Rose 2003
Page 13 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
The middle tier Web server will run on a LINUX server (snowbird). The
database will run on a Solaris 10 server (thor). The client will be delivered to
the user’s desktop via Java WebStart.
7. Estimated Costs
Labor
8. Feasibility Analysis
Assumptions:
Page 14 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 15 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Company XYZ
Project: DARES
Page 16 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Break-even Analysis
Year 1 Year 2 Year 3 Year 4 Year 5 Year 7 Year 8 Year 9 Year 10 Year 11 Year 12
Annual PV Benefits 0.00 0.00 345,535.04 329,080.99 313,410.47 284,272.53 270,735.74 257,843.57 245,565.30 233,871.72 222,734.97
Cumulative Benefits 0.00 0.00 345,535.04 674,616.03 988,026.50 1,570,785.19 1,841,520.93 2,099,364.50 2,344,929.80 2,578,801.51 2,801,536.48
Annual PV Costs 1,066,666.67 1,015,873.02 17,276.75 16,454.05 15,670.52 14,213.63 13,536.79 12,892.18 12,278.27 11,693.59 11,136.75
Cumulative Costs 1,066,666.67 2,082,539.68 2,099,816.43 2,116,270.48 2,131,941.01 2,161,078.94 2,174,615.73 2,187,507.91 2,199,786.17 2,211,479.76 2,222,616.51
(1,066,666.67 (1,015,873.02
Annual PV Cash Flow ) ) 328,258.29 312,626.94 297,739.94 270,058.91 257,198.96 244,951.39 233,287.04 222,178.13 211,598.22
Cumulative NPV Cash (2,082,539.68 (1,441,654.45 (1,143,914.51
Flow ) (1,754,281.40) ) ) (590,293.76) (333,094.80) (88,143.41) 145,143.63 367,321.76 578,919.98
Break-even in year
10 0.378 -> which part of the year
Break-even in : 9.38 years
Page 17 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Use Cases
The Use Case Diagram shows user interaction with the proposed system.
b. BILLS System
c. INVS System
2. Customers
3. Banks
4. Users
The various use cases along with their description is shown in the following
pages.
Page 18 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
DARES System
Makes Payment
Customer «extends»
Bank
Receive/Validate
Customer Checks
Receive Customer
Info <<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Check Outstanding
<<include>>
Invoices
User
Update Invoice
INVS
Payment Status
<<include>>
Record Transaction
Details
Page 19 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 20 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 21 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 22 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Stakeholders: User
Precondition: Payment applied against Invoice and Invoice updated
Trigger: User responding to customer inquiry
Success Guarantee: Informing customer(s) about the current balance on
their account with details of invoices paid and
outstanding
Main Scenario: 1. Customer enquires about Invoice payment/
Customer Balance.
2. Invokes “Assign payment to Customer Account”
use case to find out about Customer Account
balance/status
3. Invokes “Update Invoice” use case to find out
about invoice details and any paid/outstanding
invoices
4. Saves transaction details in database tables for
management reports and archives for future use.
5. User can generate customer statements, create
aging reports and charge interests against
outstanding invoices.
Extensions: None.
Page 23 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 24 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Sequence diagrams
The following sequence diagrams are for the use cases “Apply Checks” and
“Receive/Validate Customer Checks”. They depict the interaction among
objects in chronological order and capture the operations that must be
added to the classes in the class diagrams.
:User :ApplyChecks :ChkControl :User :Customer Payment :Invoice Details :Outstanding Invoice :Record Transaction
//request login ()
//verify login ()
//Update invoice ()
//record transaction ()
Page 25 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Boundry Class Controller Class Boundry Class Entiry Class Entiry Class
//sendChecks()
//receiveChecks()
//getCustomerInfo()
//assignPayment()
//updateCustomerAccount()
//recordTransaction()
Page 26 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Page 27 of 28
Y52.3530: OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN
Router
Load Balancer
Firewall
Internet
BUSINESS LAYER DATA LAYER
PRESENTATION LAYER
RDBMS
Database
Application Server
User Cached
content Proxy J
EJB
Web Browser Servers D
(Enterprise Java Database Servers
B
Beans)
X/HTML C
CSS HTTP
Java-scripts Requests/
Java Applet Response
J
Web Server EJB D
(Enterprise Java B
[JSP] Beans) C
CMS
Database
[Servlets]
FTP
Requests
FTP Server