CA400 Final Year Project - Online Brokerage – Functional Specification
1. INTRODUCTION................................................................................31.1 OVERVIEW........................................................................................................31.2 BUSINESS CONTEXT...........................................................................................41.3 GLOSSARY........................................................................................................5
2. GENERAL DESCRIPTION.....................................................................72.1 SHOP FRONT....................................................................................................7
2.1.1 Product / System Functions....................................................................72.1.2 User Characteristics and Objectives.......................................................82.1.3 Operational Scenarios............................................................................9
2.2 MANAGEMENT SYSTEM......................................................................................102.2.1 Shop Front Management System Product / System Functions..............102.2.2 Customer Management System Product / System Functions................112.2.3 User Characteristics and Objectives.....................................................122.2.4 Operational Scenarios..........................................................................13
2.4 GENERAL OBS CONSTRAINTS............................................................................143. FUNCTIONAL REQUIREMENTS..........................................................15
3.1 REQUIREMENTS SUMMARY.................................................................................153.2 USER INTERFACE REQUIREMENTS........................................................................163.2 SHOP FRONT REQUIREMENTS.............................................................................183.3 CUSTOMER MANAGEMENT SYSTEM REQUIREMENTS.................................................233.4 OTHER REQUIREMENTS.....................................................................................30
4. SYSTEM ARCHITECTURE..................................................................364.1 SYSTEM ARCHITECTURE DIAGRAM.......................................................................364.2 SYSTEM ARCHITECTURE DESCRIPTION..................................................................37
5. HIGH-LEVEL DESIGN........................................................................385.1 DESCRIPTION..................................................................................................385.2 HIGH LEVEL DESIGN OVERVIEW DIAGRAM............................................................405.3 DATA FLOW DIAGRAMS.....................................................................................415.4 EXTENDED ENTITY RELATIONSHIP MODEL.............................................................42
6. PRELIMINARY SCHEDULE.................................................................43APPENDIX A.......................................................................................44
LIST OF OPEN SOURCE SOFTWARE TO BE USED...........................................................44Appendix B...........................................................................................................46
- 2 -
CA400 Final Year Project - Online Brokerage – Functional Specification
1. Introduction1.1 OverviewThe Online Brokerage System (OBS) is departing from the paper based traditions of Dermot Martin Investment Brokers (DMIB) and launching the Brokerage firm into the e-commerce rich internet application (RIA) domain. OBS is composed of two distinct elements:
1. A world wide accessible Shop Front (SF) for Customers. 2. A DMIB analyst specific Management System (MS) focused on value
additive querying, administration of Customer data and SF accessible world wide.
The OBS will present DMIB’s various products to potential Customers through the SF, allowing them to browse, research and buy products.
The MS will allow DMIB analysts to query Customer records, Product statistics and more detailed reports, as well as, using the system to send mail-shots to selected Customers. The MS also allows management of Customer Contact Events (CCE), transactions and documents. The MS provides functionality for DMIB analysts to manage shop front content.
- 3 -
CA400 Final Year Project - Online Brokerage – Functional Specification
1.2 Business ContextThe Online Brokerage System
OBS has been commissioned by Dermot Martin Investment Brokers, based in North Strand, Dublin 3. DMIB is a service oriented business, specialising in providing brokerage services for a number of financial products.
DMIB’s core product base is made up of the following:
1. Mortgage Protection2. Personal Protection
3. Mortgage Loan
4. Pension
5. Lump Sum Investment
6. Savings Contract
The nature of a broker’s business is to provide assistance and/or advice to a Customer who is choosing a financial product. DMIB therefore provides the following services, which must be included, or highlighted in the OBS:
1. Quotations for products2. Calculations and projections
3. Pension Audits
4. Explanation of fund/deposit rates
5. Risk Profiling - how aggressive/cautious a Customer’s attitude to risk is
Through providing or highlighting the availability of these services on the OBS, Customer’s confidence in the business should be reinforced encouraging them to continue with a transaction.
As well as the above Customer-Facing functionality, the OBS will provide functionality to staff at DMIB.
- 4 -
CA400 Final Year Project - Online Brokerage – Functional Specification
The Customer Management System aspect of OBS will allow complex querying, management and editing of Customer and product data, emailing multiple Customers, and Customer Contact Logs and Document Archives.
DMIB is aiming to use OBS as a departure from its traditional face to face business methodology to drive business growth into a larger and younger market.
- 5 -
CA400 Final Year Project - Online Brokerage – Functional Specification
1.3 Glossary
Acegi – Open source security (see appendix for detailed description)
Analyst – a member of staff working for DMIB
CMS – Customer Management System – subset of MS
CCE – See Customer Contact Event
Customer – A Visitor who has registered on the SF or been created in the CMS
Customer Contact Event – A point in time when a Customer is contacted by a DMIB analyst (includes any type of contact e.g. face to face, fax, telephone, email)
DM – Dermot Martin
DMIB – Dermot Martin Investment Brokers
DOB – Date of Birth
E-Generation – Defined by DM as a young person who uses technology as their primary means of research on any topic
Flex – Framework for creating RIAs (See appendix for detailed description)
MS –Management System
OBS – Online Brokerage System
Person – Defined as the union of Analysts and Users
Product – Any insurance or investment vehicle being offered through the SF
RIA –Rich Internet Application
SF – Shop Front
SFMS – Shop Front Management System
- 6 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Task – The process of purchasing a product UI – User Interface
User – Defined as the union of Visitor and Customer
Visitor – Any person viewing the SF who is not a Customer
- 7 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2. General Description
2.1 Shop Front
2.1.1 Product / System FunctionsThe Shop Front (SF) sub section of OBS will provide a point of entry for existing and potential DMIB Customers to the business.
SF provides the following functionality:
Quotation GenerationA Customer can generate quotations for selected products by entering basic personal details (e.g. DOB). The system creates a quotation based on the input data combined with a feed from a specified provider and returns the result to the Customer.
Product PurchaseA Customer can purchase certain products (section 3 – other requirements) through the SF. This involves a sequence of steps which require Customer input on data entry forms. These entries will be validated by the system. As part of this process the OBS will where necessary forward emails to specified parties containing pertinent and required information.
Product ResearchA SF User can browse products, research products and refer any questions through a data entry form to a DMIB analyst.
Existing Customer PortalWhen a Customer logs into OBS they will be informed visually of outstanding and recently completed tasks.
- 8 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2.1.2 User Characteristics and Objectives
Users in the OBS domain are characterised as persons who commonly browse the internet. User knowledge of the application can range from zero to expert and therefore the SF provides, where possible, easily accessible information and functionality.
Dermot Martin has specified that the interface must be clear, simple and intuitive as well as having appeal for the “e-generation”.
Based on DMs objective for OBS we have devised the following characteristic requirements:
OBS must be easy to use to meet User Objectives OBS must have a minimal number of clicks for Users to carry out
their objectives
OBS must also address certain accessibility requirements for any person who is colour-blind. OBS must still be able to meet this person’s objective.
- 9 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2.1.3 Operational Scenarios
Figure 2.1 Shop Front Operational Scenarios
- 10 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2.2 Management System
The management system (MS) is an umbrella term for the Shop Front Management System (SFMS) and the Customer Management System (CMS). The MS is designed for use by authenticated DMIB analysts.
2.2.1 Shop Front Management System Product / System Functions
The Shop Front Management System (SFMS) operates in a sub section of the MS.
The primary functions of the SFMS are:1. Management of SF product information2. Product Reports
Management of SF Product InformationSFMS allows DMIB analysts to view, edit and save information stored on products which is displayed to any SF user.
Product ReportsSFMS allows DMIB analysts to generate and view reports on SF user activity (e.g. how many quotations for mortgage protection were generated in a defined period).
- 11 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2.2.2 Customer Management System Product / System Functions
The Customer Management System (CMS) operates in a sub section of the MS. The CMS encapsulates all specific Customer related procedures.
The primary functions of the CMS are:1. Management of Customer Records2. Reporting on Customer Records3. Management of Customer Contact Log4. Management of Customer Documents5. Filtering of Customer Record Sets6. Mail-shot
Management of Customer Records Customer persisted information may be viewed
Customer persisted information may be edited
Reporting on Customer Records Statistical Reports can be generated from Customer persisted
information
Management of Customer Contact Log CCE information may be viewed CCEs may be created CCEs may be amended
(CCE – Customer Contact Event)
Management of Customer Documents Persisted Customer documents may be retrieved Documents may be uploaded Documents may be tagged to a Customer Customer Documents may be deleted Deleted Customer documents may be restored
Filtering of Customer Record Sets Customer record sets may be filtered to display only a subset of
Customers based on arbitrary criteria (e.g. show only Customers over the age of 65) .
Mail-shots
- 12 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Mail-shots may be sent to all or selected Customers based on filter criteria
2.2.3 User Characteristics and Objectives
Analysts working with the OBS are experts in their field and will use OBS as their primary tool for Customer management. which will be their main objective. However, it is not expected for an analyst’s technical knowledge to be advanced in order to meet their objectives within OBS. Customer Management Objectives are completed through the CMS.
Analysts in the OBS have a secondary objective. This objective is to manage SF content through the MS – this Objective is completed through the SFMS.
For each of an analyst’s defined objectives(section 3) there will be a clear flow through the system to achieve that objective.
- 13 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2.2.4 Operational Scenarios
Figure 2.2 Customer Management System Operational Scenarios
- 14 -
CA400 Final Year Project - Online Brokerage – Functional Specification
2.4 General OBS ConstraintsThe development constraints of the OBS have been defined as follows:
Internet Connection: OBS is a hosted product and therefore requires an internet connection to be accessed.
Speed Requirements: Complex database queries can take some time, often leaving the user reluctant to repeat them: all reporting should be efficient, useful and informative.Web response times must be within an acceptable limit to allow a comfortable user experience.
Industry Protocols: Legal requirements such as the Data Protection Act and those regulated by the Financial Regulator must be adhered to:Data should only be kept where legal to do so, and all compliance practices must be followed.
Time Constraints: The system is being developed under a rigid timeframe not defined by the stakeholders; scope must therefore be limited to ensure successful delivery on time.
Security Constraints: All data stored by the system as well as transactions processed must be secure to an acceptable commercial standard.
Experience: As the system is being developed as a final year project, the developers have never before been involved in an exercise of such magnitude. The client, DMIB, has similarly never been involved in the conception of an IT system. Prototyping was selected as the optimal means for matching user requirements with delivered functionality.
- 15 -
CA400 Final Year Project - Online Brokerage – Functional Specification
3. Functional Requirements
3.1 Requirements SummaryUI User Interface (UI)01 Clear and Simple Appearance02 User Interface Appeal03 Minimise Clicks
SF Shop Front (SF)01 Users may browse site02 Visitors may register03 Customer May Log in04 Form Saving05 Form Populating06 Email Query07 Online Product Purchase08 Offline Product Process09 View/Edit Saved info10 Users may request information11 Customer Landing Page12 Validation
CM Customer Management (CM)01 Product Editing02 Customer Lookup 02.01 Customer Record Filter 02.02 Single Customer Record03 Product Reports04 Reporting05 Customer Detail Edit06 Customer Contact Log07 Customer Email 07.01 Customer Emails are Logged 07.02 Customer Emails are stored08 Document Management per Customer 08.01 Retrieve Documents in Doc Mgmt Sys 08.02 Add Documents to Doc Mgmt Sys
08.03 Delete/Restore Documents in Doc Mgmt Sys
09 Customer Mapping10 Create Customer11 Product Purchase12 Quotation Generation13 Charting14 Authentication
Other Requirements PROF01 OFFLINE PRODUCTS (PROF) 01.01 Lump Sum Investments 01.01A Risk Profiler 01.01B Fund Rate Indicator
- 16 -
CA400 Final Year Project - Online Brokerage – Functional Specification
01.01C Deposit Rates 01.02 Pensions 01.02A Pensions Audit 01.02B Pensions Calculator 01.03 Savings Contract 01.03A Risk Profiler
PRON01 ONLINE PRODUCTS (PRON) 01.01 Mortgage Protection 01.02 Personal Protection 01.03 Mortgage Loan 01.03A Mortgage Calculator 01.04 Vivas Health 01.05 Accident and Sickness Benefit
OR01 Quote Generation
3.2 User Interface Requirements
Req No. UI01 Req Name Clear and Simple Appearance
Stakeholders: Users & DMIB staff
Description: The application must be clear and simple to use
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. UI02 Req Name User Interface Appeal
Stakeholders: Users
Description: DMIB requires the UI to have a “young person” look and feel
Criticality: EssentialTechnical Issues:Dependencies:
- 17 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Comments:
Req No. UI03 Req Name Minimise Clicks
Stakeholders: Users
Description: The number of clicks in the application for completing a process should
be minimised where possible.
Criticality: EssentialTechnical Issues:Dependencies:Comments:
- 18 -
CA400 Final Year Project - Online Brokerage – Functional Specification
3.2 Shop Front Requirements
Req No. SF01 Req Name Users may browse site
Stakeholders: User
Description: Users may browse the site
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. SF02 Req Name Visitors may register
Stakeholders: Visitor/Customer
Description: Unregistered visitors may register
Criticality: EssentialTechnical Issues:Dependencies:Comments: This function has been added to enable a Customer to
save and retrieve re-useable details. This function allows CMS to query and retrieve pertinent Customer & potential Customer information.
- 19 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. SF03 Req Name Customer may log in
Stakeholders: Visitor/Customer
Description: Registered users can log in. [Visitor becomes Customer]
Criticality: EssentialTechnical Issues:Dependencies:
SF01, SF02
Comments:
Req No. SF04 Req Name Form Saving
Stakeholders: Visitor/Customer
Description: Any entries to forms entered by Customers can be saved. Visitors' form
entries are saved for the duration of a visit, if they go on to register their
entries will be saved
Criticality: DesirableTechnical Issues:Dependencies:
SF01, SF02
Comments:
Req No. SF05 Req Name Form Populating
Stakeholders: Customer
Description: Any saved relevant form entries may be automatically retrieved and
populated
Criticality: Non-essentialTechnical Issues:Dependencies:
SF02
Comments: This is a convenience feature, allowing Customers to save time by having any stored form entries auto-populated into similar forms
- 20 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. SF06 Req Name Email Query
Stakeholders: Visitor/Customer
Description: Users may send querires to a DMIB analyst through SF
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. SF07 Req Name Online Product Purchase
Stakeholders: Visitor/Customer
Description: Visitors/Customers may read through details of Online products and
purchase them. Visitors must register to complete this.
Criticality: EssentialTechnical Issues:Dependencies:
SF02
Comments:
Req No. SF08 Req Name Offline Product Process
Stakeholders: Customer
Description: Visitors/Customers may read through details of Offline products and
refer information to DMIB
Criticality: EssentialTechnical Issues:Dependencies:Comments:
- 21 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. SF09 Req Name View/Edit Saved Info
Stakeholders: Customer
Description: Customers may view (and edit some) information previously stored on
the system, particularly saved form entries
Criticality: DesirableTechnical Issues:Dependencies:Comments:
Req No. SF10 Req Name Users may request information
Stakeholders: Visitor/Customer
Description: Any Shop Front user may request further information on products
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. SF11 Req Name Customer Landing Page
Stakeholders: Customer
Description: After a Customer logs in they will be directed to a landing page where
outstanding and completed product applications will be available.
Criticality: DesirableTechnical Issues:Dependencies:
- 22 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Comments:
Req No. SF12 Req Name Validation
Stakeholders: Staff
Description: Any information entered into forms is carefully validated; this minimises
on errors and saves time for staff.
Criticality: DesirableTechnical Issues:Dependencies:Comments:
- 23 -
CA400 Final Year Project - Online Brokerage – Functional Specification
3.3 Customer Management System Requirements
Req No. CM01 Req Name Product editing
Stakeholders: StaffDescription: Staff may add and edit products through a GUI
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. CM02 Req Name Customer Lookup
Stakeholders: Staff
Description: Staff may retrieve Customer records
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. CM02.01 Req Name Customer Record Filter
Stakeholders: Staff
Description: Staff may filter Customer records by predefined criteria
Criticality: EssentialTechnical Issues:Dependencies:Comments:
- 24 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. CM02.02 Req Name Single Customer Record
Stakeholders: Staff
Description: Staff may retrieve, view and edit detailed Customer information
Criticality: EssentialTechnical Issues:Dependencies:
CM02
Comments:
Req No. CM03 Req Name Product Reports
Stakeholders: Staff
Description: Staff may view reports of Product Statistics
Criticality: Non-EssentialTechnical Issues:Dependencies:Comments:
Req No. CM04 Req Name Reporting
Stakeholders: StaffDescription: Staff may view customised reports
Criticality:Technical Issues:Dependencies:Comments:
- 25 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. CM05 Req Name Customer Detail Edit
Stakeholders: Staff
Description: Staff may edit Customer data
Criticality: EssentialTechnical Issues:Dependencies:Comments:
Req No. CM06 Req Name Customer Contact Log
Stakeholders: Staff
Description: Staff may view and update a Customer contact log
Criticality: DesirableTechnical Issues:Dependencies:Comments:
Req No. CM07 Req Name Customer Email
Stakeholders: Staff
Description: One or many Customers may be selected from CM02 and sent emails
from within CMS.
Criticality: DesirableTechnical Issues:Dependencies:
CM02
Comments:
- 26 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. CM07.01 Req Name Customer Emails are Logged
Stakeholders: Staff
Description: Emails sent from within CMS are automatically integrated into a
Customers contact log(CM06)
Criticality: Non-EssentialTechnical Issues:Dependencies:
CM06, CM07
Comments:
Req No. CM07.02 Req Name Customer Emails are Stored
Stakeholders: Staff
Description: Emails sent from within CMS are automatically integrated into DMS
Criticality: Non-EssentialTechnical Issues:Dependencies:
CM06, CM08
Comments:
Req No. CM08 Req Name Document Management per Customer
Stakeholders: Staff
Description: Documents sent to or received from Customer can be stored in a
Customer document archive
Criticality: DesirableTechnical Issues:
- 27 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Dependencies:Comments:
Req No. CM08.01 Req Name Retrieve Documents in Doc Mgmt Sys
Stakeholders: Staff
Description: Staff may retrieve documents stored in Document Management System
for viewing locally
Criticality: EssentialTechnical Issues:Dependencies:
CM02
Comments:
Req No. CM08.02 Req Name Add Documents to Doc Mgmt Sys
Stakeholders: Staff
Description: Staff may upload documents to a Customers file on Document Mgmt Sys
Criticality: EssentialTechnical Issues:Dependencies:
CM02
Comments:
Req No. CM08.03 Req Name Delete/Restore Documents on Doc
Mgmt Sys
Stakeholders: Staff
Description: Staff may delete/restore deleted docs on Document Management
System
- 28 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Criticality: EssentialTechnical Issues:Dependencies:
CM02
Comments:
Req No. CM09 Req Name Customer Mapping
Stakeholders: Staff
Description: Customer address is plotted on an e-map viewable within CMS
Criticality: Non-EssentialTechnical Issues:Dependencies:
CM02
Comments:
Req No. CM10 Req Name Create Customer
Stakeholders: Staff
Description: Customer can be created within CMS
Criticality: DesirableTechnical Issues:Dependencies:Comments:
Req No. CM11 Req Name Product Purchase
Stakeholders: Staff
- 29 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Description: Staff can purchase products on behalf of Customer
Criticality: DesirableTechnical Issues:Dependencies:Comments:
Req No. CM11 Req Name Quotation Generation
Stakeholders: Staff
Description: Staff can generate quotations for Customers
Criticality: DesirableTechnical Issues:Dependencies:
PROFxx, PRONxx, OR01
Comments:
Req No. CM13 Req Name Charting
Stakeholders: Staff
Description: Charts are displayed alongside reports
Criticality: DesirableTechnical Issues:Dependencies:
CM03 CM04
Comments:
- 30 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. CM14 Req Name Authentication
Stakeholders: Staff
Description: Staff must be logged in to application / authenticated to use system
Criticality: EssentialTechnical Issues:Dependencies:Comments:
- 31 -
CA400 Final Year Project - Online Brokerage – Functional Specification
3.4 Other Requirements
Req No. PROF01 Req Name Offline Products
Stakeholders: Staff & Customer
Description: These are products which can be researched, browseed and enquired
about online. However, purchase of these products will take place
offline.
Criticality: Essential Technical Issues:Dependencies:Comments:
Req No. PROF01.01 Req Name Lump Sum Investment
Stakeholders: Staff & Customer
Description: Customer may browse information on lump sum investment products. If
interested a relevant form can be filled in and sent to a DMIB analyst
Criticality: Essential Technical Issues:Dependencies:Comments:
Req No. PROF01.01A Req Name Risk Profiler
Stakeholders: Customer
Description: Customer may answer certain questions to establish their attitude to risk
Criticality: DesirableTechnical Issues:Dependencies:
- 32 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Comments:
Req No. PROF01.01B Req Name Fund Rate Indicator
Stakeholders: Customer
Description: Customer may view past performance of selected investment funds
Criticality: Non Essential Technical Issues:Dependencies:Comments:
Req No. PROF01.01C Req Name Deposit Rates
Stakeholders: Customer
Description: Customer may view deposit rates of available investment products
Criticality: Non Essential Technical Issues:Dependencies:Comments:
Req No. PROF01.02 Req Name Pensions
Stakeholders: Staff & Customer
Description: Customer may browse information on a pension product. If interested a
relevant form can be filled in and sent to a DMIB analyst
Criticality: Essential Technical Issues:Dependencies:
- 33 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Comments:
Req No. PROF01.02A Req Name Pensions Audit
Stakeholders: Customer
Description: Customer may enter some information on their current pension plan and
refer to DM for audit
Criticality: DesirableTechnical Issues:Dependencies:Comments:
Req No. PROF01.02B Req Name Pensions Calculator
Stakeholders: Customer
Description: Customer may enter some basic personal information (age, salary etc)
and obtain a pension projection
Criticality: DesirableTechnical Issues:Dependencies:Comments:
Req No. PROF01.03 Req Name Savings Contract
Stakeholders: Staff & Customer
Description: Customer may browse information on a saving contract product. If
interested a relevant form can be filled in and sent to a DMIB analyst
Criticality: Essential Technical Issues:Dependencies:
- 34 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Comments:
Req No. PROF01.03A Req Name Risk Profiler
Stakeholders: Staff & Customer
Description: PROF01.01A
Criticality: Essential Technical Issues:Dependencies:Comments:
Req No. PRON01 Req Name Online Products
Stakeholders: Staff & Customer
Description: These are products which can be researched, browsed, enquired about
online and purchased.
Criticality: Essential Technical Issues:Dependencies:Comments:
Req No. PRON01.01 Req Name Mortgage Protection
Stakeholders: Staff & Customer
Description: Customer may browse information on a Mortgage Protection product. A
quotation can be genarted for this product and a Customer can then
proceed to purchase this product.
Criticality: Essential Technical
- 35 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Issues:Dependencies:
CM11
Comments:
Req No. PRON01.02 Req Name Personal Protection
Stakeholders: Staff & Customer
Description: Customer may browse information on a Personal Protection product. A
quotation can be generated for this product and a Customer can then
proceed to purchase this product.
Criticality: Essential Technical Issues:Dependencies:
CM11
Comments:
Req No. PRON01.03 Req Name Mortgage Loan
Stakeholders: Staff & Customer
Description: Customer may browse information on a Mortgage Loan product. A
quotation can be generated for this product and a Customer can then
proceed to purchase this product.
Criticality: Essential Technical Issues:Dependencies:
CM11
Comments:
Req No. PRON01.03A Req Name Mortgage Calculator
Stakeholders: Staff & Customer
Description: Integrated to types to mortgage calculator. One telling the user how
much they can borrow, the second telling a user the cost
- 36 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Criticality: Non-Essential Technical Issues:Dependencies:Comments:
- 37 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Req No. PRON01.04 Req Name Vivas Health
Stakeholders: Staff & Customer
Description: Display product information, allow Customers to choose a plan obtain a
quote and forward to DMIB for follow-up.
Criticality: Non-Essential Technical Issues:Dependencies:
CM11
Comments:
Req No. PRON01.05 Req Name Accident & Sickness Benefit
Stakeholders: Customer
Description: Product to be sold alongside mortgage protection
Criticality: Essential Technical Issues:Dependencies:Comments:
Req No. OR01 Req Name Quote Generation
Stakeholders: Application Users
Description: Quotes for each online product available must be generated
Criticality: EssentialTechnical Issues:Dependencies:Comments:
- 38 -
CA400 Final Year Project - Online Brokerage – Functional Specification
4. System Architecture
4.1 System Architecture Diagram
- 39 -
CA400 Final Year Project - Online Brokerage – Functional Specification
4.2 System Architecture Description
The system is composed of a 3-tier architecture described by the following:
Presentation: FlexFlex is the primary presentation tool for the OBS. All Person interaction with the system will take place through Flex interfaces. Flex is a flash based technology. The presentation layer communicates with the Web Services through XML requests and responses.
The presentation layer comprises of the Model and View in the Model View Controller (MVC) design pattern used in this system.
Middle Tier: Java Web ServicesThe middle tier is contained within a tomcat container and is protected by the Acegi Security package (appendix A). These services include:
Controllers Receive and process request by passing them to appropriate handlers. They return results by sending a Model to a View in the presentation layer
Event Handlers Process specific events forwarded from a Controller and return results.
Workers Receive and carry out specific tasks as delegated by an event handler
Business Classes Contain the business logic of all business objects in the system (e.g. Customer, Product).
Database Classes These are the classes which link the middle tier to the persistence tier.
Persistence: MySQLThis is a MySQL database which contains all the persisted information for the system. Business classes from the middle tier are mapped to the database schema using Hibernate (appendix A).
- 40 -
CA400 Final Year Project - Online Brokerage – Functional Specification
5. High-Level Design
5.1 Description
From the Presentation layer, a user, through a browser, invokes a request to the server (Apache Tomcat 5.5). Tomcat queries the Acegi security service to authenticate the request, if authenticated request goes ahead.
The user’s requested .htm address is forwarded to a mapped MVC controller, which returns a JSP containing a Flex interface (made up of further flex components). The user interacts with the Flex interface. The Flex interface can make calls to a web service controller (flexController.java) running on the server. For example it can call for a Customer’s saved details to auto-populate a form they are filling in. It does this by using a <request> xml schema, using a defined <requestType> for which there is a corresponding <requestType> handler registered with the web service.
The controller interface has a “Chain of responsibility” of handlers who pass the request along until one can handle it, again they test the <requestType> value to determine whether they can handle this request, and if not pass it to the next handler in the chain. If it “falls off the end” then an xml <error> is returned to the flex controller, referring to the calling <request> object.
The handlers interact with the business objects (e.g. Customer, Product) and their associated Data Access Objects (e.g. Interfaces: CustomerDAO, ProductDAO) to carry out the request and return any relevant information. Currently Hibernate implementations of the DAO objects are used and Hibernate handles their database transactions.
- 41 -
CA400 Final Year Project - Online Brokerage – Functional Specification
The underlying framework of the entire middle-tier is the Spring framework. This allows inversion of control, and dependency injection from one xml application context file:
<bean id="CustomerDAO" class="com.zeninvent.dmib.db.hibernate. Hibernate CustomerDAO"> <property name="sessionFactory"><ref bean="sessionFactory"/></property></bean>
<bean id="homeController" class="com.zeninvent.dmib.web.controller.homeController"> <property name="CustomerDAO"><ref bean="CustomerDAO"/> </ property></bean>
Fig 5.1 see how the homeController’s CustomerDAO object is injected as the Hibernate implementation defined above it.
- 42 -
CA400 Final Year Project - Online Brokerage – Functional Specification
5.2 High Level Design Overview Diagram
Figure 5.1 System High Level Design Overview
- 43 -
CA400 Final Year Project - Online Brokerage – Functional Specification
5.3 Data Flow Diagrams
Figure 5.2 Shop Front DFD
Figure 5.3 Management System DFD
- 44 -
CA400 Final Year Project - Online Brokerage – Functional Specification
5.4 Extended Entity Relationship Model
Figure 5.4 EER Model
- 45 -
CA400 Final Year Project - Online Brokerage – Functional Specification
6. Preliminary ScheduleSee Gantt Chart appendix - B
Note on Production PhaseThe production phase is scheduled to begin on the 6th of February. The delivery of functionality outlined in section three will be handled maintaining the iterative approach of OBS development. Scheduled are seven deliveries designed around the following deadlines:
Phases one to four are designated for delivery of essential requirements Phases five and six are designated for delivery of desirable requirements Phase seven is designated for the delivery of non-essential requirements
- 46 -
CA400 Final Year Project - Online Brokerage – Functional Specification
Appendix A
List of Open Source Software to be used
Acegi Security System for Springhttp://www.acegisecurity.org/
“Acegi Security is a powerful, flexible security solution for enterprise software, with a particular emphasis on applications that use Spring. Using Acegi Security provides your applications with comprehensive authentication, authorization, instance-based access control, channel security and human user detection capabilities.”
– Acegi website.
Spring Framework (And Spring MVC)http://www.springframework.org/
“Spring is a Java/J2EE application framework that assembles components via configuration files. Spring is an open source project but is developed by engineers with Interface 21, and Spring Framework is a trademark of Interface 21. Spring is supported by a number of companies including Interface21 and SourceLabs.Spring’s main feature is the Inversion of Control design idea, where programming is focused on interfaces rather than classes. Spring’s design comes from the book Expert One-on-One J2EE Design and Development by Rod Johnson.”
– swik.net/Spring
Adobe Flex 2http://www.adobe.com/products/flex/
“Adobe® Flex™ 2 is a cross-platform development framework for creating rich Internet applications (RIAs). Flex enables you to create expressive, high-performance applications that run identically on all major browsers and operating systems.”
- Adobe Flex 2 Website
- 47 -
CA400 Final Year Project - Online Brokerage – Functional Specification
JFreeChartwww.jfree.org/ jfreechart /
“JFreeChart is a chart library for the Java platform that supports a wide range of charts including pie charts (2D and 3D), bar charts (horizontal and vertical, regular or stacked, with optional 3D-effects), line charts, XY plots, scatter plots, time series charts, high/low/open/close charts, candlestick plots, Gantt charts, Pareto charts, combination charts, and more.”
- swik.net/jfreechart
Hibernatehttp://www.hibernate.org/
“Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate lets you develop persistent classes following object-oriented idiom - including association, inheritance, polymorphism, composition, and collections. Hibernate allows you to express queries in its own portable SQL extension (HQL), as well as in native SQL, or with an object-oriented Criteria and Example API.”- Hibernate website
- 48 -