functional specification 1.0 - dgca400.files.wordpress.com€¦ · web viewfunctional...

55
Functional Specification CA400 Final Year Project Online Brokerage System Kevin Gaffney David Gibbon

Upload: doandan

Post on 28-Jul-2018

227 views

Category:

Documents


1 download

TRANSCRIPT

 

Functional SpecificationCA400 Final Year ProjectOnline Brokerage System

Kevin GaffneyDavid Gibbon

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 -

CA400 Final Year Project - Online Brokerage – Functional Specification

Appendix B

- 49 -