You are on page 1of 210

STUDENT ID: 11071018

BSC BUSINESS COMPUTING

MAJOR PROJECT

BSC BUSINESS COMPUTING

Table of Contents
CHAPTER 1 - INTRODUCTION

1.1 Background of Organization under consideration


1.2 Current Situation Overview

1.3 Problem Definition

1.4 Aims/Objectives 11
1.5 Objectives of Project
1.6 Milestones

11

13

1.7 Work Breakdown Structure Table


1.8 Work Breakdown Structure

13

14

1.9 Dependency Table

13

1.10 Activity Network Diagram

14

1.11 Gantt Chart

13

1.12 Project Management Aspects

14

1.12.1 Progress Monitoring

13

1.12.2 Risk Management (Risk Estimation Matrix)

13

1.12.3 (A) Risk Plan

13

1.12.3 (B) Risk Estimation Key

13

1.12.3 (C) Risk Ratings

13

1.13 Quality Management

14

1.13.1 Product Attributes

13

1.13.2 Method For Quality Control

13

1.13.3 Tools For Assurance

13

1.14 Implementation Plan

13

1.14.1 Deployment Strategies

13

1.14.2 Justification of Deployment Strategy chosen

13

1.14.3 Data Migration

13

1.14.4 Training

13

CHAPTER 2 LITERATURE REVIEW


2.1 Theoretical Study

14

2.1.1 Web Hosting

13

2.1.2 Web Hosting Companies in Trinidad

13

2.2 Case Study

13

2.2.1 Amazon.com

13

2.2.2 Ebay.com

13

2.2.3 Stubhub.com

13

MAJOR PROJECT

BSC BUSINESS COMPUTING

CHAPTER 3 - RESEARCH OR INVESTIGATIVE METHODS

14

3.1 Deductive/Inductive

13

3.1.1 Deductive Research Approach

13

3.1.2 Inductive Research Approach

13

3.1.3 Stubhub.com

13

3.2 Survey/Case Study/Action Research

14

3.2.1 Survey Research

13

3.2.2 Case Study

13

3.2.3 Action Research

13

3.3 One/Mixed/Multi

13

3.3.1 One Method Research

13

3.3.2 Mixed Method Research

13

3.3.3 Multi Method Research

13

3.4 Data Collection Methods and Analysis

13

3.4.1 Interviews

13

3.4.2 Questionaires

13

3.4.3 Observations

13

3.5 Methodology

14

3.5.1 Methodology

13

3.5.2 Object Oriented Methodology

13

3.6 Justification of choice

13

CHAPTER 4 FEASIBILITY STUDY


4.1 Business Case

14

14

4.1.1 Economic Analysis

13

4.1.2 Social Analysis

13

4.1.3 Technical Analysis

13

4.1.4 Go/No Go Decision

13

CHAPTER 5 SYSTEM ANALYSIS


5.1 Problem Specification of current system
5.2 Fact Finding

14
14

14

5.3 Analysis of data collected 14


5.3.1 Questionaire Analysis

13

5.3.2 Interview Analysis

13

5.3.3 Observation Analysis

13

5.4 Object Oriented Analysis and Design Diagrams (Current System)


5.4.1 Use Case Diagram (Current System)

13

5.4.2 Class Diagram (Current System)

13

5.4.3 Sequence Diagram for Sales Process (Current System)


KENO LEE

14

13
Page 3

MAJOR PROJECT

BSC BUSINESS COMPUTING

5.4.4 Sequence Diagram for Purchase Process (Current System)

13

5.4.5 Sequence Diagram for Customer Membership Process (Current System)


13
5.5 Object Oriented Analysis and Design Diagrams (Proposed System) 14
5.5.1 Use Case Diagram (Proposed System)

13

5.5.2 Class Diagram (Proposed System)

13

5.5.3 Sequence Diagram for Sales Process (Proposed System) 13


5.5.4 Sequence Diagram for Purchase Process (Proposed System)

13

5.5.5 Sequence Diagram for Customer Membership Process (Proposed System)


13
5.5.6 State Transition Diagram for Conducting a Sales (Proposed System)

13

5.5.7 State Transition Diagram for Purchasing Stock (Proposed System)

13

5.5.8 Sequence Diagram for Customer Purchase (Proposed System) 13


CHAPTER 6 REQUIREMENT SPECIFICATION
6.1 Summary of proposed system

14

14

6.2 Functional Requirements 14


6.2.1 Sales Modules

13

6.2.2 Stock Module

13

6.2.3 Supply Module

13

6.2.4 Customer Membership Module

13

6.3 Non-Functional Requirements

14

6.3.1 Security

13

6.3.2 Usability

13

6.3.3 Reliability

13

6.3.4 Maintainability

13

6.4 Business Requirements

14

CHAPTER 7 SYSTEM DESIGN

14

7.1 Logical System Specification


7.2 Data Design

14

14

7.2.1 Normalization

13

7.2.2 ERD of proposed system


7.3 Architectural Design

13

14

7.3.1 Program Structure Chart

13

7.3.2 Pseudocode

13

7.4 Procedural Design

14

7.4.1 Pseudocode

13

7.4.2 Flowchart (Sales Module)

13

7.5 Interface Design


KENO LEE

14
Page 4

MAJOR PROJECT

BSC BUSINESS COMPUTING

7.5.1 Table showing Visio Design View/When saved as JPEG


7.6 Test Plan

13

14

7.6.1 Blackbox Testing

13

7.6.2 Whitebox Testing

13

CHAPTER 8 DEVELOPMENT

14

8.1 Screenshot of Developed System


8.2 SQLPlus Coding

14

14

8.3 Oracle PL/SQL Coding

14

8.4 Justification of development using Oracle (PL/SQL)


CHAPTER 9 TESTING

14
14

9.1 Unit Test 14


9.2 Module Test

14

9.3 Integration Test


9.4 System Test

14

14

9.5 Acceptance Test

14

CHAPTER 10 IMPLEMENTATION
10.1 Implementation Plan

14
14

10.1.1 Deployment

13

10.1.2 Data Migration

13

10.2 Training Plan 14


10.3 User Guide

14

10.4 Backup Plan 14


CHAPTER 11 INTERPRETATION OF RESULTS
11.1 Checklist of Requirements

14

14

11.2 Comparison of Results to Cases in Literature Review 14


11.3 Summary of Client Appraisal/Acceptance/Feedback

14

11.4 Evaluation of CASE Tools used 14


CHAPTER 12 EVALUATION

14

12.1 Critical Appraisal of all project stages


12.2 Conclusion

14

12.3 Actual Gantt Chart vs Original Plan


APPENDICES
KENO LEE

14

14
14
Page 5

MAJOR PROJECT

BSC BUSINESS COMPUTING

Appendix A 14
Appendix B 14
Appendix C 14
Appendix D 14
Appendix E 14
Appendix F 14
Appendix G 14
Appendix H 14
Appendix I

14

Appendix J

14

KENO LEE

Page 6

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.INTRODUCTION
1.1Backgroundoforganizationunderconsideration
High Definition DVD Club is a well established and recognised DVD club in the Valencia community. It
was formerly a DVD stall that operated on the road side. This DVD clubs initial road side vending venture
was established in the year 2008 and transitioned into High Definition DVD Video Club in November of
2009. A growing population lead to increased qualitative and quantitative demands for the businesss
products and services. This emphasized the need for an improved quality service and a greater range of the
business products. High Definition DVD Club achieved financial stability during their road side venture.
Today the business gives back to the community by sponsoring community type activities and events.
High Definition DVD Club provides a wide range of DVD movies. The owner is a very customer oriented
individual who seeks to accommodate the entire community needs, by keeping records of customers
buying trends. The owner at High Definition DVD Club has clearly stated her intention to consistently and
continuously meet the growth in demand and services at her business place. She boasts that her prices are
the best and that her product range and service quality can only improve. The business future goal is to
improve the customers experience at the DVD club, by obtaining their input in the way forward. The
owner also intends to open branches at other locations within the next five years to gain a customer base
not only in Valencia, but in other parts of the country.
1.2CurrentSituationOverview
High Definition DVD Club runs a self-serve sales system, whereby customers have the leisure of browsing
displays for desired movies. Movies are strategically and conveniently displayed on the walls within the
establishment, with six televisions each connected to a DVD player placed at different points of the
business for sample viewing. Price posters and specials on DVDs are placed both on the establishments
interior and exterior walls for advertisement as well as for convenient customer viewing.
The DVD club does not have a computer based system in which to keep records of DVD sales and stock,
hence DVD sales conducted are recorded in a notebook. A notebook is also used to keep records of DVD in
stock as well as information on membership of customers. Information on the DVD sold, its price and
genre are kept in the DVD sales book. Currently there is also a dedicated notebook for the keeping of
records as it pertains to DVDs in stock. Information recorded and stored in this book includes the DVD
name, genre, quantity in stock and its price. Information recorded on a daily basis is meaningfully
categorized then sales are calculated at the end of each day. This is to provide an idea of the days sales and
profits or losses. These record books as well as other pertinent information are stored in a draw at the

KENO LEE

Page 2

MAJOR PROJECT

BSC BUSINESS COMPUTING

establishment.
The owner of High Definition DVD club currently conducts day to day sales at her business place with the
aid of a customer service representative who provides assistance to customers who may need advice on
DVD movies or technical assistance when viewing DVDs. She however is responsible for facilitating the
DVD sales and the recording and storing of the necessary sale information.
1.3ProblemDefinition
High Definition Video Club is in high demand within the community, however it faced several challenges.
Some of the problems faced by the business are as follows:

Keeping meaningful and concise data as it relates to DVD sales transactions. Data being recorded is
often abbreviated and contains errors.

Inefficient documenting of customer membership information as well as the un-customer friendly


process by which information is gathered.

Tedious and time consuming method of recording sales transactions when multiple customers are
purchasing several movies.
Unavailability of readily available records of sales transactions as well as customer information.

Updating DVD movies in stock relevant to its quantity when there is a sale or purchase. Records
kept of DVDs in stock tend to be inconsistent and incorrect.

1.4Aims/Objectives
It is important that the Sales Database Management System to be implemented at High Definition DVD
Club provide users with the following top-level functions:

To create, read, update and delete records as associated with the acronym CRUD.

To store records of DVD Sales Transactions, DVD In Stock, Supplies Purchased and Customer
Membership Information.

To produce reports on DVD Sales, DVDs In stock, Supplies Purchased and Customer Membership
Information.

To trigger an alert when the stock reaches a predefined minimum level.

KENO LEE

Page 3

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.5Objectivesoftheproject
Having carried out the necessary investigative work on High Definition DVD Club, the Waterfall Lifecycle
Model alongside the Object Oriented Methodology will be used throughout the development of the project.
The Waterfall Model will provide the initial framework from which object oriented designs can be drawn.
This will ensure a simple, well-structured flow of events, continuous documentation as well as the drawing
of design diagrams. The overall aim of this project is to produce a Sales Database Management System that
would alleviate the problems faced by the DVD club thereby providing an easier, more efficient process of
recording DVD sales, DVD in stock and customer membership information. The following are the
objectives of this project. They are:

To develop a Sales Database Management System that would allow for the creation, reading,
updating and deleting of records.

To produce the feasibility of developing a Sales Database Management System for the DVD club.

To conduct analysis relevant to the requirements of the project, from which a requirements analysis
report will be produced. This analysis report would include fact finding and UML diagrams
describing both the operations of the current and proposed system.

To design and code the Sales Database Management System for High Definition DVD Club.

To test and document the testing stage of the Sales Database Management System. Testing would
include, white box, black box and regression.

To implement and evaluate the database management system. Implementation would include a
conversion strategy, data migration, training, user manuals and a backup and recovery plan. The
evaluation done should also include an evaluation of the entire project.

KENO LEE

Page 4

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.6Milestones
STAGE
INTRODUCTION

DELIVERABLES
Background To The Project , Problem Definition, Top-Level

ESTIMATED
DELIVERY DATE
25th March, 2012

Functional Requirements, Objectives To The Project,


Milestone Plan, Work Breakdown Structure, Activity Network
Diagram, Gantt Chart, Project Management Aspects
LITERATURE REVIEW

Theoretical Study, Hardware and Software Technology, Case

3rd April, 2012

Studies
RESEARCH METHOD

Research or Investigative Method, Justification of Choice,


Methodology

11th April, 2012

FEASIBILITY STUDY

Cost Benefits Analysis, Business and Technical System

28th April, 2012

Options, User Requirements, Go or No Go Decision


SYSTEMS ANALYSIS

Facts Finding, Current System Description , Proposed System

22nd May, 2012

Description
REQUIREMNT
SPECIFICATION

Functional and Non-Functional Requirements, Business

DESIGN

Logical Design, Physical Design, Technical System Options,

7th June, 2012

Requirements
3rd July, 2012

Business System Options


INTERIM REPORT

Aims and Objectives of the Project, Key Issues and Research

7th July, 2012

Undertaken, Current Status of the Project


DEVELOPMENT

System Coding

8th August, 2012

TESTING

White Box Testing, Black Box Testing, Regression Testing,

23rd August, 2012

Test Report
IMPLEMENTATION

Conversion Strategy, Data Migration Plan, User Manual,

26th September, 2012

Training, Back and Recovery Plan


INTERPRETATION OF
RESULTS

Requirements Checklist, Comparison of Results to Case Study,

EVALUATION

Product Evaluation , Project Evaluation

3rd October, 2012

Client Appraisal Summary, Evaluation of CASE Tools


11th October, 2012

Table 1.6

1.7WorkBreakdownStructureTable
KENO LEE

Page 5

MAJOR PROJECT

Activities

BSC BUSINESS COMPUTING

Number of Days

Percentage

Introduction

12 Days/171 Days

7.0%

Literature Review

8 Days/171 Days

4.7%

Research or Investigative Method

7 Days/171 Days

4.1%

Feasibility Study

18 Days/171 Days

10.5%

Requirements Analysis

22 Days/171 Days

12.9%

Requirements Specification

8 Days/171 Days

4.7%

Design

21 Days/171 Days

12.3%

3 Days/171 Days

1.8%

Coding

25 Days/171 Days

14.6%

Testing

12 Days/171 Days

7%

Implementation

21 Days/171 Days

12.3%

Interpretation of Results

7 Days/171 Days

4.1%

Evaluation

7 Days/171 Days

4.1%

171 Days/171 Days

100%

Interim Report

Total

Table 1.7

KENO LEE

Page 6

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.8 Work Breakdown Structure

Figure 1.8
KENO LEE
Page 7

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.9DependencyTable

ID
1

TASKNAME
Introduction

DURATION
12Days

PREDECESSOR

LiteratureReview

8Days

ResearchorInvestigativeMethod

7Days

1,2

FeasibilityStudy

18Days

RequirementsAnalysis

22Days

RequirementsSpecification

8Days

Design

21Days

4,5

InterimReport

3Days

1,2,3,4,5,5,7

Coding

25Days

10

Testing

12Days

6,7,9

11

Implementation

21Days

10

12

InterpretationofResults

7Days

11

13

Evaluation

7Days

12

Table 1.9

KENO LEE

Page 8

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.10 Activity Network Diagram

Diagram Key:

KENO LEE
Page 9

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure 1.10

KENO LEE
Page 10

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.11GanttChart

KENO LEE
Page 11

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure 1.11
1.12 Project Management Aspects
Projectmanagementisamethodicalapproachtoplanningandguidingprojectprocessesfromstartto
finish.Projectmanagementisrelevanttomosttypesofprojectsandisveryusefultoensuringthe
controlofcomplexprocessesthatsoftwaredevelopmentprojectsentails.Thesystemsdevelopment
lifecycle is one such methodology utilized for guiding a projects management process from the
initiating feasibility study straight through to maintenance of the developed system (TechTarget,
2008).Inthisprojectthreeprojectmanagementaspectsarelookedat,theyare:

1.12.1ProgressMonitoringThiscanbedescribedastheregularobservationandrecording
ofactivitiesrelevanttotheprogressofaproject.Progressmonitoringinvolvestheroutine
gatheringofinformationondifferentaspectsoftheproject.Observationisdoneinasystematic
andpurposefulwayandmayinvolve giving feedback ontheprojects progress.Feedback
reported is often utilized for making decisions relative to the improvement of a projects
performance. Progress monitoring provides information that is useful for, analysing the
businesssituationanditsproject,determiningwhetherinputsintheprojectarewellutilized,
identifying problems the project faces and providing solutions, ensuring that activities are
performedbytherightpersonsandontime,usingthelessonsfromoneprojectexperienceon
anotheranddeterminingwhetherprojectplanningwasdoneinthemostappropriatewayto
solvetheproblemathand(PhilBartle,2011).

1.12.2RiskManagement Thisistheprocessofidentifying,assessing,prioritorizingand
controllingrisksasaprojectunfolds.Onceriskshavebeenidentified,theprojectmanager
shouldcreateaplantominimizeoreliminatethenegativeimpactofthoserisks.Strategiesfor
dealing with risks will vary according to the type of risk and project. The goal of risk
managementistoprotecttheprojectfromvulnerabilities.Avarietyofstrategiescanbeutilized
to minimize or eliminate risks, however the process for identifying and managing risks,
consistsoffourmainstages,namely,identifyingtherisks,assessingtheimpactoftherisks,
alleviatingcriticalrisksandcontrollingrisks(Whatisriskmanagement.netn.d.).
RiskIdentificationThisisthefirststageofriskmanagementandisconcernedwith
outlining possible risks to the project. Possible risks are identified relevant to the

KENO LEE
Page 12

MAJOR PROJECT

BSC BUSINESS COMPUTING

project,productandbusiness.Table1.4providedbelowoutlinespossiblerisksthatmay
affectthisprojectbyanID,descriptionandtype.

RiskID
R1

RiskDescription
Underestimation of software development time.

RiskType
ProductandProject

R2

Underestimation of size software.

ProductandProject

R3

Financial problems encountered by the business forces

ProjectandProduct

R4

reduction in project budget.


Requirement changes are more than expected and require

ProjectandProduct

R5
R6
R7

significant rework of design.


Illness at a critical period of project.
Reusable software components are defective.
Unanticipated oracle errors where resolution is time

Project
Product
ProductandProject

R8

consuming.
Essential hardware, necessary for project not obtained on

R9
R10

schedule.
CASEtoolsintegrationissues.
Employee resistance to change.
Table1.12.2

Project
Product
BusinessandStaff

RiskEstimationMatrix

PROBABILITY
Insignificant

IMPACT
Tolerable
Serious

Catastrophic

VeryHigh
80100
High
6579

R9

R1,R2
R4,R5,R6,

R10

R7,R8

Moderate
4164
Low

R3

140

KENO LEE
Page 13

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure1.12.2

KENO LEE
Page 14

MAJOR PROJECT

1.12.3(A)RiskPlan
Risk
Description

BSC BUSINESS COMPUTING

Risk Type

ID
R1

Underestimation of software

Risk

Probability (p)

(i)

Exposure p*i

High

Serious

Catastrophic

similar products.
Have supplementary unit on

overrun.
Estimated delivery

standby that can be added to

date consistently

the project at short notice (2

not being met.

weeks).
Source all finances for

Inability to meet

capital expenditure prior to

weekly financial

project commencement.

commitment.

Identify trace information

Regular request to

that can be utilized to assess

add features to

the impact of changes to

system.

requirements.
Stay ahead of each stage

Drop in bodys

project.

delivery date by at-least a

resistance.

Reusable software

week to cater for downtime.


Cater for replacing

Software

defective components with

component are

Underestimation of size

Financial problems

Productand

High

Serious

Catastrophic

Project

Projectand

Low

Catastrophic

Serious

Product

budget.
Requirement changes are

Projectand

more than expected and

Product

Moderate

Serious

Serious

require significant rework of

R6

Indicator

result in time

Project

forces reduction in project

R5

Risk Potential

on time taken to develop

encountered by the business

R4

Risk Strategies

If early stages

software.

R3

Risk Impact

Conduct historic research

development time.
R2

Productand

Risk

design.
Illness at a critical period of

components are defective.

KENO LEE

Project

Product

Moderate

Moderate

Serious

Serious

Serious

Serious

Page 15

MAJOR PROJECT

R7

BSC BUSINESS COMPUTING

reliable components.

over five years old.

Anticipate the unanticipated

High severity virus

Project

in development relevant to

found

Project

time.
Organise for hardware to be

installation folder.
Necessary

for project not obtained on

delivered at-least five days

hardware was not

schedule.

before it is actually needed.

in stock and

Productand

Unanticipated oracle errors


where resolution is time

R8

consuming.
Essential hardware, necessary

Moderate

Moderate

Serious

Serious

Serious

Serious

in

oracle

supplier awaiting
shipment.
R9

CASEtoolsintegration

Product

High

Tolerable

Serious

Research CASE tool


relevant to its integration

issues.

prior to obtaining and using.


R10

Employee
change.

resistance

to

Businessand

Moderate

Tolerable

Staff

Moderate

Utilize integration software.


Educate and communicate

Employee

to employee the importance

displaying low

and benefits of change.

morale and sudden

Involve them in the change

unwillingness to

process and let them know

work overtime.

that their input is important.


Table 1.12.3(A)

KENO LEE

Page 16

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.12.3(B)RiskEstimationKey

Categories
VeryHigh

RiskProbability
80100

RiskImpact
910

High

6579

78

Moderate

4164

45

Insignificant

140
Table 1.12.3 (B)

13

1.12.3(C)RiskRatings

RiskId
R1

Risk
Underestimation of software development time.

RiskProbability
High

RiskImpact
Serious

R2

Underestimation of size software.

High

Serious

R3

Financial problems encountered by the business forces

Low

Catastrophic

Moderate

Serious

reduction in project budget.


R4

Requirement changes are more than expected and


require significant rework of design.

R5

Illness at a critical period of project.

Moderate

Serious

R6

Reusable software components are defective.

Moderate

Serious

R7

Unanticipated oracle errors where resolution is time

Moderate

Serious

Moderate

Serious

consuming.
R8

Essential hardware, necessary for project not obtained


on schedule.

R9

CASEtoolsintegrationissues.

High

Tolerable

R10

Employee resistance to change.

Moderate

Tolerable

Table 1.12.3 (C)

1.13QualityManagement
KENO LEE
Page 17

MAJOR PROJECT

BSC BUSINESS COMPUTING

QualityManagementcanbedefinedasanorganizationalwideapproachtakentodevelopaprecise
understandingofwhatcustomersneedandconsistentlydeliveraccuratesolutionstomeettheseneeds
withinbudget,ontimeandwithminimumlosstosociety.Theprocessofqualitymanagementwill
ensureaneffectivedesignofprocessesthatverifycustomerneeds,planproductlifecycleanddesign
aswellasdelivertheproductorservice.Qualitymanagementincorporatesthemeasurementofall
processelements,theanalysisofperformanceandthecontinualimprovementofproducts,services
andtheprocessofdeliveringthemtocustomers(CharteredQualityInstitute,n.d.).Thisformof
managementwilleffectivelyleadtoimprovedbusinessperformanceandshouldconsiderfactorssuch
aswhatimprovementstheorganizationneeds,whatqualitymanagementsystemisapplicableand
which areas or processes should the quality management system address. The bullet points that
followrepresentthequalitymanagementactivitiescoveredinthisproject.

1.13.1ProductAttributesThequalityofadevelopedproductisinfluencedbythequality
oftheproductionprocess.Thisisanimportantaspectofsoftwaredevelopment,sincesome
productqualityattributesarehardtoassess.Therehoweverexistsaverycomplexandpoorly
understoodrelationshipbetweensoftwareprocessesandproductquality (IanSummerville,
2011). Thefollowingfactorscanbeusedtomeasurequalityrelevanttoproductattributes
(SoftwareTestingHelp,2007):
Reliability This measures if the product is reliable enough to sustain in any
condition.Consistentlycorrectresultsshouldbeaproductofthisproductreliability
shouldbemeasuredindifferentworkingenvironmentsandunderdifferentconditions.
MaintainabilityDifferentversionsoftheproductshouldbeeasytomaintain.The
addingofcodetotheexistingsystemshouldbepossibleandsimpletodo.Thesystem
shouldbeeasytoupgradetoincorporatenewfeaturesandtechniques.Maintainingthe
systemshouldalsobecosteffective.
UsabilityThiswillbemeasuredintermsofeaseofuse.Applicationsshouldbeuser
friendly,easytolearnandeasytonavigate.Thesystemshouldfacilitatetheeasy
inputting of data, operations and interpretation of output. It should also provide

KENO LEE
Page 18

MAJOR PROJECT

BSC BUSINESS COMPUTING

consistent user interface standards or conventions with other systems. New or


infrequentusersshouldfindthesystemeasytouse.
CorrectnessTheapplicationshouldbecorrectintermsofitsfunctionality,internal
calculations and navigation. Effectively the application should adhere to defined
functionalrequirements.
EfficiencyThisismeasuredintermsofthetimerequiredtocompleteanytaskgiven
tothesystem.Ideallythesystemshouldutilizeprocessorcapacity,diskspaceand
memory efficiently. A system that uses all the available resources degrades the
performanceaffordedtotheuser.Asystemthatisnotefficientcannotbeusedfor
realtimeapplications.
IntegrityorSecurityIntegrityisabyproductofsecurity.Thesystemsintegrityor
security should be sufficient to prevent unauthorized access to systems functions,
prevent information loss, ensure that the software is protected from viruses and
protectingtheprivacyofdataenteredintothesystem.
TestabilityThesystemshouldbeeasytotestandfinddefects.Individualmodule
testingshouldbepossibleifrequired.
Flexibility Thesystemshouldbeflexibleenoughtomodify.Thesystemshould
easilyadaptwheninteractingwithotherproducts.
ReusabilitySoftwarereuseisagoodcosteffectiveandtimesavingdevelopment
technique. Code libraries should be generic enough to be easily used in different
application modules. Reuse of divided applications in different modules of an
applicationshouldbepossible.
InteroperabilityTheexchangeofproductdataordeviceswithothersystemsshould
beeasytodo.Systemmodulesshouldbeabletoworkondifferentoperatingsystems,
differentdatabasesandprotocolconditions.

KENO LEE
Page 19

MAJOR PROJECT

BSC BUSINESS COMPUTING

1.13.2 Method for Quality Control Quality control involves checking the software
development process to ensure that quality assurance procedures and standards are being
followed.Thedeliverablesfromthesoftwareprocessarecheckedagainstthedefinedproject
standardsinthequalitycontrolprocess.Therearetwocomplementarymethodsthatmaybe
usedtocheckthequalityofprojectdeliverables,namely(IanSummerville,2011):
1. QualityreviewsThisistheprinciplemethodthatcanbeusedtovalidatethequalityofa
processorproduct.Inthismethodexaminationordonetopartorallofaprocessor
systemanditsdocumentationtofindpotentialproblems.Qualityreviewsareresponsible
forcheckingthatproductstandardshavebeenfollowedandforconformationwiththese
standards relevant to software and documents. Deviations from these standards are
communicated to the project manager. There exist different types of reviews with
differentobjectives,theyare(IanSummerville,2011):
Inspectionsfordefectremoval(product)
Reviewsforprogressassessment(productandprocess)
Qualityreviews(productandstandards)
Table1.7outlinesdifferentreviewtypesandtheirprinciplepurpose.
ReviewType
Designorprogress

PrinciplePurpose
Todetectdetailederrorsintherequirements,designorcode.

inspections
Progressreviews

Toprovideinformationformanagementabouttheoverallprogress
oftheproject.Thisisbothaprocessandaproductreviewandis

Qualityreviews

concernedwithcosts,plansandschedules.
To carry out a technical analysis of product components or
documentationtofindmismatchesbetweenthespecificationandthe
componentdesign,codeordocumentationandtoensurethatdefined
qualitystandardshavebeenfollowed.
Table1.13.2

Thereexistthreereviewfunctionsrelevanttoqualitycontrol.Thesereviewfunctions
include(IanSummerville,20011):
Quality function This function form part of the general quality management
process.

KENO LEE
Page 20

MAJOR PROJECT

BSC BUSINESS COMPUTING

ProjectmanagementfunctionThisfunctionisusefulforprovidinginformation
toprojectmanagers.
Training and communication This function supports the sharing of product
knowledgebetweendevelopmentteammembers.

2. SoftwaremeasurementandmetricsThisapproachinvolvesderivinganumericvalue
forsomeattributeofasoftwareproductoritsprocess.Derivedvaluescanbecomparedto
eachotherandtoestablishedstandardsacrossanorganization.Thiscomparisonwillallow
forthedrawingofconclusionsrelevanttothequalityofsoftwareorsoftwareprocesses
(IanSummerville,2011).Twowaysinwhichthisapproachmaybeusefultoquality
controlare:
Itallowsformakinggeneralpredictionsaboutasystem.Characteristicsofasystems
componentscanbemeasuredandaggregated,allowingforageneralestimateofsome
systemattributestobecalculated.Anexampleofsuchanattributeisthenumberof
faultsinthesystem.
Itallowsfortheidentifyingofanomalouscomponents.Individualsystemcomponents
characteristicsthatdeviatefromthenormcanbeidentifiedthroughmeasurements.
Measurementsofsystemcomponentsaredonetoascertainthosecomponentsthatare
likely to contain the most errors, allowing for concentration to be place on those
componentsduringthereviewprocess.
Softwaremetricscanbedescribedasanytypeofmeasurementthatrelatestoasoftware
system,itsprocessordocumentation.Thistypeofmetricmaybeeithercontrolorpredictor
metrics,bothofwhichhasaninfluentialimpactonmanagementdecisionmaking.Figure
1.5belowprovidesandillustrationofthisaswellasoutlinestheassociationofcontrol
metricswithsoftwareprocessesandpredictormetricswithsoftwareproducts.Theaverage
effort and time necessary to resolve reported defects is a suitable example of control
metrics.Thecomplexityofamodule,theaveragelengthofidentifiersinaprogramandthe
numberofattributesandoperationsassociatedwithobjectsindesignareallexamplesof
predictormetrics(IanSummerville,2011).

Software process
KENO LEE
Page 21

Software product

MAJOR PROJECT

BSC BUSINESS COMPUTING

Control
measurements

Predictor
measurements

Management
decisions

Figure 1.13.2 (A)


(Ian Summerville,
2011)
Thedirectmeasuringofsoftwarequalityattributesisoftenimpossiblesincequalityattributes

suchasmaintainability,understandabilityandusabilityareexternalattributesthatarerelevant
tohowdevelopersandusersseethesoftware.Itisidealthataclearandvalidatedrelationship
between the internal and external software attributes be established. There exist three
conditionsthatmustholdifthemeasurementofinternalattributesistobeusefultopredicting
externalsoftwarecharacteristics(Kitchenham,1990):

Internalattributesmustbemeasuredaccurately.
Arelationshipmustexistbetweenwhatwecanmeasureandtheexternalbehavioural
attributeinwhichweareinterested.
Thisrelationshipisunderstood,hasbeenvalidatedandcanbeexpressedintermsofa
formulaormodel.
Figure1.6providesanillustrationoftherelationshipsbetweeninternalandexternalsoftware
attributes.

Number of procedure parameters


Maintainability

Cyclomatic complexity
Reliability

Program size in lines of code


Portability

Number of error messages


KENO LEE
Page 22

MAJOR PROJECT

BSC BUSINESS COMPUTING

Usability
Length of user manual

Figure1.13.2(B)(IanSummerville,2011)

1.13.3 Tools for Assurance This involves the process of quality assurance. Quality
assuranceisanysystematicprocessofcheckingtoseewhetheraproductorservicebeing
developedismeetingspecifiedrequirements (TechTarget,2007). Theprocessdefineshow
softwarequalitycanbeachievedandhowthedevelopmentorganizationdeterminesthatthe
software has the required level of quality. The quality assurance process is primarily
concernedwithdefiningorselectingstandardsthatshouldbeappliedtothesoftwarebeing
developed(IanSummerville,2011).

Twotypesofstandardsthatmaybeestablishedpartsofthequalityassuranceprocessare(Ian
Summerville,2011):
Product standards This applies to the software being developed and includes
documentstandards.Examplesofthesestandardsmayincludestructureofrequirements
documents,standardcommentheaderforanobjectclassdefinitionandcodingstandards
fordefiningtheuseofaprogramminglanguage.
ProcessStandardsThisdefinestheprocessesthatshouldbefollowedduringsoftware
development.Itmayincludedefinitionsofspecifications,designandvalidationprocesses
andadescriptionofthedocumentsthatshouldbewritteninthecourseoftheseprocesses.
Toavoidqualityassuranceproblems,qualitymanagersshouldtakethefollowingsteps:
Involvesoftwareengineersintheselectionofproductstandards.
Reviewandmodifystandardsregularlytoreflectchangingtechnologies.
KENO LEE
Page 23

MAJOR PROJECT

BSC BUSINESS COMPUTING

Provide software tools for assurance and consider the ISO 9000 standard and
documentationstandards.
WhenconsideringtoolsforassurancetheISO9000standardanddocumentationstandards
shouldbeconsidered(IanSummerville,2011).

ISO9000 Isaninternationalstandardthatcanbeusedinthedevelopmentofaquality
managementsystem.Thestandardcanbeappliedtoarangeoforganisationsandindustries.
ISO9000isthemostgeneralandappliestoorganisationsconcernedwiththequalityprocess.
DocumentationstandardsThisisimportanttoasoftwareprojectbecausedocumentsare
theonlytangiblewayofrepresentingthesoftwareandthesoftwareprocess.Standardized
documentshaveaconsistentappearance,structureandqualityandshouldthereforebeeasier
toreadandunderstand.Threetypesofdocumentstandardsthatexistare:
Documentationprocessstandards.Thesestandardsdefinetheprocessthatshouldbe
followedwhenproducingdocumentation.
Documentstandards.Thestructureandpresentationofdocumentsaregovernedbythis
standard.
Documents interchange standards. This standard ensures compatibility between all
electroniccopiesofdocuments.
1.14ImplementationPlan
This plan will provide details of the various activities and strategies that maybe utilized when
implementing the completed system at the business (BusinessDictionary.com, n.d.). The
implementationplanwillprovideanoverviewofdifferentdeploymentstrategies,datamigration,
training and documentation. The following deployment strategies would be considered
(Wordpress.com,2008):

1.14.1DeploymentStrategies

DirectCutoverThisapproachinvolvesimmediatechangeoverfromtheoldsystemto
thenew.Thisdeploymentmethodisusuallytheleastexpensivesinceonlyonesystemis
KENO LEE
Page 24

MAJOR PROJECT

BSC BUSINESS COMPUTING

operatedatatime.DirectCutoverhoweverinvolvesthemostriskswhencomparedtothe
othermethods.

ParallelOperation Thisapproachrequiresthatboththeoldandnewsystemoperate
fullyforaspecifiedperiodoftime.Onlywhentheusersanddevelopersaresatisfiedwill
theoldsystembeterminated.Thismethodinvolvestheleastriskssinceifthenewsystem
doesnotwork,theoldsystemcanberevertedto.Paralleloperationishoweverthemost
costlymethod.

PilotOperationThismethodwillinvolveimplementingthecompletenewsystemata
selectedlocationofthebusiness.Ausergroupwilltestthesystemsfunctionalityatthe
pilot location. The old system will continue to operate for the entire organization
includingthepilotsite.Oncethesystemissuccessfulatthepilotsiteitisimplemented
throughout the rest of the organization, usually using direct cutover. Pilot Operation
assuresthatthenewsystemisworking,reducestheriskofsystemfailureandisalsoless
expensivewhencomparedtoparalleloperation.

PhasedOperationThismethodimplementsthenewsysteminmodulesorstages.This
is also a combination of direct cutover and parallel operation and is similar to pilot
operation.Thephasedoperationapproachinvolvesprovidingpartofthesystemtoall
users.Theriskoffailureislimitedtotheimplementedmoduleonlyandislessexpensive
thanthefullparalleloperation.Thismethodcanhoweverbemoreexpensivethanapilot
approachifthesystemtobeimplementedhasanumberofseparatephases.

1.14.2JustificationofDeploymentStrategychosen
Havingassessedthefourdeploymentstrategiesithasbeendecidedthatthepilotoperation
approachwillbemostappropriate.Thepilotapproachisacombinationofbothdirectcutover
andparalleloperationthatwillallowforrestrictingimplementationtoapilotlocation.This
reducestheriskofsystemfailurewhencomparedtothedirectcutovermethod.Operatingthe
systematthepilotisalsolessexpensivethantheparallelapproach.Thisapproachwillallow
fordirectcutovertobeusedoncethenewsystemhasbeensuccessfullypiloted.Thisreduces
thechangeovertimeandthedirectcutovermethodwillbegenerallyriskfreeatthispoint.

1.14.3DataMigration

KENO LEE
Page 25

MAJOR PROJECT

BSC BUSINESS COMPUTING

Theprocessofdatamigrationgenerallyreferstothetransferofdatabetweenformats,types
ofstorageandcomputersystems.Datamigrationisusuallydonewhenanewsystemisbeing
adoptedanddatainbothsystemsneedtobemappedtoeachotherwithoutdifficulties.The
processofdatamigrationgenerallyrequiresconsiderableamountsoftimeandlabour,hence
thereasonwhyitisdoneautomaticallyinmostcases.Manualmethodsarehoweveralso
frequentlyused.Themethodchosenforagivensystemis totallydependentonboththe
systeminvolvedandthestateofthedatatobemigrated.
Data cleansing is a common procedure that is performed during data migration. This
procedureisaimedatimprovingqualityandrequirementsmatching.Whendecidingona
methodofdatamigrationthevariablesdatavolumeanddatavalueshouldbeconsidered.The
followinganalyticalstepsshouldbeperformedbeforedatamigrationbegins (ETLTools,
n.d.):

Analyseanddefinethesourcestructure
Analyseanddefinethetargetstructure
Mapbetweenthesourceandtargetstructure
Definethedatamigrationmethod

The process of data migration for this project will be carried out manually since High
Definition Video Club currently operates a manual, paper based system of recording
information.

1.14.4Training
Thereexistvariousmethodsoftraining,whichcanbedividedintocognitiveandbehavioural
methods.Itisimportantthattrainersunderstandtheprosandconsofeachmethodaswellas
its impact on trainees while keeping their background and skills in mind before giving
training.(TrainingandDevelopment.Naukrihub.com,n.d.).

Cognitive methods This involves giving theoretical training to the trainees. The
differentmethodsthatfallunderthecognitiveapproachprovidetherulesdescribinghow
to do something, written or verbal information and demonstrate relationships among
concepts. These methods are associated with changes in knowledge and attitude by
stimulating learning. The various methods that fall under the cognitive approach are:
(TrainingandDevelopment.Naukrihub.com,n.d.):
Lectures
KENO LEE
Page 26

MAJOR PROJECT

BSC BUSINESS COMPUTING

Demonstrations
Discussions
Computerbasedtraining
Intelligenttutorialsystems
Programmedinstructions
Virtualreality

BehaviouralmethodsThisinvolvesgivingmoreofpracticaltypetrainingtotrainees.
Thevariousmethodsunderthebehaviouralapproachallowthetraineetobehaveasifina
reallifesituation.Thesemethodsareusefulforskilldevelopment.Thevariousmethods
that fall under the behavioural approach are

(Training and

Development.Naukrihub.com,n.d.):
Gamesandsimulations
Behaviourmodelling
Businessgames
Casestudies
Roleplays

Documentation Thiswillrefertoadocumentedusermanualproducedforendusers.
Theusermanualwillprovideuserswithinstructionsandguidelinesrelevanttotheuseof
thenewsystem.Thisdocumentationwillbemadeavailablebothinhardandsoftcopy.

KENO LEE
Page 27

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 28

MAJOR PROJECT

BSC BUSINESS COMPUTING

2.LITERATUREREVIEW

2.1TheoreticalStudy
2.1.1WebHostingThisreferstothebusinessofprovidingthestorage,connectivityand
servicenecessarytoservefilesforawebsite (MarketingTerms,n.d.).Thisgenerally
involvesputtingyourwebsitescontentonawebserver.Thisserverspacecanbebought
orrentedfromanInternetServiceProvider(ISP).Webhostingservicesarecommonly
servedfromoneofthefollowingtwohostingplatform(tutorialpoint,n.d.):
1. WebHostingServersTheseprovideshostingserversrunningdifferentflavoursof
Windowsandareusuallymoreexpansivebecauseofsoftwareincensingcosts.
2. LinuxHostingServersTheseprovideshostingserversrunningdifferentflavoursof
UNIXandarecheaperthattheWindowsHostingServers.

KENO LEE
Page 29

MAJOR PROJECT

BSC BUSINESS COMPUTING

Thereexistsarangeofhostingtypesavailableforselectionbasedonrequirementand
budget,whichincludesfreehosting,sharedhosting,virtualdedicatedhosting,dedicated
hostingandcolocatedhosting(tutorialpoint,n.d.).

2.1.2WebHostingCompaniesinTrinidad
ResearchofthreewebhostingcompaniesinTrinidadandTobagowasdonerelevantto
thetypeofservicestheyprovide,theserverlanguagetheyuseanddatabasetype.The
followinginformationwasgatheredduringthisresearch:
1. TrinidadWebHost ThisCompanyprovidewebhostingservicesforindividuals,
hobbyist, entrepreneurs and companies. These services include web hosting, VPS
hosting, domain name registration and professional email plans. The web hosting
service provided by this company offers features such as CPanel Control Panel,
LiteSpeed Enterprise WEbserver and CloudLinux Commercial OS. Trinidad Web
HostsupportsavarietyofLinuxcompatibleweblanguagessuchasphp,htmland
perl. They support mysql and mysqli with prepared statements databases
(Trinidadwebhost.com,n.d.).
2. EcaribayThiswebhostingcompanyprovidesproductsandservicessuchasdomain
registration,domaintransfers,sharedhosting,emailhostingandSSLcertificates.This
companyprovidesUnixHostingPlanswhichareavailableinpersonal,businessor
advanced.EcaribayusestheParallelsPleskPaneltosupportitsclients.Thispanelis
userfriendly and full of features aimed at ensuring an enjoyable web hosting
experience.Itsfeaturesincludessitebuilderwithover70designtemplates,over100
open source software and website staging. Ecaribay uses the serverside scripting
language PHP5, a MySQL database and programming languages such as Python,
RubyonRailsandCGI/Perl(Ecaribay.com,n.d.).
3. MaximusDesignStudiosLtd.ThisCompanyprovideswebhostingsolutionswitha
rangeofusefulfeatures.TheirinfluencespanacrossTrinidadandTobagoandfour
countriesincludingtheUSA,UK,BahamasandCaymanIslands.MaximusDesign
Studioslimitedservesasaonestopshopfortheirclientsdesign,web,marketing,
printandinternetneeds.Thewebhostingsolutionsprovidedbythiscompanyaffords

KENO LEE
Page 30

MAJOR PROJECT

BSC BUSINESS COMPUTING

itsuserswithFantasticoOneClickInstalls,freesitebuilder,easytousecontrolpanel,
webbasedemailaccessand99.9%uptime(MaximusDesignStudioLTD,n.d.).

2.2CaseStudies Inthisstudyresearchwasdoneonthreeorganisationsrunningsimilar
systemstothatoftheproposedSalesDatabaseManagementSystem.Theseorganizations
includedAmazon.com,Ebay.comandStubhub.com.Thedetailsofthestudywillprovidea
briefhistoryoftheorganization,anyproblemsfacedandmostimportantlylookontheir
technologyintermsofhardware,softwareandwebsitetodatabaseintegration.
2.2.1Amazon.com
Amzon.com is a Fortune 500 ecommerce company based in Seattle, Washington. This
organization is multinational and was one of the first to sell goods over the Internet.
Amazon.comwasfoundedin1994,butlaunchedin1995andnowsellsawiderangeof
productsincludingbooks,CDsandDVDsandclothing.InAmazonsearlyyearsofexistence,
theyexperiencedscalingissueswhichledAmazontomakeabigarchitecturalchangefroma
twotier monolith to a fully distributed, decentralized services platform serving many
differentapplications.
TodayAmazon.comboastthreeoftheworldslargestLinuxDatabasesandaCentralData
Warehouse comprising of 28 HP Servers/4 CPU nodes running on Oracle 9i software.
SecuritywasamajorconcernofAmazon.comsincethousandsofpeoplesendtheirpersonal
andcreditcardinformationtotheirserverseveryday.Tooptimizetheirwebsitessecurity
Amazon.comemployedtheNetscapeSecureCommerceServerusingSSLprotocol.
Amazon.comswebsiteapplicationcodeiswritteninPerl/Masonwiththelatterallowingfor
theinterpolatingofPerlandHTMLasispossiblewithPHP.Theorganizationsarchitecture
howeverincludesotherplatformsandprogramminglanguagessuchasC++,Java,Jbossand
Servelets(howstuffworks,n.d.).

2.2.2Ebay.com
Founded in 1995 Ebay.com is a multinational online auction and shopping website that
allows for buying and selling a wide range of goods and services worldwide. This
organisations product and service range are categorized as Books, Clothing, Shoes and
Accessories,DVDsandMovies,ElectronicsandBabytonameafew.In1995Ebay.comwas

KENO LEE
Page 31

MAJOR PROJECT

BSC BUSINESS COMPUTING

builtonFreeBSD,Apache,PerlandGDBM.In1997EbayswebsitemigratedtoNT,ISSand
C++withOracleDBonSolaris.
In1999Ebaysufferedfromaseriesofservicedisruptionsandmadeacompleterestructureof
their architecture. Ebays entire system was rewritten in J2EE in 2002 and by 2005
Ebay.com boasted 200 database servers housed in sets of fifty (50) at four (4) different
locations and twenty (20) search servers. This companys technological architecture also
includesfifty(50)webservers,applicationserversanddatastoragesystemsthattalktoeach
otherwitheachserverhavingbetweensix(6)andtwelve(12)microprocessors.Itmustbe
notedthatalthoughtheseserverscommunicatewitheachothertheyrunseparately,which
makestheaddingofadditionalserverseasyshouldproblemsarise.
The architecture is a type of grid computing that allows for collecting errors as well as
growth.EbaysdatabaserunsonOraclesoftwareandtheoverallarchitectureoperatingona
mixofUNIXandWindowsOperatingSystem.Ebay.comsinfrastructureallowsmillionsof
peopletosearch,buyandsellitemssimultaneously.Ontheuserendthesystemisaseamless
one(HighScalability,2008).

2.2.3Stubhub.com
Stubhub.comisanonlineticketmarketplaceandEBaysubsidiarythatfacilitatesthebuying
and selling of tickets to live entertainment and sporting events. Founded in 2000 this
organization grew fast and by 2006 the companys limited technological infrastructure
threatenedtheirlongtermsurvival.Stubhubsaccesstodata,customersandbusinessdrivers
wereinefficientandoutdated.Acombinationofopensourcetechnologywiththebestof
breedsoftwaretoolswerelookedonasapossiblesolutionthatwouldprovideascalable
warehouseinfrastructure.
TodayStubhub.comstechnologicalinfrastructureincludesamixofopensourcetechnology
andbestofbreedsoftwaretoolsfromBusinessObjects,Oracle,OmnitureandSAS.Aphased
approachwasusedtodeploytheextendiblebusinessintelligence(BI)/datawarehouse(DW)
infrastructure.Stubhub.commovedfromAccessandExceltoOracleandBusinessObjects
whichtheystillusetoday.CurrentlythecompanyutilizesthesoftwareprogramOmnitureto
monitoritswebsitesactivityandtoproducerealtimereporting.

KENO LEE
Page 32

MAJOR PROJECT

BSC BUSINESS COMPUTING

StubhubsarchitecturealsoincludesthreesourcesofticketpurchasesnamelyWeb,Pointof
SaleSystemsandBulkupload.AManagerlayerprovidesobjectabstractionabovetheTicket
databaseaswellasmediatesallconversationswiththetickettable.Twodatapumpfeedsdata
fromtheticketdatabasetointernalandexternalsystems.Thisarchitectureissupportedbya
platformthatincludesJava,ColdFusion(Legacy),ActiveMQ,SEDA,Jboss,XSL,Advanced
Queuing from Oracle, Apache HttpClient and Log4j using the messaging format (High
Scalability,2012).

KENO LEE
Page 33

MAJOR PROJECT

BSC BUSINESS COMPUTING

3.RESEARCHORINVESTIGATIVEMETHOD
KENO LEE
Page 34

MAJOR PROJECT

BSC BUSINESS COMPUTING

Detailsoftheresearchorinvestigativemethodselected:

Research
Types

Deductive
Approach

Inductive
Approach

3.1Deductive/Inductive

3.1.1DeductiveResearchApproachThedeductiveresearchapproachworksfroma
more general to the more specific. This is often informally called a topdown
approach.Thisapproachgenerallybeginswithatheoreticalthoughtrelatedtoatopic
ofinterest.Thisisthennarroweddownintomorespecifichypothesesthataretestable.
This approach narrows specifics even further when observations to address the
hypotheses are made. Ultimately it allows for the testing of the hypotheses with
specific data, which generally is a confirmation of original theories. Conclusions
followlogicallyfromavailablefacts(ResearchMethodsKnowledgeBase,2006).

3.1.2InductiveResearchApproach Theinductiveresearchapproachmovesfrom
specific observations to broader generalizations and theories. This approach is
sometimesinformallycalledabottomupapproach.Inductiveresearchbeginswith
specificobservationsandmeasures.Patternsandregularitiesaredetectedandsome
tentative hypotheses that can be explored are formulated. The final output of this
research is the development of general conclusions and theories. This approach
involvessomedegreeofuncertainty(ResearchMethodsKnowledgeBase,2006).

3.2Survey/CaseStudy/ActionResearch

KENO LEE
Page 35

MAJOR PROJECT

BSC BUSINESS COMPUTING

3.2.1SurveyResearchThisisoneofthemorefrequentlyusedquantitativesocial
science research. The survey approach involves the researcher selecting and
administeringastandardizedquestionnairetoasampleofrespondents.Asurveycan
beawrittendocumentthatis completedbythe personbeingsurveyed,an online
questionnaire,afacetofaceintervieworatelephoneinterview.Surveysallowsforthe
collectingofdatafromlargeorsmallpopulationswhichissometimesreferredtoas
theuniverseofastudy.Thereexistseveraltypesofsurveyswhichcanbedistributed
using a variety of media. These include written surveys, oral surveys, electronic
surveys and example surveys. The methods utilized when designing, conducting,
analyzing and reporting the results of surveys differs according to the goals of
research.Thesurveyedpopulationandthesurveytypeused(Writing@CSU,n.d.).
3.2.2CaseStudyAcasestudyfromaresearchperspectiveisaholisticinquirythat
investigatesacontemporaryphenomenonwithinitsnaturalsettings.Thisgenerally
involvescollectingandpresentingdetailedinformationaboutaparticularparticipant
orsmallgroup,frequentlyincludingtheaccountsofsubjectsthemselves.Thistypeof
research is a form of qualitative descriptive research which looks intensely at an
individual or small participant pool and drawing conclusions only about that
individualorparticipantgroupandonlyinthatspecificcontext.Thisresearchmethod
emphasizesonexplorationanddescriptionandnotthegeneraltruth(Writing@CSU,
n.d.). CaseStudiesmaydealwitheithersingleormultiplecases,withsinglecase
studieshavingtwotypes,namelyintrinsicandinstrumental.Anintrinsiccasestudyis
aimedatlearningaboutauniquephenomenonwhichthestudyisfocusedon.An
instrumentalcasestudyisaimatprovidingageneralunderstandingofaphenomenon
usingaparticularcase.Thecollectivecasestudydealswithmultiplecasesandis
aimed at providing a general understanding using a number of instrumental case
studies(Yin,1999).Thetypeofstudyperformedisdependentonthetypeofcasethat
ismostusefulforthepurposeoftheresearch.
3.2.3Action Research The action research method is a type ofresearch where
researchersreflectsystematicallyontheirpractice,implementinginformedactionsto
bringaboutimprovementinpractice.Itisalsowidelydescribedasaformofself
reflectiveenquiryundertakenbyparticipantsinsocialsituationsinordertoimprove
the rationality and justice of their own social or educational practices, their
KENO LEE
Page 36

MAJOR PROJECT

BSC BUSINESS COMPUTING

understandingofthesepracticesandthesituationinwhichthesepracticesarecarried
out. This researchmethoddefinesareas forimprovinglearning,developingaction
plans,actingonplans,gatheringdata,assessingtheirlearningandredefiningareasof
further improvement. The main characteristics of action research are, it follows a
cycle,itrequiresseparatebutmutuallydependentsteps,itisparticipativeandallows
forboththeresearcherandthesubjecttobeactiveparticipantsintheresearchprocess,
itgeneratesqualitativedataandtheprocessisreflective.Actionresearchprocesses
vary,howeverthereiscommonemphasisoncriticalanddemocraticsocialtheoryand
adeparturefromunengagedresearchastheappropriateenquirypathforpractitioners
inpracticalsolutions(CarrandKemmis,1986).

3.3One/Mixed/Multi
Anappropriatemethodofresearchmustbeselectedonceyourideahasbeenturnedintoa
researchquestionandareviewofanynecessaryliteraturedone.Themethodologyselected
shouldbetheoneconsideredtobemosteffectiveforcollectingthedataneededtotestthe
hypothesis.Aresearchmethodcaneitherbequalitativeorquantitative.Ithowevermustbe
notedthatitispossibletousemixedormultipleapproaches.Whenconsideringtheone
approach,anyofthefollowingtwomethodscanbeused:

3.3.1OneMethodResearch
QuantitativeMethodsUsingthistypeofresearch,thedatacollectedtakestheform
ofmeasurementsorcountswhichcanbestatisticallyanalyzed.Quantitativeresearch
followsstandardprocedures,methods,formsofanalysisandreportingtheresultsof
theresearchundertaken.Thisstandardisationmaximisesobjectivityandthemethodis
basedonmeaningsderivedfromnumbersandresultsarenumericalandstandardised
data(rdinfo.org.uk,n.d.).

Qualitative Methods This approach offers insights and understanding of


participants,whichisnotobtainablefromquantitativeresearch.Qualitativeresearch
aims to study the subject in their natural surroundings and to collect naturally
occurringnonbiaseddata.Descriptionsaregiveninwordsratherthannumbersofthe
qualitiesofthesubjectthroughobservation.Methodsofqualitativeresearchinclude
structured and unstructured interviews, group interviews and focus groups. Using
KENO LEE
Page 37

MAJOR PROJECT

BSC BUSINESS COMPUTING

qualitativeresearchmethodsallowsforhighlightingkeythemesorpatternsemerging
intheprojectandusingthemtocomprehendandmanagedatawhendevelopingand
testingthehypothesis(rdinfo.org.uk,n.d.).

3.3.2MixedMethodResearch
Mixed method research is a combination of both qualitative and quantitative research
methods.Thisapproachcanbeusedinvariousways,wherebyeachapproachcontributesto
the description of a phenomenon. This approach allows for a better understanding of
research.Mixedmethodsareresearchstrategiesthatcrosstheboundariesofconventional
paradigmsofresearchbydeliberatelycombiningmethodsdrawnfromdifferentunderlying
assumptions.Thereexistfourmixeddesignapproachesthatmaybeusedinmixedmethod
research,namelyconcurrentdesign,concurrenttriangulation,paralleldesignandsequential
designs(DiversifiedTopics,2011).

3.3.3MultiMethodResearch
Multimethodresearchusesdifferentmethodsofdatacollectionandanalysiswithasingle
paradigm.Inthisapproach,referencecanbemadetoquantitativeorqualitativeapproaches.
Thereexisttwotypesunderthisapproach,namelymultimethodquantitativestudiesand
multi method qualitative studies. The multi method quantitative studies stay within the
paradigmbutusemorethanonemethodofdatacollection.Themultimethodqualitative
studies on the other hand may combine interviews and observations made of email
discussions.Theideaistocrosscheckbetweensourcesandtosupplementonekindofdata
withanother(Commonwealthoflearning,n.d.).

3.4DataCollectionMethodsandAnalysis
Themostimportantruleconcerningdatacollectionandanalysisisnottocollectoranalyseall
possiblekindsofdata.Relevanttothisprojectthefollowingmethodswillbeexplored:

3.4.1InterviewsThisisoneofthemostcommonmethodsforcollectingdata
inqualitativeresearch.Interviewsallowparticipantstoproviderich,contextual
descriptionsofevents.Theprocesscanbesomewhattimeconsumingandthe
qualityofdataisoftendependentontheaptitudeoftheinterviewer(Michelle
KENO LEE
Page 38

MAJOR PROJECT

BSC BUSINESS COMPUTING

Bryne,2001).Thereexistthreeapproachestoqualitativeinterviewsnamely,
informal conversational, semistructured and standardized openended.
Interviewsareusefulforgettingmoreindepthinformationaboutperceptions,
insights, attitudes, experiences or beliefs. It also allows for evaluating
individual differences between respondents experiences and outcomes and
serves as a follow up to other methods (Data Collection Methods for
Evaluation,2009).

3.4.2QuestionnairesTheseareasetofcarefullydesignedquestionsgivenin
exactlythesameformtoagroupofpeopleforthepurposeofcollectingdata
aboutsomeresearchtopic (SAGEresearchmethods,2006).Questionnaires
can be administered by mail, telephone, using face to face interviews, as
handouts or electronically. The use of questionnaires are appropriate when
resourcesarelimitedandyouneeddatafrommanypeople,togatherdataabout
knowledge,beliefs,attitudesandbehavioursandwhenitisimportanttoprotect
theprivacyofparticipants(EvaluationBriefs,2008).

3.4.3Observations Thisisamethodbywhichanindividualorindividuals
gather first hand data on systems, processed or behaviours. It allows for
collecting data on a wide range of behaviours, to identify a variety of
interactionsandtoopenlyexploretheevaluationtopic.Directobservationof
operationsandactivitiesallowstheevaluatortodevelopaholisticperspective
relative tothe context within which the project operates. This method also
allows the evaluator to learn about things the participants or staff maybe
unawareoforunwillingtodiscussinaninterview.Observationsmaybeare
useful duringbothformative andsummativephases ofevaluation (nfs.gov,
n.d).

3.5Methodology

This refers to the proper documentation of stages in the system development lifecycle. A
methodologyclearlystateswelldefinedobjectivesandoutputsthateachphasemustproduce.The
definedoutputmustbeachievedattheendofeachstagefortheothertoinitiate.Thistermalso
outlines the framework for documentation as well as procedures and coding standards
KENO LEE
Page 39

MAJOR PROJECT

BSC BUSINESS COMPUTING

(kuhnllc.com,n.d.).Thisprojectwillfeatureoneofthefollowingtwomethodologies,namely
theStructuredSystemAnalysisandDesignMethodology(SSADM)andtheObjectOriented
Methodology.

3.5.1SSADM Thisisasystemsdevelopmentmethodologythatcanbeappliedtothe
analysis and design stages of system development. This methodology involves a
systematicapproachtotheanalysisanddesignstages howeverstrategicinformational
planningissuesaswellasthephysicalbuilding,softwaretestingandimplementationare
excluded.Thetwostagesarebrokendown,definedandillustratedusingtextaswellas
diagrams.SSADMinvolvesthreemaintechniquesinitsdevelopmentprocess,namely:

LogicalDataModelling Thisinvolvesmodellingthedatarequirementsofthe
system.Theserequirementsareindentified,modelledandproperlydocumented.

DataFlowModellingThisistheprocessofmodellingandidentifyinghowdata
circulates within a system. Details identified and modelled must be well
documented.

EntityBehaviourModellingThisistheprocessofidentifyingandmodellingthe
events that directly impacts each entity. In this process sequential events are
identified,modelledanddocumentedinthesequencethattheyoccur.

3.5.2ObjectOrientedMethodologyThisisaprogrammingmethodologythatisbased
on objects instead of just functions and procedures. These objects are organised into
classes which allows for grouping individual objects together. The techniques this
methodologyaffordscanbeusedbyanalysttoidentifyobjectsofthesystemandtheir
behaviourastimegoesbyandchangesthatoccursasaresultofthehappeningofevents.
Anobjectinthismethodologyreferstoaspecifictypeofinstanceoraclass(Techterms,
n.d.). Relationships that exist between objects of the system are defined and their
attributes, differences and system manipulation needs identified and explored. Object
OrientedMethodologyutilizesUnifiedModellingLanguage(UML)whendesigningand
this allows for specifying, visualizing, constructing and documenting the systems
artefacts.UMLallowsforthegraphicaldisplayofanalysisanddesign(Sanskrut,2007).

KENO LEE
Page 40

MAJOR PROJECT

BSC BUSINESS COMPUTING

Inobjectorienteddesignthereexistthreemainmechanismsthatformthefoundationfor
thesystemsdevelopment.Thesemechanismsare(James,M.andJames,O.,1998):

EncapsulationThisreferstotheprocesswherebyobjectscompiledataandtheir
accessmethods.Whenthisoccurs,datawithinobjectsareonlyaccessibleviathe
useofthesemethodsanddatacannotbeseenbytheoutsideworldwhenanobject
isencapsulated.

Inheritance Thisreferstowhenanobjectthatbelongstoanoverallclassof
objects has the same access methods and characteristics. Objects may inherit
characteristicsfromtheirparentclass.

Polymorphism Thisreferstoinstanceswheredifferentclassescanimplement
thesamemessage.
Theobjectorientedprocessinvolvesidentifyingsystemobjectsandrelationshipsthat
existamongthem.Oncetheserelationshipsareidentified,thencodingcanbegin.System
analysis,systemdesign,objectdesignandimplementationareallfoundationstagesof
thisprocess.

3.6Justificationofchoice

Ithasbeendecidedthattheobjectorientedmethodologywillbeusedinthedevelopmentofthe
system.ThismethodologywasconsideredtobethemostappropriatehavingchosentheWaterfall
LifecycleModelasthedevelopmentspecificationonwhichthesystemwillbedeveloped.The
WaterfallLifecycleModelallowsforresearchtobedoneateachofitsstages,whichprovidesa
solidgroundsfortheinitialobjectorienteddesignstobedrawn.Thiscombinationwillallowfora
combinationofpropertextualdocumentationaswellasdiagramsforillustratingdesign.Itwill
alsoprovideawiderscopeforuserstounderstandtheproposedsystemaswellasthepromiseof
reduced maintenance, code reusability, real world modelling and improved reliability and
flexibility.TheObjectOrientedMethodologyisanapproachtosystemdesignwhichcanbe
implementedwithoutanychangestoexistingsoftwaretechnology.

KENO LEE
Page 41

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 42

MAJOR PROJECT

BSC BUSINESS COMPUTING

4.FEASIBILITYSTUDY
Theconductingofafeasibilitystudyintheearlystagesofaprojectiscrucial,sincethestudyserves
asavitalcomponentinthebusinessdevelopmentprocessandenablesorganizationstoassessthe
viabilityandcostbenefitsoftheprojectbeforeallocatingfinancialresources.Italsoprovidesan
independent assessment of the project and an overall enhancement of a projects credibility. A
feasibilitystudyserves asausefullogicaltoolthataidstheeconomicdecisionmakingprocess,
ensuringthatviabledecisionsaremadebeforeresourcesareinvested(existbi,n.d.).

4.1 Business Case This is part of a projects mandate and is produced before the project
initiates.Abusinesscaseseekstoaddressatahighlevel,thebusinessneedsthattheproject
shouldmeet.Itusuallyincludesthereasonsfortheproject,expectedbusinessbenefits,different
optionsconsideredwiththerelevantjustificationwhereselectionsaremadeandtheexpectedcost
oftheproject.ThebusinesscaseisusuallyreviewedattheinitiationoftheprojectbeforeaGo
orNoGodecisionismadeandshouldideallybeperiodicallyreviewedduringtheproject.
Periodicalreviewensuresthatthebusinesscaseisstillvalidandthattheprojectisstillontrackto

KENO LEE
Page 43

MAJOR PROJECT

BSC BUSINESS COMPUTING

deliverthesolutiontothebusinessneed (infolific,n.d.).Relevanttothisproject,thefollowing
pointswillarediscussed:

4.1.1EconomicAnalysis Thisisthemostwidelyusedmethodwhenevaluatingthe
effectiveness of developing a new system. This term is commonly referred to as a
cost/benefitanalysisandtheprocedureisaimedatdeterminingthebenefitsandsavings
that are expected from the proposed system and comparing them with costs. When
benefitsoutweighcoststhenthedecisiontogoaheadwiththeprojectcanbemade.Cost
andbenefitfactorsareidentifiedinthisanalysisandcanbecategorisedasdevelopment
cost, operation cost and benefits (Matson, J., 2000). Specific for this project, the
followingpointswillbediscussedundereconomicanalysis:

CostBenefitAnalysisThisisatechniquethatshouldbeutilizedtohelpindeciding
the feasibility of the proposed system. This analysis will quantify the Database
ManagementSystems costs andbenefits andproviderealisticstatisticstoaidthe
decisionmakingprocess.Relativetothisprojectthecostbenefitanalysiswillconsider
all development costs, cost pertaining to building the system as well as
implementation costs. The analysis that follows will consider hardware, software,
labour,trainingandinstallationcosts.Thisanalysiswilldeterminefromafinancial
perspectivewhetheritisfeasibletogoaheadwiththeproject(cs.uwaterloo.ca,n.d.).
EstimatedCosts

Costs

Total

DEVELOPMENTCOST

Year0
1DellDesktopComputer
1HPLaserJetPro

$4000.00
$1200.00

1Modem(Providedwith
InternetService)
NortonAntivirus(1Year)
MicrosoftOffice
Professional
TotalDevelopmentCost

OPERA

ComputerService
PrinterInkandPaper

Year1

Year2

Year3

Year4

Year5

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

$250.00

$220.00
______

______

______

______

______

$1280.00

$850.00

$1200.00
$250.00

$220.00

$6950.00
______

$4000.00

$1280.00
______

______

______

______

______
$6950.00

______
$850.00

______
$850.00

KENO LEE
Page 44

______
$850.00

$500.00

$750.00

$1250.00

$850.00

$850.00

$5100.00

BSC BUSINESS COMPUTING

TIONALCOST

MAJOR PROJECT

NortonReActivation

$220.00

$220.00

$220.00

$220.00

$220.00

$1100.00

$4000.00

$4000.00

$4000.00

$4000.00

$4000.00

$20000.00

$2500.00

$2500.00

$2500.00

$2500.00

$2500.00

$12500.00

$850.00

$7570.00

$7570.00

$7570.00

$8070.00

$8320.00

$39950.00

$7800.00

$15370.00

$22940.00

$30510.00

$38580.00

$46900.00

$46900.00

$3200.00

$3300.00

$3400.00

$3500.00

$3500.00

$20900.00

$2500.00

$2600.00

$2600.00

$2800.00

$3000.00

$16500.00

$2350.00

$2400.00

$2400.00

$2500.00

$2600.00

$14250.00

$1900.00

$2200.00

$2250.00

$2300.00

$2500.00

$12650.00

$1520.00

$1800.00

$1800.00

$1900.00

$2000.00

$10270.00

$2100.00

$2250.00

$2300.00

$2300.00

$2500.00

$12700.00

$13570.00

$14550.00

$14750.00

$15300.00

$16100.00

$74270.00
______

$13570.00

$28120.00

$42870.00

$58170.00

$74270.00

Electricity

______

Internet

______

TotalOperationalCost
AccumulativeCost
Computerizedrecordsof
salesandstock.
Computerizedrecordsof
balancesowed.
Reliablecomputerized

BENEFITS

storage.
Efficientandcustomer
friendlyinformation
gathering.
Reduceddatamanagement
time.
Easierdataanalysis
capabilities.
TotalBenefits

______
______
______

______

______
______
______

AccumulativeBenefits

______

Table4.1.1(A)

NetBenefit
Year1
Year2
Year3
Year4
Year5
Total

TotalBenefits
$13570.00
$14550.00
$14750.00
$15300.00
$16100.00
$87270.00

Minus

TotalCosts
$7570.00
$7570.00
$7570.00
$8070.00
$8320.00
$39100.00

Table4.1.1(B)

BreakEvenAnalysis

KENO LEE
Page 45

Equals
=
=
=
=
=
=

NetBenefit
$6000.00
$6980.00
$7180.00
$7230.00
$7780.00
$35170.00

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure4.1.1(A)

ReturnonInvestment(ROI)Over5Years
Calculation
$35170.00

ROI

100

$46900.00

74.9%

4.1.2SocialAnalysis
A social analysis is a very important aspect of a feasibility study. This analysis will
outline the users of the system and identify the different ways in which the
implementationofthenewsystemmayimpactthemfromsocialperspective.Relativeto
thestaffatHighDefinitionDVDClubthefollowingsocialimpactshavebeenidentified:
EmployeeSatisfactionAllemployeeshaveexpressedtheirsatisfactiontowards
theimplementationofthenewsystem.Themanagerhasassuredhersupportstaff
thathisjobisnotatriskandassuchhenowseesthenewsystemastoolthrough
whichhisjobwillbemadeeasier,efficientandmoreeffective.

KENO LEE
Page 46

MAJOR PROJECT

BSC BUSINESS COMPUTING

IncreasedMoraleThemanageraswellashersupportstaffhasbothindicated
thattheimplementationofthenewsystemwillbeahugemoralebooster.They
havebothportraithighlevelsofconfidenceandenthusiasmtowardstheproposed
systemandarelookingforwardtousingthenewsystemtocarryouttheirduties.
ResistancetoChangeNoemployeeofHighDefinitionDVDClubhasresisted
totheimplementationofthenewsystem.Themanagerensuredthathersupport
staffwasinvolvedfromtheprojectsinitiation,keepinghimwellinformedand
educatedastowhattheprojectinvolvesandthebenefitsthatthenewsystemwill
bring.Themangerhasmadeitcleartohersupportstaffthathisinputisimportant
totheprojectssuccessandthathisjobisinnowayunderthreat.

4.1.3TechnicalAnalysis
This analysis will involve the analysis of the businesss environment specific to its
physical structure and business operations relative to its current technological
infrastructure and the suggested technological infrastructure. This analysis will
specificallylookonhardware,software,benefitsandcostasitrelatestothecurrentand
suggestedtechnologicalinfrastructure.

CurrentTechnologicalInfrastructure
Therecurrentlyexistsonedesktopcomputervaluedatthreethousandfivehundred
dollarsatHighDefinitionDVDClub.Thiscomputerhoweverhasneverbeenused
fortherecordingofsales,stockorcustomermembershipandhasprimarilybeen
used for troubleshooting DVD errors and nonfunctionality. Apart from this
computer, there exists no other hardware or software relative to the business
technologicalinfrastructure.Thebusinesshasoperatedastrictlymanualsystemof
recording transactions since its inception. Infrastructure to support the use of
technologyishoweverpresentandincludesaproperelectricalsupplyandexisting
wiringtosupportanInternetservicesincethebusinesscurrentlyhasFlowCable
TVinstalled.

SuggestedTechnologicalInfrastructure
Component

Cost

KENO LEE
Page 47

Benefits

MAJOR PROJECT

BSC BUSINESS COMPUTING

1DellDesktopComputer(IntelCore
i3 processor @ 2.60 GHz, 4 GB

HARDWARE

DDR3SDRAM,500GBHardDrive,

Providesthehardwareonwhich
$4000.00

theDatabaseManagement
Systemwillbeinstalled.
Providesthehardwareonwhich

IntelHDGraphics2000,20Monitor

ahostofotherprogrammescan

and18XDVDBurner)

beusedpreparingandanalyzing
1HPLaserJetProP1606dn
1Modem(TobeprovidedwithFlow
InternetService)
NortonAntivirusSoftware(1Year)

reports.
$1200.00 Willallowfortheprintingof

$250.00

reports.
WillallowforInternet

accessibility.
$220.00 Providessecurityagainst
maliciousthreatsthatmayharm

SOFTWARE

MicrosoftOfficeProfessional(Full)

thecomputer.
$1280.00 Providesarangeofprogrammes
thatwillbeusefulwhen
preparingreportsandconducting

AdobeReader(FreewithDesktop)

_____

analysis.
Willallowfortheopeningand
viewingofPDFfiles.Thiswill
beneficial since archive records
will be maintained as PDF for
securityreasons.

4.1.4GoorNoGoDecision
Theinvestigativeandanalysisworkdoneinthefeasibilitystudypaintedaclearerpicture
ofwhatthebusinesswillberequiredtoinjectintotheprojectoverafiveyearperiod
relativetothedevelopmentoftheSalesDatabaseManagementSystemaswellasthe
benefitsthatthebusinesswillenjoyoverafiveyearperiod.Analysisworkdoneinthe
differentareaofthestudyprovidedfactualevidenceoftheprojectsfeasibility.Thisstudy
was utilized during the decision making process with management and they were
impressedwiththeproposedbenefitsandmostofallthe74.9%returnoninvestmentover
a five year period. The manager has given the go ahead to move forward with the
developmentoftheSalesDatabaseManagementSystem.

KENO LEE
Page 48

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 49

MAJOR PROJECT

BSC BUSINESS COMPUTING

5.SYSTEMANALYSIS
Thisanalysiswillinvolveasystematicapproachthatisaimedathelpingthedecisionmakingprocess
KENO LEE
Page 50

MAJOR PROJECT

BSC BUSINESS COMPUTING

relevanttochoosingacourseofactionbyinvestigatingthefullproblemanddefiningobjectivesand
alternativesforaproblemsolvingcomparison.

5.1ProblemSpecificationofcurrentsystemThecurrentsystemofoperationatHigh
DefinitionDVDClubisstrictlymanual.Theoperationofsuchasystemhavebeenand
beenextremelytediousovertheyearsandhavedrasticallyimpactedthequalityofdata
recorded. The current system does not afford its users efficiency, consistency and
concisenesswhenrecordingbusinesstransactions.Datarecordedisoftenincompleteand
containerrors.Thebusinesshasbeenlosingincomeasaresultofthemanagerhavingto
concedeinbusinesstransactionsduetothelackofsufficientdocumentationtobackany
inconsistencies. These problems associated with the current system are stifling the
businesssprogressandassuchthemanagerisnowcertainthatchangeistheanswerto
herproblem.

5.2FactFindingThisisaninvestigativeprocessthatwascarriedoutwiththeaimof
gatheringfactsonthebusinessforanalysispurposes.Aseriesoftechniquesincluding
questionnaires,interviews,observationsanddocumentationwasutilizedinthisprocess.

Questionnaires These were prepared and handed out to customers at High


DefinitionDVDClubandresidenceofthearea.Thequestionnaireconsistedof
strictlycloseendedquestionsandhadthreemainsectionsnamely,demographics,
problemsencounteredandrecommendedsolutions.Thegraphsandpiechartsthat
followarestatisticalrepresentationsofanalysisdonewiththefactsfound.
Interviews AninterviewwiththemanagerofHighDefinitionDVDClubwas
arrangedasanothertechniquethatcanbeusedtogatherfacts.Acomplimentof
sevenquestionswaspreparedandservedasthetoolthroughwhichthemanagers
viewonthecurrentsystemaswellastheproposedSalesDatabaseManagement
System.Itmustbenotedthatanyinformationconsideredtoberelevantoutsideof
whatisgatheredfromtheinterviewquestionswillalsoberecorded.

Observations This form of fact finding was conducted as a subset of the


interviewprocess.Thistechniquewasusedtogetafirsthandviewandbetter
understandingofthebusinesssdaytodayactivities,eventsandprocesses.This
willbeconductedoveratwodayperiod.
KENO LEE
Page 51

MAJOR PROJECT

BSC BUSINESS COMPUTING

Documentation Thisformoffactfindingisessentialtoanalysisandinvolves
definingthecontentandtypesofdocumentstored.HighDefinitionDVDClub
currentlydoalltheirdocumentationinnotebooks.

5.3AnalysisofdatacollectedThiswillinvolvetheassessmentandanalysisofthefacts
foundhavinghandedoutquestionnairestocustomersofHighDefinitionDVDClub.The
graphsandpiechartsthatfollowseektomeaningfullydisplaystatisticaldatagatheredso
astoallowforanalysis.

5.3.1QuestionnaireAnalysis
45%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%

40%

18-24Years
25-31 Years
32-40years

10%

5%

40+ Years

Age Group
Figure5.3.1relativetocustomeragegroup

Figure5.3.1representsstatisticsofthedatagatheredrelativetoQuestion1.Thisquestion
soughttodeterminetheagegroupofcustomersthatfrequentsthebusiness.Thefindings
showthat45%ofthebusinessscustomerpopulationfallswithinthe1824agegroup,40%
between2531,10%between3240and5%overtheageof40.Itisevidentthatthevast
majority of the DVD Clubs population falls between the ages of 1831. 85% of the
populationfallswithinthisagegroup.

KENO LEE
Page 52

MAJOR PROJECT

BSC BUSINESS COMPUTING

7%

Acceptable
Not Acceptable

93%

Figure5.3.2relativetokeepingpaperbasedrecordsusingmanualsystem

Figure5.3.2representsstatisticsofthedatagatheredrelativetoQuestion5.Thisquestion
soughtcustomersviewonthemanualandpaperbasedmethodsofrecordingbusiness
transactionsattheDVDClub.Itisquiteclearfromthegraph,customersopinionofsuchas
system.93%anoverwhelmingmajorityofcustomersfinditunacceptable.Thisstrengthens
thecasefortheproposedSalesDatabaseManagementSystem.

60%

50% 35% 10%

5%

Never
Almost Always

40%

Regularly

20%

Once or Twice
Regularly
Almost Always

Once or Twice

0%

Never

Financial Differences

Figure5.3.3relativetofinancialdifferenceswiththemanager

Figure5.3.3representsstatisticsofthedatagatheredrelativetoQuestion7.Thisquestion
soughttodeterminewhethercustomershadanyfinancialfalloutswiththemanagerduetothe
improperkeepingofrecords.Thegraphshowsthat50%ofcustomerneverhadsuch.Thisis
good,howeveroftheother50%somemorethanothersexperiencedsuch.While35%ofthis
50%onlyexperiencedthisonceortwice,stepsmustbetakentoensurethatsuchdifferences
arenotasaresultofimproperrecordkeeping.

KENO LEE
Page 53

MAJOR PROJECT

BSC BUSINESS COMPUTING

5%

25%
5%

65%

Service
Layout
Record Keeping
Product Availability

Figure5.3.4relativetotheareasthatnegativelyaffectcustomersthemost
Figure5.3.4representsstatisticsofthedatagatheredrelativetoQuestion8.Thisquestion
soughtcustomersviewonthebusinessareathataffectsthemmostattheDVDClub.Thepie
chartshowsthatavastmajorityof65%ofthecustomerpopulationareaffectedbyimproper
record keeping. A noticeable 25% indicated that service affects them the most and the
remaining 10% of the population event split between the business layout and product
availability.Itisquiteevidentfromthesefindingsthatcurrentsystemishurtingnotonlythe
businessbutitscustomers.

10%

Yes
No

90%
Figure5.3.5relativetowhetherthemanualpaperbasedsystemisthecauseoftheproblems
Figure5.3.5representsstatisticsofthedatagatheredrelativetoQuestion9.Thisquestion
soughtcustomeropiniononwhetherthemanualpaperbasedsystemofoperationisthecause
oftheproblemsfacedattheDVDClub.Itisclearfromthedoughnutchartthatthecurrent
systemisthecauseoftheprobleminthecustomersopinion.Aclearmajorityofmajorityof
90%ofcustomersresponsewasYesandamere10%ofthemthoughtotherwise.

KENO LEE
Page 54

MAJOR PROJECT

BSC BUSINESS COMPUTING

93%
100%
Filing Cabinets

80%

Proper Management

60%

Computerized System

40%
20%

2%

5%

0%

Figure5.3.6relativetoaresolutionfortheproblem
Figure5.3.6representsstatisticsofthedatagatheredrelativetoQuestion10.Thisquestion
soughtcustomerssuggestions as toaresolutiontotheproblems beingfaced.Thegraph
showsthataclearmajorityof93%ofcustomersbelievethatacomputerizedsystemwill
solvetheproblemscurrentlyfaced.Oftheremaining7%,5%seespropermanagementasthe
resolutionand2%indicatingthatfilingcabinetswilldothejob.

5.3.2InterviewAnalysis
Thisinterviewandanalysiswasdonewiththeaimofgatheringfirsthanddatafromthe
managerrelativetothebusinessscurrentsystemofoperation,theproblematicjunctions
inthecurrentsystem,herviewsontheproposedSalesDatabaseManagementSystemasa
possiblesolution,herfunctionalexpectationsoftheproposedsystemandhowsheplansto
financetheproposedbusinessplan.Thereportthatfollowsprovidesananalysisofthe
factsfoundintheinterview.
The manager has indicated that she currently runs a manual paperbased system of
recording her business transactions. She described the current system of manually
enteringdetailsofSales,StockandCustomerMembershipinnotebooksastediousand
inefficient.Shehasalsoindicatedthathercurrentmethodofgeneratingreportsfromdata
recordedinthenotebooksisinconsistentandsometimesincorrect.
Themanageroutlinedtheprocessofrecordingbusinessinformationasthejunctionat
which problems plague the current system. Problems associated with consistency,
correctness,efficiencyandtediousnessofdatacollection,drasticallyaffectsherabilityto
liaisewithhercustomersonthebusinessfloor.Themanagerinherfeedbackexpressed
great concern about discrepancies that are difficult to trace and correct in her profit
KENO LEE
Page 55

MAJOR PROJECT

BSC BUSINESS COMPUTING

calculations.Shebelievesthisisduetotheinconsistencyandincorrectnessofthedata
recorded.
When asked about the proposed Sales Database System as a possible solution, she
responded with a confident Yes. She indicated that the system will improve the
operationefficiencyandeffectivenessofthebusiness.Sheexpressedconfidencethather
recordkeepingproblemswillbeathingofthepastwiththeimplementationofsucha
system.Sheisveryenthusiasticaboutworkingwithasystemfromwhichshecaneasily
create,read,updateanddeletedetailsofSales,StockandCustomerMembership.Shealso
expectsthatthegeneratingofreportswillbecomeeasy.
Relativetofinancingthebusinessplan,themangerindicatedthatwhileshedoesnothave
allthefundsinsavings,shewillbelookingtoherbankforthefundingrequiredtofinance
the proposed business plan. She believes that she has a sound understanding of the
proposedSalesDatabaseManagementSystemandthebenefitsitwillbringherbusiness
andhasdedicatedherfullsupport.

5.3.3ObservationAnalysis
ObservationofHighDefinitionDVDClubwasconductedoveratwodayperiodwiththe
aimofascertainingandunderstandingthebusinesssactivities,eventsandprocessesusing
a birds eye view approach. This observation looked on processes, events and
activities,datastorageandpeople.
Process,EventsandActivities
SalesItwasobservedthattheDVDClubconsistentlyenjoyshighcustomertraffic,
withthemajorityofcustomersmakingapurchase.TheprocessofSalesincluded
customers browsing DVD displays and selecting DVDs they are interested in
purchasing. Customers would then approach the sales counter at which point a
paymentismade.DetailsofthesalearethenrecordedinanotebooklabelSalesby
the manager. It must be noted that nonmembership customers are offered
membershiptotheDVDClubinthisprocess.Customerswhoacceptedwererequired
to provide some personal identification information to the manager who in turn
recordedtheinformationinanotebooklabelledMembershipCustomers.
StockPurchasingThepurchasingofstockwhetherneworthereplenishingofstock
KENO LEE
Page 56

MAJOR PROJECT

BSC BUSINESS COMPUTING

whenthereorderlevelismetwasdoneonMondaysandThursdays.Themanager
wouldinformhersupplierofthestockneededpriortothedaysmentionedandthe
supplierinturnwillprepareanddeliverstockontheidentifieddays.Itwasobserved
thatondelivery,thesupplierwouldpackoutstockonthedisplaywallsunderthe
supervisionofthesupportstaff.Oncompletingthis,thesupplierprovidedinvoicing
fortheorderwhichthemanagerdoublecheckedbeforemakingapayment.
CalculationofdailysalesThisisdoneeachnightonthebusinesssclosurebythe
manager.Thisgenerallyinvolvedtheadditionofallsalesrecordedontheday.Itwas
observedthatwhenstockistakenandpaymentsaremadetothesupplierfromthe
dayssales,thiscostincurredissubtractedfromthedayssales.
DataStorage
Dataofsales,stockandcustomermembershipwasrecordedinthreeseparatenotebooks
thatwerelabelledrelativetowhatwasbeingrecordedinit.Itwasobservedthatlines
weredrawnineachtoprovidesomeseparationofdatainputted.Theserecordbookswere
storedinafilingdrawusedtohouseotherimportantdocuments,namelyreceiptsand
utilitybills.Thefilingdrawislocatedbehindthesalescounterandiskeptlockedafter
businesshours.Onlythemanagerhasthekeyforaccessingthedraw.
People
ManagerItwasobservedthatthemanageroverseesalloperationsofthebusiness,
ensuringasmoothflowonadailybasis.Shefacilitatescustomerspurchaseafterthey
have browsed and selected their DVD.When stock reaches its reorder level, the
managerisresponsibleforpurchasingstock.Thepaymentofthebusinesssutility
billsisalsodonebythemanageranditmustbenotedthatthemangerperformsinthe
capacityofarecordskeepersincesheisalsoresponsibleforrecordingandstoringall
businessinformation.
Support Staff It was observed that the support staff provides any technical or
generalsupporttocustomerswithregardstopreviewingDVDsusingthetelevisions
andDVDplayerswithinthebusiness.Heisalsoresponsibleforensuringtheneatness
andattractivenessofwalldisplaysandtheoveralltidinessofthebusinessinteriorand
exterior.Hisphysicalpresenceisimportanttoasmoothflowofeventsatthebusiness.
KENO LEE
Page 57

MAJOR PROJECT

BSC BUSINESS COMPUTING

5.4ObjectOrientedAnalysisandDesignDiagramsCurrentSystem

5.4.1UseCaseDiagram(CurrentSystem)

Figure 5.4.1
Figure 5.4.1 provides a visual description of the current system operated by High Definition
DVD Club from a Use Case perspective. The diagram outlines the user of the current system
and the tasks she manually performs.

5.4.2ClassDiagram(CurrentSystem)

Figure 5.4.2
KENO LEE
Page 58

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure 5.4.2 provides a visual illustration of the current system operated by High Definition
DVD Club from a Class: perspective. The diagram describes the object and information
structures used by the manual paper based system operated at the business. This is done
internally and via communication with its users. Classes and relationships that exist between
classes are outlined in the diagram above.

5.4.3SequenceDiagramforSalesProcess(CurrentSystem)

Figure 5.4.3
Figure 5.4.3 provides a visual description of the interactions that existed between the
customer, manager and objects in the current manual paper-based system and the messages
that are passed between them during the Sales process.

5.4.4SequenceDiagramforPurchaseProcess(CurrentSystem)

KENO LEE
Page 59

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure 5.4.4
Figure 5.4.4 provides a visual description of the interactions that existed between the supplier,
manager and objects in the current manual paper-based system and the messages that are
passed between them during the Purchase process.

5.4.5SequenceDiagramforCustomerMembershipProcess(CurrentSystem)

Figure 5.4.5
Figure 5.4.5 provides a visual description of the interactions that existed between the
customer, manager and objects in the current manual paper-based system and the messages
that are passed between them during the Purchase process.

5.5ObjectOrientedAnalysisandDesignDiagramsProposedSystem
KENO LEE
Page 60

MAJOR PROJECT

BSC BUSINESS COMPUTING

5.5.1UseCaseDiagram(ProposedSystem)

Figure 5.5.1
Figure 5.5.1 provides a visual description of the proposed system operated by High Definition
DVD Club from a Use Case perspective. The diagram outlines the user of the proposed
system and the tasks she will perform using new system.

5.5.2ClassDiagram(ProposedSystem)

KENO LEE
Page 61

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure 5.5.2
Figure 5.5.2 provides a visual illustration of the proposed system operated by High Definition
DVD Club using a Class Diagram. The diagram describes the object and information
structures used by the manual paper based system operated at the business. This is done
internally and via communication with its users. Classes and relationships that exist between
classes are outlined in the diagram above.

5.5.3SequenceDiagramforSalesProcess(ProposedSystem)

KENO LEE
Page 62

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure5.5.3
Figure 5.5.3 provides a visual description of the interactions that existed between the
customer, manager and objects in the proposed system and the messages that are passed
between them during the Sales Process.

5.5.4SequenceDiagramforPurchaseProcess(ProposedSystem)

Figure5.5.4
Figure 5.5.4 provides a visual description of the interactions that would exist between the
manager, supplier and objects in the proposed system along with the messages that are passed
between them during the Purchase Process.

5.5.5SequenceDiagramforAddCustomerMembershipProcess(ProposedSystem)
KENO LEE
Page 63

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure5.5.5
Figure 5.5.5 provides a visual description of the interactions that would exist between the
customer, manager and objects in the proposed system along with the messages that are
passed between them during the Add Customer Membership process.

State Transition Diagrams (Proposed System)


Figure 5.5.6 to 5.5.8 provides a visual description of all the states that the subject object
can have, the events under which the object changes state (transition), the conditions that
must be fulfilled before the transition occurs (guards) and the activities undertaken during
the life of the object (actions).

5.5.6StateTransitionDiagramforConductingaSale(ProposedSystem)

Figure5.5.6

5.5.7StateTransitionDiagramforPurchasingStock(ProposedSystem)

KENO LEE
Page 64

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure5.5.7
5.5.8StateTransitionDiagramforCustomerPurchase(ProposedSystem)

Figure5.5.8

KENO LEE
Page 65

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 66

MAJOR PROJECT

BSC BUSINESS COMPUTING

6.REQUIREMENTSPECIFICATION

6.1 Summary of proposed system A Sales Database Management System has been
proposedtoalleviatetheproblemsHighDefinitionDVDClubcurrentlyfaceswhileoperating
theirmanualsystem.Theproposedsystemwillprovideameansthroughwhichthecurrent
manual methods of recording business transactions can be computerized. The proposed
computerizedsystemwillallowforkeepingofconsistentandcompleterecords onsales,
stock,purchasesandcustomermembership.Itwillalsoallowforthegeneratingofreports
relevanttothepreviouslymentioned.Thedevelopmentoftheproposedsystemwillfollowthe
WaterfallLifecycleModelincollaborationwiththeObjectOrientedDesignMethodology.
TheOracle10gDeveloperSoftwarewillbethesoftwareusedtofacilitatethedevelopmentof
thisSalesDatabaseManagementSystem.

6.2FunctionalRequirementsThiswilldescribetherequiredorintendedbehaviourofthe
systemtobedeveloped.Whendescribingthefunctionalrequirementsofasoftwaresystemit
is important to include in the description inputs, behaviours and outputs. A systems
functionalbehaviourisgenerallyrepresentedasthefunctionalityorservicesthatthesystem
must be able to deliver (eogogicsinc, n.d.). Relevant to High Definition DVD Club, the
functionalrequirementsoftheSalesDatabaseManagementSystemincludes:

6.2.1SalesModuleThismoduleincludesallinformationrelevanttoconductingasale.
ThisinformationincludestheSaleID,SaleDateandCustomerID.Therealsoexistsa
SaleStock module which will form a relationship with the Sale module. The
SaleStockmodulecontainsinformationsuchasSaleID,DVDName,SaleQuantity,

KENO LEE
Page 67

MAJOR PROJECT

BSC BUSINESS COMPUTING

Unit Price and Sale Cost. The functional requirements of the overall Sale module
includes:
AddingaSale
UpdatingaSale
DeletingaSale
SearchingforaSale
ApartfromtheCRUDfunctions,theSalesModulewillalsobeableto:

GenerateTotalSalesReports

6.2.2 Stock Module This module includes all information relevant to stock. This
informationincludesDVDName,Genre,QuantityinStockandUnitPrice.Thefunctional
requirementsofthestockmoduleincludes:
AddingStock
UpdatingStock
DeletingStock
SearchingStock
ApartfromtheCRUDfunctions,theStockModulewillalsobeableto:

Triggeranalertwhenapredefinedreorderlevelismet
GeneratereportsofDVDsinStock
Automatically update quantity in stock when a sale is conducted or supplies
purchased

6.2.3SupplyModuleThismoduleincludesallinformationrelevanttothepurchaseof
supplies.IncludedinthismodulearetheSupplyID,SupplyDate,SupplyUnitPriceand
SupplierID.TherealsoexistaStockSupplymodule whichwillformarelationship
with the Supply module. The StockSupply module contains information such as
SupplyID,DVDName,Quantity,andSupplyCost.Thefunctionalrequirementsforthe
overallSupplymoduleincludes:
AddingaSupply
UpdatingaSupply
DeletingaSupply
SearchingaSupply

ApartfromCRUDfunctions,theSupplymodulewillalsobeableto:

GenerateTotalSuppliesReports

KENO LEE
Page 68

MAJOR PROJECT

BSC BUSINESS COMPUTING

6.2.4CustomerMembershipModuleThismoduleincludesallinformationrelevantto
customermembership.InformationincludedinthismoduleincludesCustomerID,Last
Name, First Name, Gender, Address, Membership Date and Customer Type. The
functionalrequirementsofthismoduleincludes:
AddingaNewCustomer
UpdatingaCustomer
DeletingaCustomer
SearchingforaCustomer
ApartfromtheCRUDfunctions,theCustomerModulewillbeableto:

GenerateaCustomerMembershipReport

6.3NonFunctionalRequirements Thisdefinestheoverallqualitiesorattributesofthe
resultingsystem.Thistypeofrequirementsplacesrestrictionontheproductbeingdeveloped,
the development process and specifies external constraints that the product must meet.
RelevanttoHighDefinitionDVDClubthenonfunctionalrequirementsoftheSalesDatabase
ManagementSystemare:

6.3.1SecurityTheinclusionofthisrequirementwillseektoensurethatunauthorised
accesstothesystemanditsdataisnotallowedaswellastoensuresomelevelofsystem
integrityfromaccidentalormaliciousdamage.ThesecurityrequirementsoftheSales
DatabaseManagementSystemincludes:
Hidingthesystemsinternalworkings.Usersshouldnotbeabletoaccessorview
thesystemsinternalworkingsorprocesses.Thesystemssecurityrequirement
shouldensurethis.
UsernameandPasswordPermissiontoaccesssystemdatashouldbeprotected
bytheneedforavalidusernameandpassword,Userswillberequiredtoenter
login credentials made up of a specified length and characters to access the
systemsdata.

6.3.2UsabilityThenewsystemmustprovideusabilitytoitsusers.Thiswillinvolvethe
easeatwhichuserslearntooperate,prepareandunderstandinputsandinterpretoutputs
ofthesystemoritscomponents.Theuseofwellstructuredusermanuals,informative
KENO LEE
Page 69

MAJOR PROJECT

BSC BUSINESS COMPUTING

error messages, help facilities and a well designed graphical user interface are all
importanttothisrequirement.

6.3.3ReliabilityThisreferstotheabilityofthesystemtoperformitsrequiredfunctions
underdefinedconditionsoveraspecifiedperiodoftime.Relativetothisnonfunctional
requirementconsiderationmustbegiventotheavailabilityofthesystemanditsservices
whenrequestedbytheendusers.Considerationmustalsobegiventothesystemsfailure
rate,dependabilityandreputation.

6.3.4 Maintainability This refers to ensuing that the system enjoys a long and
productive lifetime. The system must allow for fixing defects and should be flexible
enoughtofacilitatechangestodealwiththeintroductionofnewtechnology.Whetherthe
changes involve the adding of new functions, reworking existing ones, correcting
existingerrorsorchangesmadetothebusinessrequirements,thesystemmustbeflexible
enoughtomangethesesaswellasanyothercomplexitiesthatmayarise.

6.4BusinessRequirementsTheserequirementsshoulddefinetherequirementsofthe
businessprocessortobemorespecific,thesystemthatisneededtosupportthebusiness
process.Detailsofsuchrequirementsshouldspecifywhatthesystemmustbeabletodo
to improve its operations. Relative to the new system to be implemented at High
DefinitionDVDClub,thesystemmustbeableto:

Add,editorupdateanddeleteinformationrelevanttoSales,StockandCustomer
Membership.Theabilityofthenewsystemtoperformthese,willallowforamore
efficient and meaning method of recording, manipulating and presenting business
data.

Generatereportsidentifiedinthefunctionalrequirements.Thisrequirementsability
todothementionedwillaffordthebusinesswithmeaningfulinformationthatwillbe
usefulforanalysingandassessingdifferentareasofthebusinesssoperation.

Provideinformationaccessibilityandefficiencytothebusinessprocessbywhichdata
is recorded. The system will improve the quality of business data recorded and
produced. This business requirement will afford staff quality time to better
accommodateandservetheirvaluedcustomers.
KENO LEE
Page 70

MAJOR PROJECT

BSC BUSINESS COMPUTING

Toensuresystemsecurity.Unauthorisedpersonnelshouldnotbeabletoviewormake
modificationstothesystemsinformation.Thenewsystemsabilitytoperformthe
abovementionedwillensuretheintegrityofbusinessdatatherebyensuringthatinputs
andoutputsofbusinessdataisatruereflectionofthebusinesssoperations.

KENO LEE
Page 71

MAJOR PROJECT

BSC BUSINESS COMPUTING

7.SYSTEMDESIGN

7.1 Logical System Specification This will look on hardware and software
combinationsintermsofTechnicalSystemOptions.Threeoptionswereevaluatedandthe
most suitable chosen and outlined below. The other two options are outlined in the
workbook.RelevanttotheSalesDatabaseManagementSystemtobedevelopedforHigh
DefinitionDVDClub,Option2outlinedintable7.1.1belowwasconsideredtobemost
suitablecombinationofhardwareandsoftware.
Hardware

Software

KENO LEE
Page 72

Advantages/Disadvantages

Cost

MAJOR PROJECT

BSC BUSINESS COMPUTING

DellXPSDesktop

Windows7Professional(32

IntelCorei5Processor
8GBDDR3RAM
IntelTurboBoostTechnology
AMDRadeonHDGraphics
1TBSerialATAHardDrive
23WidescreenLED
MultiformatDVD+RW/CD

bit)
Smart4wayprocessingwith
AdobeReader
speedboost
AdobeFlashPlayer
Automaticspeedboostwhen
MicrosoftOfficeProfessional
needed
2010
PowerfulMultitasking
SymantecNortonAntiVirus
EfficientSystemProcessing
Oracle10g
Spaciousstorageandfast
read/writetimes
1GB GDDR5 video memory for

Printer
HPTopShotLaserJetPro
OPTION2

Advantages

lush images & details


EasyPeripheralConnectivity&

AllInOne

UPS
CyberPower1350VA

FastDigitalDataTransfer
FullVirusProtection
32BitOperatingSystem
Oracle10gsoftwareapplication
QualityAllInOnePrinter
PowerProtectionandBackUp
Disadvantages

Abitcostly
MicrosoftOfficeSuitedoesnot
includeMicrosoftProject

$8200.00

$4200.00

$12400.00

Table7.1.1

JustificationofChoice
Researchwascarriedoutonthreecombinationsofhardware,namelyOption1,Option2
andOption3relevanttohardware/software,advantagesanddisadvantagesandthecostof
eachoption.Thiswasdonewiththeaimofselectingthemostsuitableoptiontofacilitateand
support the Sales Database Management System. The research done allowed for the
comparisonofthethreeshortlistedoptions.Adetailedassessmentofthecombinationswas
doneandOption2deemedthemostsuitablefortheSalesDatabaseManagementSystems
needs.ThedetailsofthisoptionareprovidedinTable7.1.1aboveanddetailsoftheother
twooptionsprovidedintheworkbook.
KENO LEE
Page 73

MAJOR PROJECT

BSC BUSINESS COMPUTING

Option2wasdeemedthemostsuitablechoicesinceitprovidedanidealandbalanced
combinationofhardwareandsoftware.Thiscombinationwillallowthesystemarobust,
highlyefficientandversatileplatformonwhichtowork.Thesoftwareprovidedwiththis
optionwillcomplimentthehardwarebyprovidingacompatibleoperatingsystemandafull
complementofthenecessarysoftwareapplicationsincludingOracle10g.Thechosenoption
includestheSymantecNortonAntiVirus2012whichwillensurethesecurityofthesystems
operatingplatform.
Option2hasmorethanenoughstoragecapacitytomeetthesystemsneedsandismore
thanabletofacilitateanyincreaseinworkload,shouldthebusinessexpanditsoperationsin
thefuture.Thechosencombinationofhardwareandsoftwarewillallow HighDefinition
DVD Club to enjoy increased quality, consistency, productivity and reliability in its
operations.Whilethisoptionismostcostlyofthethree,thelongtermlifeandbenefitsof
Option2willbyfar,outweightheinitialcosts.

7.2DataDesignThisphaseofsystemdesignwillincludevisualrepresentationsofthedata
andentityrelationshipmodelsforthesystemproposedforHighDefinitionDVDClub.This
designwillinclude:

7.2.1Normalization

UNF
STOCK(DVDName,Genre,Quantity,UnitPrice,{SaleID,SaleDate,SaleQuantity,Sale
Cost, Customer ID, Last Name, First Name, Gender, Address, Date, Customer Type,
CustomerTypeDescription,}{SupplyID,SupplyDate,SupplyUnitPrice,SupplyQuantity,

KENO LEE
Page 74

MAJOR PROJECT

BSC BUSINESS COMPUTING

Supply Cost, Supplier ID, Supplier Name, Supplier Address, Supplier Telephone No.,
SupplierType,SupplierTypeDescription})
1NF
STOCK(DVDName,Genre,Quantity,UnitPrice)
SALESTOCK(SaleID,DVDName,SaleDate,SaleQuantity,SaleCost,CustomerID,Last
Name,FirstName,Gender,Address,Date,CustomerType,CustomerTypeDescription)
STOCKSUPPLY (Supply ID, DVD Name, Supply Date, Supply Quantity, Supply Cost,
SupplyUnitPrice,SupplierID,SupplierName,SupplierAddress,SupplierTelephoneNo.,
SupplierType,SupplierTypeDescription)
2NF
STOCK(DVDName,Genre,Quantity,UnitPrice)
SALESTOCK(SaleID,DVDName,SaleQuantity,SaleCost)
SALE (SaleID,SaleDate,CustomerID,LastName,FirstName,Gender,Address,Date,
CustomerType,CustomerTypeDescription)

STOCKSUPPLY(SupplyID,DVDName,SupplyQuantity,SupplyCost)
SUPPLY(SupplyID,SupplyDate,SupplyUnitPrice,SupplierID,SupplierName,Supplier
Address,SupplierTelephoneNo.,SupplierType,SupplierTypeDescription)

3NF
STOCK(DVDName,Genre,Quantity,UnitPrice)
SALESTOCK(SaleID*,DVDName*,SaleQuantity,SaleCost)
SALE(SaleID,SaleDate,CustomerID*)
KENO LEE
Page 75

MAJOR PROJECT

BSC BUSINESS COMPUTING

CUSTOMER (Customer ID, Last Name, First Name, Gender, Address, Date, Customer
Type*)
CUSTOMERTYPE(CustomerType,CustomerTypeDescription)
STOCKSUPPLY(SupplyID*,DVDName*,SupplyQuantity,SupplyCost)
SUPPLY(SupplyID,SupplyDate,SupplyUnitPrice,SupplierID*)
SUPPLIER (Supplier ID, Supplier Name, Supplier Address, Supplier Telephone No.,
SupplierType*)
SUPPLIERTYPE(SupplierType,SupplierTypeDescription)

7.2.2ERDofProposedSystem

ListofEntities
1.
2.
3.
4.
5.
6.
7.

Customer
CustomerType
Sales
Stock
Supply
Supplier
SupplierType

ERDStep1

KENO LEE
Page 76

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure7.2.2(A)

ERDStep2

Figure7.2.2(B)

KENO LEE
Page 77

MAJOR PROJECT

BSC BUSINESS COMPUTING

ERDStep3

Figure7.2.2(C)

7.3ArchitecturalDesignThisphaseofsystemdesignwillincludevisualrepresentationsof
thestructuralaspectsofsystemcomponentsfortheSalesDatabaseManagementSystem.This
designwillinclude:

7.3.1ProgramStructureChart

KENO LEE
Page 78

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure7.3.1
7.3.2 PSEUDOCODE (Program Structure)

DISPLAY Sales Database Management System


choice is a local variable OF TYPE Integer
choice = 0
WHILE (choice)
DO
DISPLAY 1. Sales
DISPLAY 2. Stock
DISPLAY 3. Supply
DISPLAY 4. Customer
DISPLAY 5. Exit
DISPLAY Enter choice
ACCEPT (choice)
IF choice = 1 THEN Sales ( )
ELSE IF choice = 2 THEN Stock ( )
ELSE IF choice = 3 THEN Supply ( )
ELSE IF choice = 4 THEN Customer ( )
ELSE IF choice = 5 THEN Exit ( )
ELSE
DISPLAY Incorrect Entry
ENDDO
ENDPROCEDURE
Procedure Sales ( )
DISPLAY Sales Module
choice is local variable OF TYPE Integer
choice = 0
WHILE (choice)
DO
DISPLAY 1. Add
DISPLAY 2. Edit or Update
DISPLAY 3. Delete
DISPLAY 4. Reports
DISPLAY 5. Exit
KENO LEE
Page 79

MAJOR PROJECT

BSC BUSINESS COMPUTING

DISPLAY Enter choice


ACCEPT choice
IF choice

= 1 THEN Add ( )

ELSE IF choice = 2 THEN Edit_Update ( )


ELSE IF choice = 3 THEN Delete ( )
ELSE IF choice = 4 THEN Reports ( )
ELSE IF choice = 5 THEN Exit ( )
ELSE DISPLAY Incorrect Entry
END DO
END PROCEDURE
Procedure Add ( )
BEGIN
DISPLAY Enter SaleID
ACCEPT (SaleID)
WHILE (Not found)
BEGIN
STORE (SaleID)
DISPLAY Enter SaleDate
ACCEPT (SalesDate)
STORE (SaleDate)
DISPLAY Enter CustomerID
ACCEPT (CustomerID)
STORE (CustomerID)
DISPLAY Enter SaleID
ACCEPT (SaleID)
END
DISPLAY SaleID not found
END
Procedure Edit _Update ( )
BEGIN
DISPLAY Enter the SaleID of record to be edited_updated
ACCEPT (SalesID)
WHILE SaleID (found)
KENO LEE
Page 80

MAJOR PROJECT

BSC BUSINESS COMPUTING

BEGIN
DISPLAY Edit_Update SaleDate
ACCEPT (SaleDate)
STORE (SaleDate)
DISPLAY Edit_Update CustomerID
ACCEPT (CustomerID)
STORE CustomerID
DISPLAY Edit_Update SaleID
ACCEPT (SaleID)
END
ELSE DISPLAY SaleID not found
END
Procedure Delete ( )
BEGIN
DISPLAY Enter SaleID of the record to be deleted
ACCEPT (SalesID)
SEARCH (SaleID)
IF (found)
DELETE (SaleID)
END
Procedure Reports ( )
DISPLAY Reports
choice is a local variable OF TYPE Integer
choice = 0
WHILE (choice)
DO
DISPLAY 1. Monthly Sales
DISPLAY 2. Total Sales
DISPLAY 3. Exit
DISPLAY Enter choice
ACCEPT choice
IF choice = 1 THEN Monthly Sales ( )
ELSE IF choice = 2 THEN Total Sales ( )
KENO LEE
Page 81

MAJOR PROJECT

BSC BUSINESS COMPUTING

ELSE IF choice = 3 THEN Exit ( )


ELSE DISPLAY Incorrect Entry
END DO
END PROCEDURE

7.4ProceduralDesignThisphaseofsystemdesignwilltransformstructuralelementsinto
aproceduraldescription.Algorithmicdetailsaredefinedandstatedusingpseudocode.Inthis
phase,processesofthenewsystemwerepresentedinproceduralform.Thisisoutlinedforthe
Salesmodulebelowandfortheothermodulesintheworkbook:

7.4.1Psuedocode(SalesModule)

Procedure Sales ( )
DISPLAY Sales Module
choice is local variable OF TYPE Integer
choice = 0
WHILE choice >0 or choice <6
DO
DISPLAY 1. Add
DISPLAY 2. Edit or Update
DISPLAY 3. Delete
DISPLAY 4. Reports
DISPLAY 5. Exit
REPEAT
ACCEPT choice
IF choice <1 or choice >5
THEN DIPLAY Error: choose again
END IF
UNTIL choice >0 AND choice <6
IF choice = 1 THEN Add ( )
ELSE IF choice = 2 THEN Edit or Update ( )
ELSE IF choice = 3 THEN Delete ( )
ELSE IF choice = 4 THEN Reports ( )
ELSE IF choice = 5 THEN Exit ( )
END DO
KENO LEE
Page 82

MAJOR PROJECT

BSC BUSINESS COMPUTING

END PROCEDURE

7.4.2Flowchart(SalesModule)

Figure7.4.2

7.5 Interface Design This phase of system design will involve producing visual
representationsoftheinterfacestobeusedfortheSalesDatabaseManagementSystem.The
interfacedesigndonewillseektoenhancethevisual,usabilityandtechnologicalqualitiesof
the systems interfaces (Use Design, 2001). Relative to the Sales Database Management
SystemthefollowinginterfacedesignshavebeenoutlinedinboththeVisioDesignView
andasaJpegintable7.5.1below:

VisioDesignView

WhenSavedasJpeg
MainMenu

MainMenu

KENO LEE
Page 83

MAJOR PROJECT

BSC BUSINESS COMPUTING

SalesModule

SalesModule

SupplyModule

SupplyModule

KENO LEE
Page 84

MAJOR PROJECT

BSC BUSINESS COMPUTING

StockModule

StockModule

CustomerMembershipModule

CustomerMembershipModule

ReportModule

ReportModule

TotalSalesReport

TotalSalesReport
KENO LEE
Page 85

MAJOR PROJECT

BSC BUSINESS COMPUTING

TotalSuppliesReport

TotalSuppliesReport

DVDsInStockReport

DVDsInStockReport

KENO LEE
Page 86

MAJOR PROJECT

BSC BUSINESS COMPUTING

CustomerMembershipReport

CustomerMembershipReport

Table7.5.1
7.6 Test Plan This document will describe the scope that testing will cover and the
activitiesthatitwillcover.ThisplanwillprovidethebasisfortheformaltestingoftheSales
Database Management System. The outlined plan will provide a methodological and
systematicapproachfortestingthenewsystem.Itwillallowforfindingerrorsandflawsin
thesystem(SoftwareTesting,2005).Relativetothisproject,thetestplanwilllookonboth
blackboxandwhiteboxtesting.Blackboxtestingwillbediscussedandactualtestsexecuted
inthissectionwiththefollowingbeingoutlined:

Thefunctionorproceduretobetested
Theequivalenceclasses
Thevalues
Thetestcases

7.6.1BlackboxTestingThisisasoftwaretestingmethodinwhichtheinternalstructure,
designandimplementationoftheitembeingtestedisnotknowntothetester(Software
TestingFundamentals,n.d.).NoknowledgeoftheSalesDatabaseManagementSystem
wasneededwhenusingthismethod.Theuseofblackboxtestingwillseektodetecterrors
inareassuchas:
Incorrectormissingfunctions
Interfaceerrors
Errorsindatastructure
Behaviourorperformanceerrors
Initializationandterminationerrors

KENO LEE
Page 87

MAJOR PROJECT

BSC BUSINESS COMPUTING

7.6.2WhiteboxTestingThisisasoftwaretestingmethodthatatestercanusetoexamine
whethertheirsoftwarecodeworksasexpected.Whiteboxtestingwilltakeintoaccountthe
internalmechanismsoftheSalesDatabaseManagementSystem.Thetesterwillhavefull
visibilityoftheinternalworkingsofthesystem,specificallythelogicandthestructureof
the code. Inputs to execute paths through the code are chosen and appropriate outputs
determined. It is essential to have the programming know how and implementation
knowledgewhencarryingoutwhiteboxtesting.Relativetothisprojectwhiteboxtesting
carriedoutontheSalesDatabaseManagementSystemwillbeoutlinedinthetestingphase.
Testing will involve a minimum of unit, module, integration, system, acceptance and
regressiontesting.Thesecanbedescribedasfollows:

UnitTestingThisisadevelopmentprocedurewhereprogrammerscreatetestsas
theydevelopsoftware(DavidBolton,n.d.).Theprimarygoalofunittestingisto
takethesmallestpieceoftestablesoftwareintheapplication,isolateitfromthe
restofthecodeanddeterminewhetheritbehavesasexpected.Unitsaretested
separatelybeforeintegratingthemintomodules.Relativetothisproject,unittests
wereconductedonthefollowing:

ProcedureAddSale()
ProcedureDeleteCustomer()

ModuleTestingThistestingmethodissimilartoandissometimesreferredtoas
unittesting.Moduletestingfollowsthesameconceptsofunittestingsincethe
primarygoalistobreakdowntheprogramintomodulesandthentestthemodules
individually.Thiswillallowforthemanagingofcomplextesting,facilitationof
debuggingandtoencourageparalleltesting(M.E.Kabay,1997).Relativetothis
projectmoduletestingwereconductedonallfunctionsoftheSupplymodule.
Theseincludedthefollowingprocedures:

ProcedureAdd()
ProcedureInsertInto()
ProcedureSave()
ProcedureDelete()
ProcedureSearch()
ProcedureCalculateTotalSupplies()

IntegrationTestingThisisasoftwaredevelopmentprocessinwhichprogram
KENO LEE
Page 88

MAJOR PROJECT

BSC BUSINESS COMPUTING

units are combined and tested as groups in multiple ways


(SearchSoftwareQuality,2008).Thepurposeofthisleveloftestingistoexpose
faults in the interaction between integrated modules before problems are
experiencedintherealworldexecutionoftheprogram.Relativetothisprojectthe
followingintegrationtestswereconducted:

StockUpdatewhensaleconducted
StockUpdatewhensuppliesarepurchased

System Testing This is a level of software testing whereby the complete


integratedsystemistested.Thepurposeofthistestistoevaluatethesystems
compliancewithspecifiedrequirements.Usually,systemtestingisrequiredbefore
andafterthesystemisputinplace.Aseriesofsystematicproceduresarereferred
to while performing system testing (Software Testing Fundamentals, n.d.).
Relativetothisproject,systemtestwerecarriedoutto:

Ensurethatdatabaserecordsaredisplayedinforms
Ensurethatanalertisgivenwhenstockreachesareorderlevel

AcceptanceTestingThisisalevelofthesoftwaretestingprocessinwhichthe
enduserstestthesystemforacceptabilityusingrealworldscenarios (Software
TestingFundamentals,n.d.).Thepurposeofacceptancetestingistoevaluatethe
systemscompliancewithHighDefinitionDVDClubsbusinessrequirementsand
assesswhetheritisacceptablefordelivery.Relativetothisprojectthefollowing
acceptancetestswerecarriedout:

PrimaryKeyvalidation
FormatValidation

KENO LEE
Page 89

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 90

MAJOR PROJECT

BSC BUSINESS COMPUTING

8.DEVELOPMENT
ThisinvolvedthegeneratingandputtingtogetherofallcodenecessarytodeveloptheSalesDatabase
ManagementSystem.TheSalesDatabaseManagementSystemwasdevelopedusingOracleForms
BuilderandSQLPlus.ThesetwoapplicationswerebothprovidedwiththeOracle10gsoftwareand
becameaccessibleafterinstallingthesoftware.Relevanttothisproject,importantcodinghavebeen
providedinthissectionalongwithscreenshotsofhowthesystemwasdevelopedandajustification
ofhowtheSalesDatabaseManagementSystemwasdevelopedusingOracle(PL/SQL).

8.1ScreenshotsofDevelopedSystem
OracleDesignView
MainMenu

DevelopedSystem
MainMenu

KENO LEE
Page 91

MAJOR PROJECT

BSC BUSINESS COMPUTING

SalesModule

SalesModule

SupplyModule

SupplyModule

KENO LEE
Page 92

MAJOR PROJECT

BSC BUSINESS COMPUTING

StockModule

StockModule

CustomerMembershipModule

CustomerMembershipModule

ReportsModule

ReportsModule
KENO LEE
Page 93

MAJOR PROJECT

BSC BUSINESS COMPUTING

TotalSalesReport

TotalSalesReport

TotalSuppliesReport

TotalSuppliesReport

DVDsInStockReport

DVDsInStockReport
KENO LEE
Page 94

MAJOR PROJECT

CustomerMembershipReport

BSC BUSINESS COMPUTING

CustomerMembershipReport

Table8.1

8.2SQLPlusCodingInthissectionasampleofthecodingdoneinSQLPlusisoutlined
in the table below. The Sales and SaleStock tables were used for this outline.
KENO LEE
Page 95

MAJOR PROJECT

BSC BUSINESS COMPUTING

Specifically,thetablesdescriptionsalongwiththeactualcreatetableandasampleofthe
insertstatementsareprovidedintable6.2below.Createtableandinsertstatementsforall
othertablesareprovidedinfullinApendix%.
Table
Sale

Create and Insert Statements


CREATE TABLE SALE
(SALEID VARCHAR2 (7) NOT NULL,
SALEDATE DATE,
SALEUNITPRICE NUMBER (4,2),
CUSTOMERID VARCHAR2 (7),
CONSTRAINT PKSALE PRIMARY KEY (SALEID),
CONSTRAINT FKCUSTOMERID FOREIGN KEY (CUSTOMERID) REFERENCES
CUSTOMER(CUSTOMERID) ON DELETE CASCADE);
INSERT INTO SALE VALUES ('SAL1001', TO_DATE('01-AUG-2012', 'DD-MON-YYYY'), 7, 'CUS1001');
INSERT INTO SALE VALUES ('SAL1002', TO_DATE('01-AUG-2012', 'DD-MON-YYYY'), 7, 'CUS1002');
INSERT INTO SALE VALUES ('SAL1003', TO_DATE('01-AUG-2012', 'DD-MON-YYYY'), 7, 'CUS1003');
INSERT INTO SALE VALUES ('SAL1004', TO_DATE('01-AUG-2012', 'DD-MON-YYYY'), 7, 'CUS1004');
INSERT INTO SALE VALUES ('SAL1005', TO_DATE('01-AUG-2012', 'DD-MON-YYYY'), 7, 'CUS1005');

SaleStock

CREATE TABLE SALESTOCK


(SALEID VARCHAR2 (7) NOT NULL,
DVDNAME VARCHAR2 (50) NOT NULL,
SALEQUANTITY NUMBER,
SALECOST NUMBER,
CONSTRAINT PKSALESTOCK PRIMARY KEY (SALEID, DVDNAME),
CONSTRAINT FKSALE FOREIGN KEY (SALEID) REFERENCES SALE (SALEID) ON
DELETE CASCADE,
CONSTRAINT FKSTOCK FOREIGN KEY (DVDNAME) REFERENCES STOCK (DVDNAME)
ON DELETE CASCADE);
INSERT INTO SALESTOCK VALUES ('SAL1001', 'IRON MAN 2', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1002', 'MONSTER IN-LAW', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1001', 'WRONG TURN 4', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1002', 'THE LION KING', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1003', 'PUBLIC ENEMIES', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1004', 'INCEPTION', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1003', 'THE HUNGER GAMES', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1004', 'THE DICTATOR', 1, 7);

Table8.2
8.3OraclePL/SQLCoding InthissectionofDevelopment,asampleofthePL/SQL
codingdoneinOracletodevelopthesystemasportrayedinthescreenshotsaboveare
provided in table 6.3 below. The sample coding provided is mainly from the Sales
KENO LEE
Page 96

MAJOR PROJECT

BSC BUSINESS COMPUTING

module,howeversomeofthecodewerethesameinotherforms.Notesareprovidedin
lightblue indicatingthis.ThedevelopmentoftheSalesDatabaseManagementSystem
comprisedoflotsofcodingandassuchitwasdecidedthatitisnotfeasibletopresentthis
codehere.AllothercodingdoneisoutlinedinAppendix?.

Item Name
Trigger

Code
WHEN-NEW-FORM-INSTANCE (Sale form)
DECLARE
ITMSAVE ITEM;
ITMINSERTINTO ITEM;
BEGIN
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMINSERTINTO:= FIND_ITEM('CMDINSERTINTO');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);

Trigger

SET_ITEM_PROPERTY(ITMINSERTINTO,ENABLED,PROPERTY_FALSE);
EXECUTE_QUERY;
END;
WHEN-NEW-RECORD-INSTANCE (Sales form)
BEGIN
SELECT SUM(SALESTOCK.SALECOST) INTO :TOTALSALES
FROM SALESTOCK
WHERE SALESTOCK.SALEID = :SALESTOCK.SALEID;

Trigger

END;
WHEN-VALIDATE-ITEM (Sale ID - Sale form)
DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM SALE
WHERE :SALE.SALEID = SALE.SALEID;
IF LENGTH(:SALE.SALEID) <> 7 THEN
DISPLAY_LENGTH_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF INSTR(SUBSTR(:SALE.SALEID,1),'SAL') = 0 OR
ASCII(SUBSTR(:SALE.SALEID,4,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,4,1)) > 57 OR
ASCII(SUBSTR(:SALE.SALEID,5,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,5,1)) > 57 OR
ASCII(SUBSTR(:SALE.SALEID,6,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,6,1)) > 57 OR
ASCII(SUBSTR(:SALE.SALEID,7,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,7,1)) > 57 THEN
DISPLAY_FORMAT_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF NUM <> 0 THEN
DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
KENO LEE
Page 97

MAJOR PROJECT

Trigger

BSC BUSINESS COMPUTING

END IF;
END IF;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-VALIDATE-ITEM (DVD Name SaleStock)
DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM SALESTOCK
WHERE :SALESTOCK.SALEID = SALESTOCK.SALEID AND
:SALESTOCK.DVDNAME = SALESTOCK.DVDNAME;

Trigger

IF NUM <> 0 THEN


DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-MOUSE-CLICKED (Used in Customer ID Sale, DVD Name
SaleStock)
BEGIN

Trigger

LIST_VALUES;
END;
WHEN-MOUSE-CLICKED (Calculate Total Sales Sale form)
BEGIN
SELECT SUM(SALESTOCK.SALECOST) INTO :TOTALSALES
FROM SALESTOCK
WHERE SALESTOCK.SALEID = :SALESTOCK.SALEID;

Trigger

END;
WHEN-MOUSE-LEAVE (Sale Quantity SaleStock)
BEGIN
COMMIT;
SELECT SUM(SALESTOCK.SALECOST) INTO :TOTALSALES
FROM SALESTOCK
WHERE SALESTOCK.SALEID = :SALESTOCK.SALEID;

Trigger

END;
WHEN-MOUSE-LEAVE (Unit Price SaleStock)
DECLARE
QTY number(2);
BAL number(2);
BEGIN
BAL := :SALESTOCK.QTYNSTOCK :SALESTOCK.SALEQUANTITY;
UPDATE STOCK
KENO LEE
Page 98

MAJOR PROJECT

BSC BUSINESS COMPUTING

SET QUANTITYINSTOCK = BAL


WHERE STOCK.DVDNAME = :SALESTOCK.DVDNAME;
COMMIT;
Trigger

END;
POST-CHANGE (DVD Name SaleStock)
BEGIN
GET_DATA_CUR;
QTYSTOCK_CUR;

Trigger

END;
POST-CHANGE (Sale Quantity SaleStock)
DECLARE
SALES NUMBER(6,2);
BEGIN
SALES := :SALESTOCK.SALEQUANTITY *
:SALESTOCK.UNITPRICE;
:SALECOST := SALES;
END;

Trigger

WHEN-BUTTON-PRESSED (CMDADD) in Sale Form

DECLARE
ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
DISABLE_BUTTONS;
CLEAR_FORM;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:SALE.SALEID := NULL;
:SALE.SALEDATE := NULL;
:SALE.CUSTOMERID := NULL;
CLEAR_FORM(NO_VALIDATE);
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;
Trigger

END;
WHEN-BUTTON-PRESSED (CMDINSERTINTO) in Sale Form
DECLARE
KENO LEE
Page 99

MAJOR PROJECT

BSC BUSINESS COMPUTING

ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
ITMDVDNAME ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMDVDNAME := FIND_ITEM('SALESTOCK.DVDNAME');
IF
GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
SET_BLOCK_PROPERTY('SALESTOCK',
INSERT_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
DISABLE_BUTTONS;
GO_ITEM(ITMDVDNAME);
WHILE :SALESTOCK.DVDNAME IS NOT NULL
LOOP
NEXT_RECORD;
END LOOP;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_BLOCK_PROPERTY('SALESTOCK',INSERT_ALLOWED,PROPERTY_
FALSE);
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Find' THEN
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:SALE.SALEID := NULL;
:SALE.SALEDATE := NULL;
:SALE.CUSTOMERID := NULL;
END IF;
CLEAR_FORM(NO_VALIDATE);
ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;
Trigger

END;
WHEN-BUTTON-PRESSED (CMDSAVE) in Sale Form
DECLARE
ITMADD ITEM;
ITMINSERTINTO ITEM;
BEGIN
DISPLAY_SAVE_CONFIRMATION;
ITMADD := FIND_ITEM('CMDADD');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ITMINSERTINTO := FIND_ITEM('CMDINSERTINTO');
SET_ITEM_PROPERTY(ITMINSERTINTO,LABEL,'Insert Into');
DISABLE_IUDBUTTONS;
KENO LEE
Page 100

MAJOR PROJECT

BSC BUSINESS COMPUTING

COMMIT;
EXECUTE_QUERY;
Trigger

Trigger

END;ip
WHEN-BUTTON-PRESSED (CMDDELETE) in all forms
BEGIN
DISPLAY_DELETE_ALERT;
END;
WHEN-BUTTON-PRESSED (CMDUPDATE) in all forms. The table
name highlighted in green is specific to the form in which the button is
used.
DECLARE
ITMUPDATE ITEM;
ITMADD ITEM;
BEGIN
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMUPDATE,LABEL) = 'Update' THEN
SET_BLOCK_PROPERTY('SALE',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Confirm');
DISABLE_ALL;
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE IF GET_ITEM_PROPERTY(ITMUPDATE,LABEL) = 'Confirm' THEN
COMMIT;
DISPLAY_UPDATE_CONFIRMATION;

Trigger

SET_BLOCK_PROPERTY('SALE',UPDATE_ALLOWED,PROPERTY_FALS
E);
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_ALL;
END IF;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDSEARCH) for Sales form
DECLARE
ITMSEARCH ITEM;
ITMADD ITEM;
NUM NUMBER;
NUM1 NUMBER;
BEGIN
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Search' THEN /*
initial search status */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
DISPLAY_INSTRUCTION_ALERT;
DISABLE_BUTTONS;
DISABLE_ALL;
KENO LEE
Page 101

MAJOR PROJECT

BSC BUSINESS COMPUTING

SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
ELSE IF :SALE.SALEID IS NULL AND :SALE.SALEDATE IS NULL
AND :SALE.CUSTOMERID IS NULL THEN /*if fiels are empty */
NUM1 := SHOW_ALERT('SEARCH_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) =
'Find' THEN /*if fields not empty */
SELECT COUNT(*) INTO NUM
FROM SALE
WHERE :SALE.SALEID = SALE.SALEID;
IF NUM = 0 THEN /* if not found */
NUM1 :=
SHOW_ALERT('NO_RECORD_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN /*if ok is
clicked */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
:SALE.SALEID := NULL;
ELSE /*if cancel is clicked */
:SALE.SALEID := NULL;
:SALE.SALEDATE := NULL;
:SALE.CUSTOMERID := NULL;
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if fields are not empty and record found */
KENO LEE
Page 102

MAJOR PROJECT

Trigger

Trigger

BSC BUSINESS COMPUTING

SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
END IF;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDPREVIOUS) in all forms. The table
name highlighted in green is specific to the form in which the button is
used.
DECLARE
REC_NUMBER NUMBER;
BEGIN
REC_NUMBER :=
GET_BLOCK_PROPERTY('SALE',CURRENT_RECORD);
IF REC_NUMBER = 1 THEN DISPLAY_BOF_ALERT;
ELSE
PREVIOUS_RECORD;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDNEXT) in all forms
BEGIN
IF :SYSTEM.LAST_RECORD = 'TRUE' THEN
DISPLAY_EOF_ALERT;
ELSE
NEXT_RECORD;
END IF;

Trigger

END;
WHEN-BUTTON-PRESSED (CMDMAINMENU) in all forms
BEGIN
EXIT_FORM;
END;

Table8.3

8.4JustificationofsystemdevelopmentusingOracle(PL/SQL)

The Sales Database Management System was developed using PL/SQL, a programming
languagedevelopedbytheOracleCorporation.PL/SQLstandsforprocedurallanguage/SQL
andconsistsofacombinationofSQLalongwiththeproceduralfeaturesofprogramming
languages. PL/SQL used in development extended SQL by allowing for the addition of
constructsfoundinprocedurallanguages.Thisresultedinastructurallanguagethatismore
powerfulthanSQL.

KENO LEE
Page 103

MAJOR PROJECT

BSC BUSINESS COMPUTING

OracleFormBuilderanapplicationwithintheOracle10gsoftwarepackwasusedtodesign
anddeveloptheSalesDatabaseManagementSystem.Thispieceofsoftwareallowedforthe
creationofalerts,triggers,datablocks,relationshipsbetweentables,LOCs,recordgroupsand
programunitsusingPL/SQL.EachPL/SQLprogramwasmadeupofblocks,witheachblock
performingalogicalactionintheprogram.ThesePL/SQLblocksconsistedofthreesections
namely,thedeclarationsection,theexecutionsectionandtheexceptionhandingsection.
The declaration sections of each PL/SQL block started with the reserved keyword
DECLARE.Thissectionwasoptionalbutwashoweverimportantfordeclaringplaceholders
suchasvariables,constraints,recordsandcursorswhichwereutilizedtomanipulatedatain
theexecutionsection.TheexecutionsectionofeachPL/SQLblockstartedwiththereserved
keywordBEGINandendedwithEND.Thissectionwasmandatoryandprogramlogicwas
written to perform each task. In this section programmatic constructs including triggers,
loops,conditionalstatementsandSQLstatementswerewritten.Theexceptionsectionofeach
PL/SQLblockstartedwiththekeywordEXCEPTION.Intheorythissectionsisoptional,
howeveritmustbenotedthaterrorsintheprogramwashandledhere,soastoensurethe
smoothterminationofthePL/SQLblock.
PL/SQLalsoaffordedtheprocessingofmultipleSQLstatements asasingleblock.This
reduces network traffic and enhances performance ability. Its error handling capability
allowedforexceptionspecificactionstobetakenandthedisplayingoferrormessagestothe
user.Oracle10gaffordeddevelopment,SQLPluswhichallowedforcreatingandpopulating
the database tables and Oracle Forms Builder which allowed for developing the Sales
DatabaseManagementSystemusingPL/SQL.

KENO LEE
Page 104

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 105

MAJOR PROJECT

BSC BUSINESS COMPUTING

9.TESTING
Inthisphaseoftheprojectthetestplandoneinthedesignphasewillbeusedtoperformwhitebox
and blackbox testing. Detailed documentation of testing, meaningful comments relative to the
comparisonofexpectedandactualresultsandatestreportoverviewwillbedoneinthisphase.

9.1UnitTest
9.1.1ProcedureAddSale(SaleID,SaleDate,CustomerID,DVDName,SaleQuantity,
UnitPrice

Test

Reason For Test

No.
T1

To ensure that details of

Input Data

Expected Results

Actual

Comment

SAL1008, 02-AUG-2012,

All details of a sale are

Results
See Figure

Pass

a new sale can be added

CUS1002, DETENTION,

added to the database.

9.1.1(D)

to the database.

2, BOURNE LEGACY, 1,

I.e. input data

$7.00

identified.

Figure9.1.1(A)showingdatabasebeforeasaleisadded:

Figure9.1.1(B)showingwhenAddisclicked:

KENO LEE
Page 106

MAJOR PROJECT

BSC BUSINESS COMPUTING

When Add clicked form clears and Add changes to cancel.

Figure9.1.1(C)showingdetailsofaSalebeingentered:

2. Save Confirmation given.

1. Details of SAL1008 entered and Save Clicked.

Figure9.1.1(D)showingdatabaseafterAdd:

1. Details of SAL1008 added to Sale.

2. Details of SAL1008 added to SaleStock.

Figure9.1.1(D)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
was expected that details of SAL1008 will be added to the database having done a
successfulAdd.Thisisevidentinfigure9.1.1(D)andasaresultitcanbeconcludedthat
thistestPassed.
9.1.2ProcedureDelete(CustomerID)

KENO LEE
Page 107

MAJOR PROJECT
Test
No.
T2

Reason For Test


To ensure that details of a

BSC BUSINESS COMPUTING


Input Data
CUS1007

Expected Results
Details of CUS1007 are

specified Customers

deleted from Database when

Membership can be

Delete clicked.

Actual

Comment

Results
See Figure

Pass

9.1.2 (D)

deleted from the database.

Figure9.1.2(A)showingdatabasebeforeDelete.Figure9.1.2(A)alsorepresentsthe
databaseafterCancelisclicked.

Figure9.1.2(B)showingwhenDeleteclickedandDeleteAlertNotificationpopsup:

1. Cancel clicked. See Figure 9.1.2 (A).

2. OK clicked. See Figure 9.1.2 (C).

Figure9.1.2(C)showingsuccessfuldeletenotificationafterOKisclicked:

Successful delete notification when OK is clicked in Figure 9

Figure9.1.2(D)showingdatabaseaftersuccessfullyperformingadelete:

KENO LEE
Page 108

MAJOR PROJECT

BSC BUSINESS COMPUTING

CUS1007 successfully deleted.

Figure9.1.2(D)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthatdetailsofSAL1007willbedeletedfromthedatabasehavingdonea
successfulDelete.Thisisevidentinfigure9.1.2(D)andasaresultitcanbeconcludedthat
thistestPassed.

9.2ModuleTest
9.2.1ProcedureAddSupply(SupplyID,SupplyDate,SupplyUnitPrice,SupplierID,DVD
Name,Quantity

Test

Reason For Test

Input Data

Expected Results

No.
T3

To ensure that details

SUP1009, 05-FEB-2012,

All details of a supply

of supplies purchased

$5.00, SPR1003,

are added to the

can be added to the

CHIMPANZEE, 30, SAFE

database. I.e. input data

database.

HOUSE, 30

identified.

Figure9.2.1(A)showingdatabasebeforeasupplyisadded:

Figure9.2.1(B)showingwhenAddisclicked:

KENO LEE
Page 109

Actual

Comment

Results
See Figure

Pass

9.2.1(D)

MAJOR PROJECT

BSC BUSINESS COMPUTING

When Add clicked form clears and Add changes to Cancel

Figure9.2.1(C)showingdetailsofasupplyenteredandSaveclicked:

2. Save confirmation given.

1. Details of SUP1009 entered and Save clicked.

Figure9.2.1(D)showingdatabaseafterAdd:

1. Details of SUP1009
added to Supply.

2. Details of SUP1009 added to StockSupply.

Figure7.2.1(D)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
was expected that details of SUP1009 will be added to the database having done a
successfulAdd.Thisisevidentinfigure7.2.1(D)andasaresultitcanbeconcludedthat
thistestPassed.
9.2.2ProcedureInsertIntoSupply(DVDName,Quantity)
Test
No.
T4

Reason For Test

Input Data

Expected Results

To ensure that details of supplies

INCEPTION

Details of supplies

purchased can be added to an existing

, 30

purchased added existing

Supply after Total Supplies is

record SUP1010. I.e.

calculated and before Save is

Input data identified.

clicked.

KENO LEE
Page 110

Actual

Comment

Results
See Figure

Pass

9.2.2 (D)

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure 9.2.2 (A) showing Insert Into disabled before Calculate Total Supplies
clicked:

Insert Into disable until Calculate Total Supplies clicke

Figure9.2.2(B)showingInsertIntoenabledwhenCalculateTotalSuppliesclicked:

3. Save clicked.
2. Record being inserted.

1. Insert Into enabled when Calculate Total Supplies clic

Figure9.2.2(C)showingdatabasebeforeInsertInto:

Figure9.2.2(D)showingdatabaseafterInsertInto:

KENO LEE
Page 111

MAJOR PROJECT

BSC BUSINESS COMPUTING

INCEPTION inserted into SUP1010.

Figure9.2.2(D)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthatdetailsoftheDVDINCEPTIONwillbeInsertedIntoSUP1010
havingdoneasuccessfulInsertInto.Thisisevidentinfigure9.2.2(D)andasaresultitcan
beconcludedthatthistestPassed.
9.2.3 ProcedureSave(SupplyID,SupplyDate,SupplyUnitPrice,SupplierID,DVDName,
Quantity
Test
No.
T5

Reason For Test

Input Data

Expected Results

Actual

Comment
Pass

To ensure that details of

SUP1009, 05-FEB-

Details of supplies

Results
See Figure

supplies purchased are saved

2012, $5.00, SPR1003,

purchased are saved

9.2.1(C) &

to the Database having Add

CHIMPANZEE, 30,

to the Database and

9.2.1 (D)

new record and Save

SAFE HOUSE, 30

Save

clicked.

F
ig
ur
e

Above

confirmation sent to
user.

9.2.1(C)&(D)showsthattheactualresultsmettherequirementsoftheexpectedresults.Itwas
expectedthatdetailsofSUP1009willbeSavedtothedatabasehavingdoneasuccessfulSave.
Thisisevidentinfigure9.2.1(C)&(D)andasaresultitcanbeconcludedthatthistestPassed.
9.2.4ProcedureDelete(SupplyID)
Test
No.
T6

Reason For Test


To ensure that details of supplies

Input Data

Expected Results

Actual

Comment

SUP1010

All details of SUP1010

Results
See Figure

Pass

purchased can be deleted from the

are deleted from the

Database.

database.

Figure9.2.4(A)showingdatabasebeforeDelete:
KENO LEE
Page 112

9.2.4(D)

MAJOR PROJECT

BSC BUSINESS COMPUTING

Records to be
deleted.

Figure9.2.4(B)showingwhenDeleteclickedandDeleteAlertNotificationpopsup:

1. Cancel clicked. Record still exists. See Figure 9.2.4 (A).

2. OK clicked. See Figure 9.2.4 (D).

Figure9.2.4(C)showingsuccessfuldeletenotificationafterOKisclicked:

Successful delete
notification when OK
is clicked in Figure
7.1.2 (B).

Figure9.2.4(D)showingdatabaseaftersuccessfuldelete:

SUP1010 successfully deleted.

KENO LEE
Page 113

MAJOR PROJECT

BSC BUSINESS COMPUTING

SUP1010
successfully

Figure9.2.4(D)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthatdetailsofSUP1010willbeDeletedfromthedatabasehavingdonea
successfulDelete.Thisisevidentinfigure9.2.4(D)andasaresultitcanbeconcludedthat
thistestPassed.

9.2.5ProcedureSearch(SupplyID)
Test
No.
T7

Reason For Test


To ensure that details of any

Input Data
SUP1005

Expected Results
Details of SUP1005 are

particular supply can be

pulled from the Database and

found without going through

displayed in form.

all Supply records.

Figure9.2.5(A)showingrecordsinthedatabase:

KENO LEE
Page 114

Actual

Comment

Results
See Figure

Pass

9.2.5(C)

MAJOR PROJECT

BSC BUSINESS COMPUTING

Record SUP1005to
be found.

Details of record
SUP1005 to be
found.

Figure9.2.5(B)showingwhenSearchclicked:

2. Focus placed here and SUP1005 entered.

1. When Search clicked form clears and Search button changes to

Figure9.2.5(C)showingrecordfoundanddisplayed:

Details of record SUP1005 found and displayed.

KENO LEE
Page 115

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure9.2.5(C)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
was expected that details of SUP1005 will be Found in the database having done a
successfulSearch.Thisisevidentinfigure9.2.5(C)andasaresultitcanbeconcludedthat
thistestPassed.

9.2.6ProcedureCalculateTotalSupplies(DVDName,Quantity,SupplyCost)
Test
No.
T8

Reason For Test

Input Data

Expected Results

To ensure that an overall

CHIMPANZEE, 25,

An overall total

total can be calculated for

$125, DETENTION,

SUP1010 is calculated

a Supply.

30, $150, HUGO, 20,

and presented to the user.

Actual

Comment

Results
See Figure

Pass

9.2.6 (B)

$100

Figure9.2.6(A)showingfigurestobecalculatedtogetTotalSupplies:

Figures to be calculated.
Total Supplies field.

Figure9.2.6(B)showingTotalSuppliescalculated:

1. Calculate Total Supplies button pressed.

2. Total Supplies
displayed in field.

KENO LEE
Page 116

MAJOR PROJECT

BSC BUSINESS COMPUTING

Figure9.2.6(B)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthataTotalSuppliesfigurewillbecalculatedhavingclickedCalculateTotal
Supplies.Thisisevidentinfigure9.2.6(B)andasaresultitcanbeconcludedthatthistest
Passed.

9.3IntegrationTest
9.3.1 ProcedureStockUpdatewhenSaleconducted(SaleID,SaleDate,CustomerID,
DVDName,SaleQuantity,UnitPrice

Test
No.
T9

Reason For Test

Input Data

Expected Results

To ensure that stock

SAL1008, 12-AUG-

Stock (Lion King) is to

quantity is

2012, CUS1003, THE

be updated to reflect an

automatically updated

LION KING, 5, $7

updated Quantity in

when a sale is recorded.

Stock having conducted


a sale.

9.3.1(A)databaseshowingStockbeforeSaleisrecorded:

9.3.1(B)showingaSalebeingrecorded:

KENO LEE
Page 117

Actual

Comment

Results
See Figure
Pass
Record that will be updated.
9.3.1(C)
Note: Quantity in stock
highlighted in purple.

MAJOR PROJECT

BSC BUSINESS COMPUTING

1. Details of Sale
entered.

2. Save clicked.

9.3.1(C)databaseshowingStockafterSalesrecorded:
Stock updated. Quantity in
stock updated to exclude
Quantity sold. Note: New
Quantity in stock highlighted
in purple.

Figure9.3.1(C)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthatStockQuantitywillbeautomaticallyupdatedhavingconductedaSale.
Thisisevidentinfigure9.3.1(C)andasaresultitcanbeconcludedthatthistestPassed.
9.3.2ProcedureStockUpdatewhenSuppliespurchased(SupplyId,SupplyDate,SupplyUnit
Price,SupplierID,DVDName,Quantity)
Test

Reason For Test

Input Data

Expected Results

No.
T10

To ensure that stock

SUP1010, 12-AUG-

Stock (Monster In Law and

is automatically

2012, $5, SPR1004,

Wrong Turn 4) is to be updated

updated when

WRONG TURN 4, 15,

to reflect an updated Quantity

supplies purchased

MONSTER IN LAW,

in Stock having done an

are recorded.

38

addition of the quantity of

Actual

Comment

Results
See Figure

Pass

9.3.2 (C)

supplies purchased.

9.3.2(A)databaseshowingStockbeforeSuppliespurchasedarerecorded:
KENO LEE
Page 118

MAJOR PROJECT

BSC BUSINESS COMPUTING


Records that will be updated.
Note: Quantity in stock
highlighted in purple.

9.3.2(B)showingpurchasedSuppliesrecorded:

1. Details of Supplies
purchased entered.
2. Save clicked.

9.3.2(C)databaseshowingStockafterpurchasedSuppliesarerecorded:
Stock updated. Quantity in
stock updated to include
Quantity purchased. Note:
New Quantity in stock
highlighted in purple.

Figure9.3.2(C)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthatStockQuantitywillbeautomaticallyupdatedhavingrecordpurchased
Supplies.Thisisevidentinfigure9.3.2(C)andasaresultitcanbeconcludedthatthistest
Passed.

KENO LEE
Page 119

MAJOR PROJECT

BSC BUSINESS COMPUTING

9.4SystemTest
9.4.1TotalSalesReport

Test

Reason For Test

No.
T11

To ensure that a report

Input Data
None

Expected Results
Total Sales report is

relative to Total Sales

generated and displayed in

can be generated.

browser.

Actual Results

Comment

See Figure

Pass

9.4.2(B)

Figure9.4.1(A)showingwhenTotalSalesclicked:

1. Total Sales clicked.

Figure9.4.1(B)showingactualTotalSalesreportgeneratedanddisplayedinbrowser:

Figure9.4.1(B)showsthattheactualresultsmettherequirementsoftheexpectedresults.Itwas
expectedthataTotalSalesreportwillbegeneratedhavingclickedTotalSalesintheReports
module.Thisisevidentinfigure9.4.1(B)andasaresultitcanbeconcludedthatthistestPassed.

KENO LEE
Page 120

MAJOR PROJECT

BSC BUSINESS COMPUTING

9.4.2Displayingofdatabasedataonforms(SampletakenfromSales)
Test
No.
T12

Reason For Test

Actual

Comment

The exact same records for

Results
See Figure

Pass

between the records in the

SAL1003 in the database

9.4.2(B)

database and what is

are displayed on forms to

displayed to user.

users.

To ensure consistency

Input Data
None

Expected Results

9.4.2(A)showingdetailsofSALinthedatabase:

Details of SAL1003

9.4.2(B)showingdetailsofSAL1003beingdisplayedinform:

SAL1003

Details of SAL1003

Figure9.4.2(B)showsthattheactualresultsmettherequirementsoftheexpectedresults.Itwas
expectedthattheexactdetailsofSAL1003storedinthedatabasearedisplayedonformtotheuser.
Thisisevidentinfigure9.4.2(B)andasaresultitcanbeconcludedthatthistestPassed.

9.5AcceptanceTest
KENO LEE
Page 121

MAJOR PROJECT

BSC BUSINESS COMPUTING

9.5.1PKValidation(SaleID)

Test

Reason For Test

No.
T13

To ensure that duplicate

Input Data

Expected Results

Actual

Comment

SAL1008

Display of PK validation alert

Results
See Figure

Pass

primary keys are not allowed.

if duplicate PK entered.

9.1.5 (B)

9.5.1(A)databaseshowingSAL1008exists:

SAL1008 exists in database.

9.5.1(B)ShowingattempttoenterSAL1008andsubsequentPKValidationAlert:
Duplicate PK SAL1008
entered and attempt made
to proceed to next field.

PK Validation Alert.

Figure9.5.1(B)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthataPKValidationAlertwillbedisplayedtotheuserwhenSAL1008is
enteredsinceitalreadyexistsinthedatabase.Thisisevidentinfigure9.5.1(B)andasa
resultitcanbeconcludedthatthistestPassed.
9.5.2FormatValidation(SaleID)
Test
No.
T14

Reason For Test


To ensure that specified
entry format is followed.

Input Data
SAK1009

Expected Results

Actual

Comment

Display of Format Alert

Results
See Figure

Pass

notification if format not

9.5.2 (A)

followed.

9.5.2(A)ShowingattempttoenterSAK1009andsubsequentFormatAlert:

KENO LEE
Page 122

MAJOR PROJECT

BSC BUSINESS COMPUTING

SAK1009 entered
and attempt made to
proceed to next
field.
Format Alert Notification
displayed indicating correct
format SAL1009 having
entered SAK1009.

Figure9.5.2(A)showsthattheactualresultsmettherequirementsoftheexpectedresults.It
wasexpectedthataFormatValidationAlertwillbedisplayedtotheuserwhenSAK1009
isenteredsinceitdidnotconformtothefieldformat.Thisisevidentinfigure9.5.2(A)and
asaresultitcanbeconcludedthatthistestPassed.

Test Report Overview Testing was done on all important functionalities of the Sales
Database Management System, so as to ensure that all functions the system is required to
perform works as intended. The tests executed above are all supported with a table indicating
the Test No., Function being tested, The reason for the test, Input Data, Expected
Results, Actual Results and Comments. Testing included Unit Testing, Module Testing,
Integration Testing, System Testing and Acceptance Testing. The screenshots and
accompanying notes provided after each test provides a visual illustration of the tests being
executed and supported documentation for each test. All but one functional requirements
tested, passed the test performed. This exception was that of the re-order alert which was
expected to trigger a single alert for any DVD that met the re-order level. Instead two alerts
were triggered for each DVD under the re-order level. Research work is however still being
done have resolve this inconsistency. The overall testing process was a success and ensured
that all the necessary checks and balances were made prior to and after the Sales Database
Management Systems implementation.

KENO LEE
Page 123

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 124

MAJOR PROJECT

BSC BUSINESS COMPUTING

10.IMPLEMENTATION

10.1ImplementationPlanThiscanbedescribedastheformalprocessbywhichtheSales
Database Management System will be incorporated into its intended environment
(TechTarget,2007),HighDefinitionDVDClub.Thisplanwillinvolveadeliberateand
sequentialsetofactivitiesaimedatputtingthenewsystemintoeffectandwillincludea
deploymentmethodanddatamigrationstrategy(profwork.org,2001).Atrainingplan,user
guideandbackupplanwillbedoneindividuallyinaccordancetothisproject.

10.1.1DeploymentItwasdecidedthatthisprocesswillbecarriedoutusingoneof
four considered deployment methods, namely direct, phased, parallel and pilot.
Researchwasdoneoneachofthesemethodsandadiscussionheldwiththeownerof
HighDefinitionDVDClub.Abetterunderstandingofeachstrategyaidedthedecision
making process and it was mutually agreed that the pilot method would be most
appropriatehavingassessedthebusinessscurrentmodeofoperation.
Thepilotoperationalapproachtosystemchangeoverwillinvolveimplementingthe
completeSalesDatabaseManagementSystematHighDefinitionDVDClub.Anarea
attheestablishmentwillbereservedforsettingupthenewsystemandthiswillserve
asthepilotsite.Usingthisapproach,themanualpaperbasedsystemwillstillbe
operationalatthebusiness.ItisonlywhentheSalesDatabaseManagementSystemis
proventobesuccessfulinthepilotenvironmentwillitbecompletelyincorporated
intotheentirebusinessusingthedirectcutovermethod.
Thepilotoperationapproachcanbeconsideredacombinationofparalleloperation
anddirectcutover.Thisapproachreducestheriskofsystemfailurewhichthedirect
cutover approach brings and is also less costly when compared to the parallel
operationalapproach.Thetwosystemswillonlyworkparalleltoeachotherfora
periodoftime(SystemsAnalysis,DesignandImplementation,1992).
A discussion was held with the owner of High Definition DVD Club and it was
decidedthatstepstoensurethatthesiteispreparedandthathardware/softwareis
KENO LEE
Page 125

MAJOR PROJECT

BSC BUSINESS COMPUTING

availableandreadytousewillbetaken.Table10.1.1providedbelowoutlineswhat
activitieswerecarriedout,whenandwhatactivitieswerecovered.

Activity
SitePreparation

ActivityDate

ActivityBreakdown
Electrical inspection and
sourcingifnecessary
BusinessLayout(physicallayout
andofficeequipment/furniture)
Security(forequipmentand
informationstoredonthenew
system)
Hardware setup (Computer,

Hardware/Softwar
ePreparation

Printer,UPS)
Softwareinstallationand
configuration(Oracle10g,
MorzillaFirefox1.5,jinit,Java
j2sdk,printerdriver)
Deploying entire system using

Deployment

pilotoperationalapproach.
Table10.1.1

10.1.2DataMigrationThiscanbedescribedastheprocessoftransferringlegacy
datafromtheoldsystemtothenewsystem.Inthiscasethelegacydataispaperbased
records.Whenmigratingdata,legacydataisimportedintothenewsystemusinga
methodsuitableforthesysteminvolvedandthenatureandstateofthedatabeing
migrated.Itmustbenotedthatdatamigrationinvolveddatacleansing,aprocessby
whichlegacydatawaspreparedformigrationtothenewsystem.Datawasconverted
intoacommonformatthatcanbeoutputfromtheoldsystemandinputintotheSales
DatabaseManagementSystem.
DatamigrationmethodswerediscussedwiththeownerofHighDefinitionDVDClub
anditwasagreedthattheSalesDatabaseManagementSystemwillbepopulatedusing
acombinationofnewlyformatteddataaswellasexistingmanualpaperbasedrecords
KENO LEE
Page 126

MAJOR PROJECT

BSC BUSINESS COMPUTING

fromthelastthreemonths.ThenewlyformatteddataincludedthatofDVDsinstock
thatwasnotyetrecordedasbeinginstock.Thecombinationofdataensuredthatthe
new system was fully furnished with data on Sales conducted, DVDs in Stock,
SuppliespurchasedandCustomerMembership.
Alldataenteredwasdonemanuallysincetheexistingdataispaperbased.Thisdata
wascleansedandsortedtoensurethatthedataisconsistentwiththerequirementsof
thenewsystem.Itwasnecessarytoundertakesuchdatapreparationmeasuresbecause
of the Sales Database Management Systems architecture. Data cleansing ensured
conformationanddatasortingensuredconsistencyandameaningfularrangementand
presentationofthedatatobemigrated.
Datamigrationwasinitiallycarriedoutinatestingmodeinitially,thistoensurethat
therewaslittleornodisruptionstothebusinesssoperations.Theprocessofdata
migrationinitiatedassoonasdeploymentofthenewsystemwascompleted.This
processbeganon11October,2012andinvolvedtheownerofHighDefinitionDVD
Clubandmyself.

10.2TrainingPlanThetrainingofstaffwascriticaltoensuringthatendusersunderstood
how the Sales Database Management System works and what it involves. The training
provided,soughttoimprovetheusersperformancebyhelpingthemtomastertheuseofthe
Sales Database Management System. The training process also helped to enhance staff
behaviour.Atrainingplanwasdonetooutlinethenecessarytrainingthatstaffrequired.The
planoutlinesthefollowing:

Whowillbetrained
Whattrainingtheywillrequire
Wheretrainingwillbecarriedout
Whytheywillbetrained
Howtheywillbetrained

Itwasnecessaryforboththeowner/managerandthegeneralemployeetobetrained.They
werebothtrainedontheentiresystem,whichincludedtheSales,Stock,Supply,Customer
andReportsmodules.TrainingwascarriedoutattheHighDefinitionDVDClubusinglive
demonstrationsandahandsonapproach.Trainingwasconductedoverathreedayperiod,
howeverfollowupsessionstoaddressanyuncertaintieswerearranged.Table10.2.1provided
belowprovidesabreakdownofthetrainingplan.
KENO LEE
Page 127

MAJOR PROJECT

BSC BUSINESS COMPUTING

WHO
WHAT
Owner/Manage Getting
r
General
Employee

WHERE
WHY
High
Toensurethatusers

Started

Definition

understandstheuseof

(Oracle

DVDClub

OracleForms.

Forms)

HOW
Handson
sessions
Tutorials
UserManuals

Toensurethatform
navigabilityis
understood.

Owner/Manage
r
General

Form

High

Operation

Definition

understandsand

Functions

DVDClub

graspsform

Employee
Owner/Manage
r

Toensurethatusers

Generating High
Reports

functionality.
Toensurethatthe

Definition

owner/manager

DVDClub

understandsand
graspshowto

Handson
sessions
Tutorials
UserManuals
Handson
sessions
Tutorials
UserManuals

generatereports.

Table10.2.1

10.3UserGuideThisdocumentwasproducedfortheSalesDatabaseManagementSystem
andmadeavailabletotheusersofthesystematHighDefinitionDVDClub.APDFversion
oftheUserGuideisavailabletothesystemusersviatheHelpbuttonprovidedatthetop
righthandcornerofeachform.Thisguidewillalsobeprovidedtousersasahardcopy.The
userguidedevelopedcontainsalltheguidelinesnecessarytoaccess,navigateandperform
proceduresandfunctionstheSalesDatabaseManagementSystemprovides.Theuserguide
outlinessequentialguidelinesrelevanttothefollowingmainsectionsthatmakeuptheguide.
Theyare:

GettingStarted
AccessingtheUserGuide
FormNavigation
FormOperations
Reports

KENO LEE
Page 128

MAJOR PROJECT

BSC BUSINESS COMPUTING

Theuserguideprovidedispresentedinthesimplestpossibleformusingexplicitheadings,
screenshots and accompanying instructions. The user guide developed will provide the
managerandgeneralemployeewithaninformativeanduserfriendlysourceofinformation
regardingtheSalesDatabaseManagementSystem.

10.4BackupPlan DataheldbytheSalesDatabaseManagementSystemistheheartof
HighDefinitionDVDClub.Itishighlyimportantthatthisdataisprotectedandthiscanonly
bedoneifabackupandrecoveryplanisdevelopedandimplemented.Abackupplanwill
provide some level of protection against accidental loss of data, database corruption,
hardwarefailuresandnaturaldisasters.Itwasagreedthatmyselfwillprovideadministrative
supportforthesysteminlieuofatechnicalsupportstaffatthebusinessandassuchIwas
taskedwiththejobofensuringthatthisplanwasdevelopedandimplementedtoensurethat
backupsareperformedandbackupdevicesstoredinasecureoffsitelocation.
Thebackupplandoneservedasaninsurancepolicyagainstthenegativeeffectsofimportant
filesbeingaccidentallydeleted,missioncriticaldatabecomingcorruptorthedamagesof
naturaldisasters.Thebackupplandoneprovides ameans throughwhichthesystemcan
recoverfromanyofthepreviouslymentioned.Itwasnecessarytodeterminewhatdataneeds
tobebackedup,howoftenthedatashouldbebackedupandthedeviceonwhichthedata
willbebackedup.Thefollowingfactorswereconsideredwhendevelopingthebackupplan:

Howimportantisthedataonthesystem?Itwasdeterminedthatalldataheldonthe
SalesDatabaseManagementSystemwasimportanttothesmoothflowofthebusiness
operations.Itwasdecidedthatforcriticaldatabasedata,redundantbackupsetsthat
extendbackforseveralbackupperiodswillbedone.Dailyuserfileswouldbebacked
upusingalesselaborateapproachhoweverthisdatawillbebackedupregularlyand
stepstoensuretheeasyrecoveryofdataputinplace.

Whattypeofinformationdoesdatacontain? Discussionsheldwiththeownerof
HighDefinitionDVDClubprovidedclarityonthetypeofinformationthatthedata
contains.Thishelpedtodeterminewhatdataneedstobebackedupaswellashowthe
datawouldbebackedup.

KENO LEE
Page 129

MAJOR PROJECT

BSC BUSINESS COMPUTING

Howoftendoesthedatachange?Thefrequencyofdatachangewasconsideredanda
decisionmadetoperformbackupsaccordingtotheoccurrenceofdatachanges.For.
Exampledailyincrementalbackupsfordatathatchangesdaily.

Howquicklymustthedataberecovered? Howfastmustthesystemrecoverfrom
failureisimportanttothisplan.Thissystemmaynotbeanonlinesystemhoweverthe
urgencyofsystemrecoveryremainshigh.Thelongerittakesforthesystemtorecover
canmessuptheconsistencyofbusinessdataandultimatelyaffectthebusinesssflow.
Astandardwassettoensurethatsystemdowntimeisminimal.

Backupequipmenttobeused?Inordertoexecutethisplanitwasnecessarytohave
theappropriatehardwaredeviceonwhichdatawillbebackedup.Itwasdecidedthat
removablediskdriveswillbeutilizedasthebackupdeviceonwhichbackupwillbe
performed.Itwillbeidealiftwocopiescanbekeptatdifferentlocations,however
thiswillbedependentontheownersfinancialsituation.

Whowillberesponsibleforthebackupplan? Currentlyneithertheownernorher
generalemployeehastheleveloftechnicalexpertiserequiredtoexecutethebackup
plan.Inlieuofthisitwasdecidedthatmyselfwillberesponsibleforexecutingthis
planasnecessary.Theownerisexploringoptionsinanattempttohireatechnical
assistant.

Whatisthebesttimetoschedulebackups?Backupswillbedonewhenthesystems
useislowasmuchaspossible.Thisinanattempttospeedthebackupprocess.Notall
backupscanbescheduleforoffpeakhourshencecarefulconsiderationwasplaced
intowhenkeysystemdatawillbebackedup.

Doyouneedtostorebackupsoffsite? Storingcopiesofbackupdevicesoffsiteis
criticaltoasuccessfulrecoveryofsystemdataintheeventofnaturaldisaster.Copies
ofthediskdrives,Oracle10gsoftwareaswellasanyimportantoperationsystem
installationdiskswillbestoredoffsite.Thesewillbenecessarytoreestablishthe
systems operation in the fastest possible time. The owner has indicated that her
personal residence will serve as the offsite location and has already put security
measuresinplacetoensuresecurestorage.

Fullbackupswillbeperformedonaweeklybasisandthissupportedbydailyincremental
backups.Anextendedbackupwillalsobeperformedonamonthlybasistoensurethatfiles
KENO LEE
Page 130

MAJOR PROJECT

BSC BUSINESS COMPUTING

thatarentbackedupregularlyarebackedup.Table10.4.1providedbelowoutlinesthedays
andtypeofbackupthatwillbeperformed.

BackupSchedule
Weekday
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

Backuptobeperformed
Fullbackuptobeperformed.
Incremental.ContaininganychangessinceSunday.
Incremental.ContaininganychangessinceMonday.
Incremental.ContaininganychangessinceTuesday.
Incremental.ContaininganychangessinceWednesday.
Incremental.ContaininganychangessinceFriday.
Incremental.ContaininganychangessinceSaturday.

Table10.4.1

KENO LEE
Page 131

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 132

MAJOR PROJECT

BSC BUSINESS COMPUTING

11.INTERPRETATIONOFRESULTS

11.1ChecklistofRequirementsThisrequirementschecklistservesasamethodthrough
which evaluation of the developed system was done. The evaluation done provided a
systematicapproachtoassessingtheSalesDatabaseManagementSystem.Thiswasdone
with the aim of providing evidence of the systems functional value, efficiency and
effectiveness.Functionalrequirementsweremeasuredagainstactualresultstoevaluatethe
effectivenessofthesolution.Table11.1providedbelowoutlinesthecomparisondonerelative
totherequirementsspecificationandthefinalresultsofthesystem.Thiscomparisonwas
done using a functional requirements checklist and Yes or No responses to indicate
whetherornotrequirementsweremet.

FunctionalRequirements
SalesModule

Yes

AddingaSale
UpdatingaSale
DeletingaSale
SearchingforaSale
CalculateTotalSales

StockModule

AddingStock
UpdatingStock
DeletingStock

KENO LEE
Page 133

No

MAJOR PROJECT

BSC BUSINESS COMPUTING

SearchingforaStock
Triggerareorderlevelalert
AutomaticStockQuantityUpdate

SupplyModule

AddingaSupply
UpdatingaSupply
DeletingaSupply
SearchingforaSupply
CalculateTotalSupplies

CustomerMembershipModule

AddingaNewCustomer
UpdatingaCustomer
DeletingaCustomer
SearchingforaStock
Table11.1

Note: Whentested,thetriggerreorderalertisgiventwiceperDVD.Ideallyitshouldbe
givenonce,hencethisrequirementfunctionwashighlightedusinganasterisktoindicateit
worksbutnotasintended.

11.2ComparisonofResultstoCasesinLiteratureReviewTheworkdoneinthisproject
wasdonewiththeaimofprovidingasystemthroughwhichHighDefinitionDVDClubcould
improve the effectiveness and efficiency of recording their business transaction. The
businessscurrentsituationwaslookedon,problemsidentifiedandadecisionmadetolook
ontechnologyasasolution.ResearchandInvestigativeworkdoneprovidedacommonlevel
ofunderstandingbetweentheownerofthebusinessandmyselfofwhatthedevelopedsystem
shouldachievesoastoalleviatetheproblemsidentified.Thiscanbecomparedtoworkdone
by each of the three companies researched, namely Amazon.com, Ebay.com and
Stubhub.commainlybecausethesecompaniesallfacedproblemswiththeirinitialsystemand
lookedontechnologyasasolution.
Amazon.comexperiencedscalingissueswhichledtoamajorarchitecturalchangefroma
twotiermonolithtoafullydistributed,decentralisedservicesplatformservingmanydifferent
applications. Theyincreasedthe sizeoftheirdatabase,whichis now oneofthe worlds
KENO LEE
Page 134

MAJOR PROJECT

BSC BUSINESS COMPUTING

largestandtheirCentralDataWarehousewhichcomprisesof28HPServers/4CPUnodes
runningonOracle9isoftware.Ebay.comsufferedfromaseriesofservicedisruptionsand
madeacompleterestructureoftheirarchitecture.TheirsystemwasrewritteninJ2EEand
theirdatabaseserversincreasedto200supportedby20searchservers.Quickgrowthgotthe
betterofStubhub.cominthebusinesssearlyyearsofexistenceandthisexposedaproblem
with their technological infrastructure which threatened their long term survival. Their
methods ofaccessingdata,customers andbusiness driverswereinefficientandoutdated.
Stubhublookedtoamixtureofopensourcetechnologyandbestbreedsoftwaretoolssuchas
Businesstools,Oracle,OminitureandS.A.Sasasolution.
TheworkdoneinthisprojectforHighDefinitionDVDClubcanstanduptothebestinclass
solutions sought by these companies. Business at High Definition DVD Club was being
stifledasaresultofthemanualpaperbasedsystembeingoperated.Therecordingofbusiness
transactionsweretedious,timeconsumingandinconsistent.TechnologyintheformofOracle
10gsoftwareandnewhardwaretofacilitatetheuseofthissoftwarewerelookedonasa
possiblesolution.Thisprojectcoveredalltheprerequisitedocumentationrequiredtoensure
a smooth flow of development using the technology of choice. Oracle Forms Builder
provided the application through which the software was designed and developed using
PL/SQLwithSQLPlusprovidingthedatabasespace.
Amazon.com utilized programming languages such as Perl/Mason, C++, Java, Jboss and
Servelets.Ebay.comusedC++withanOracleDatabseandStubhubJava,ColdFusion,Jboss,
XSLandAdvancedQueuingfromOracle.TheSalesDatabaseManagementSystemdonefor
High Definition DVD Club was developed solely on Pl/SQL a procedural language that
extendstheuseofSQL.Itcanbeconcludedfromthiscomparisonthatthesolutionprovided
to solve the problems faced by High Definition DVD Club stands up with that of
Amazon.com,Ebay.comandStubhub.comsincetheyalllookedontechnologyasameansof
resolvingproblemsthatwereaffectingthebusinessoperation.

11.3SummaryofClientAppraisal/Acceptance/Feedback Theappraisalreceivedfrom
the customer was a very good one. The owners satisfaction was conveyed during an
interview conducted with her regarding acceptance both orally and via the customer
satisfaction form. In this interview she expressed great satisfaction with the level of
involvementshewasallowedinthemakingofdecisionsintheproject.ShesaidquoteIfelt
KENO LEE
Page 135

MAJOR PROJECT

BSC BUSINESS COMPUTING

partofateamworkingtowardsonecomegoalofdevelopingtheSalesDatabaseManagement
System.Sheapplaudedthefactthatmeetingdatesandtimeswerekeptandthateffortswere
placedtoensuringminimaldisruptionsofherbusinessoperations.Sheexpressedappreciation
for being kept in the know with regards to the progress of the project and the cordial
relationshipmaintainedthroughouttheproject.Sheisoverwhelmbythefunctionalitythe
systemprovidesandindicatesthatshecanalreadyseetheefficiencyandeffectivenessthat
thenewsystemwillinjectintoherbusinesssoperations.ShehasacceptedtheSalesDatabase
ManagementSystemwithopenarmsandconveyedthatitisbeyondherexpectationhaving
performed all the necessary acceptance tests. She has indicated her willingness to work
togetheronsimilarprojectsinthefutureshouldtheneedtoexpandoropennewbranches
arise. She was provided with the customer satisfaction form on which she conveyed her
satisfaction.ThisformcanbefoundinAppendixJ.

11.4 Evaluation of the CASE Tool used CASE, short for Computer Aided Software
Engineeringcanbedescribedasadisciplinedandstructuredapproachtoengineeringrelative
tothedevelopmentofsoftwareandsystems.Itemphasizesstructuredmethodswithdefined
andstandardizedprocedures(PeterLo,2006).TheCASEToolsusedinthisprojecthelpedto
substantiallyreduceandeliminateinsomecasesmanyoftheproblemsassociatedwithdesign
anddevelopment.Theabilitytofocus onthesystemsarchitectureratherthantheactual
implementationwasaffordedwhenusingCASEToolsinthisproject.Thetoolsusedensured
acommonthatacommonviewwassharedrelativetowheretheprojectstandsindifferent
development stages. They also allowed for the projects progress to be traced and for
adjustmentstobemadewherenecessarytobeconsistentwithdeliverydatesset.TheCASE
Toolsusedinthisprojectcanbeclassifiedasfollows:

InformationEngineeringTools TheCASEToolusedrelativetothisclassification,
namely Microsoft Visio allowed for the representation of the businesss objects,
relationshipsandhowthesedataobjectsflowedbetweendifferentbusinessareas.This
tool served as the design tool through which such representations were produced.
MicrosoftVisiowasveryeffectiveinstandardizingflowchartrepresentationsaswellas
representationsofotheraspectsofsystemrelativetotheHighDefinitionDVDClubs
operations.

KENO LEE
Page 136

MAJOR PROJECT

BSC BUSINESS COMPUTING

ProjectPlanningTools TheCASEToolusedrelativetothisclassification,namely
MicrosoftProjectallowedforfocustobeplacedonprojecteffortandprojectscheduling.
Thistoolwasusedtooutlinethetimedurationofeachoftheprojectsstagesandthesub
tasksthateachstagecomprisedof.WorkdonetocreatetheprojectsGanttChartallowed
fortheautomaticcreationoftheNetworkDiagramwhichwasanotherrequirementofthis
project. Microsoft Project provided the ideal application that was needed to set time
schedulesfortheprojectstasks.Thisprovedtobeavaluableassettoensuringthatthe
systemwascompleteontime.

AnalysisandDesignToolsTheCASEToolusedrelativetothisclassification,namely
MicrosoftVisionallowedforproducingrepresentationsofthesystemsmodelsincluding
thatofdata,functionsandbehaviourofthesystemdeveloped.Thistoolprovidedallthat
wasnecessarytoproducetheObjectOrientedDiagramsillustratedintheSystemAnalysis
andDesignstage.Visioallowedforstructureandstandardizationtobeincorporatedinto
analysisanddesignwhichensuredqualitydevelopment.

ProgrammingToolsTheCASEToolusedrelativetothisclassification,namelyOracle
Forms Builder and SQL Plus provided all the programming necessities required to
develop the Sales Database Management System. Oracle Forms Builder was used to
designanddevelopthesystemsforms.Thisapplicationallowedforastructuredapproach
whendesigningtheformsandprovidedthenecessarywizardsandfunctiontitlestoguide
thecodingprocess.SQLPlustheotherCASEToolusedindevelopmentallowedforthe
creationandpopulationoftablesinthedatabase.Thistoolwaseffectiveforestablishing
intendedrelationshipsamongsttablesinthedatabaseaswellasforensuringthatdata
typesstandardsaresetandconformedto.SQLPlusprovidedsomedegreeofassurance
thatdatawillbesuccessfullystoredtothedatabaseoncethatwhichisenteredandsaved
informsisconsistentwiththedatastructuresetusingSQLPlus.

KENO LEE
Page 137

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 138

MAJOR PROJECT

BSC BUSINESS COMPUTING

12.EVALUATION(ProjectEvaluation)

12.1 Critical Appraisal of all project stages This involved the process of reviewing and
assessingtheworkdoneinthisprojectrelativetodeterminingthestrengths,weaknesses and
lessonslearntineachstageofthisproject.Theevaluationdoneseekstoidentifytherelevanceand
achievementsoftheprojectstagesaswellastheefficiencyandeffectivenessofdevelopment.All
stagesoftheprojecthavebeenassessedandtheirstrengthsandweaknessesoutlined.Asummary
ofthelessonslearntisprovidedattheendoftheevaluationdone.Theevaluationisasfollows:

12.1.1Introduction ThisintroductorychapterinvolveddescribingHighDefinitionDVD
Clubsbackground,problemsfaced,aims/objectives,projectscopeandboundary,milestones
and deliverables, work breakdown structure, activity network diagram, Gantt Chart and
projectmanagementaspects.Thestrengthsandweaknessesofthisstageareasfollows:
Strengths
KENO LEE
Page 139

MAJOR PROJECT

BSC BUSINESS COMPUTING

The ability to easily access information held by High Definition DVD Club. The
managerwasalwaysopentosharinganybusinessinformationnecessary.

Theresearchanddocumentationdonewhichprovidedasynopsisofwhattheproject
involved.

The project planning and management research done in this stage, which ensured
propertimeschedulingandmanagementoftheproject.
Weaknesses
Allocatingdurationstosubtasksofstages.Somewereunderestimated.
Determiningtheriskpotentialindicatorrelativetotheriskplan.
NarrowingthebroadtopicofQualityManagementrelativetothisproject.

12.1.2 Literature Review This was discussed in the second chapter of this projects
documentation.Thisstageinvolvedpresentingthebackgroundtotheproblemusingareview
ofrelatedliteratureandresearchprojects.Atheoreticalstudyrelativetowebhostingand
websitedevelopmenttoolswasconducted.Thisstagealsolookedoncasestudiesforthree
companies operating similar systems. The strengths and weaknesses of this stage are as
follows:

Strengths
Technologicalresearchdoneoutlinedpossibletechnologicalsolutionsthatcouldhave
beenusedintheproject.
CaseStudiesresearchedprovidedanunderstandingofhowandwhattechnological
combinationsofhardware,softwareanddatabasecanbeusedtodevelopthesystem.
Weaknesses
FindingcompaniestoresearchrelativetotheCaseStudythatoperatedbusinessesthat
wasconsistentorsimilartothatofHighDefinitionDVDClub.
FindingconsistentresearchonInternetusageinTrinidadandTobago.

12.1.3ResearchorInvestigativeMethodThiswasdiscussedinthethirdchapterofthis
projects documentation. This stage involved providing details of different research or
KENO LEE
Page 140

MAJOR PROJECT

BSC BUSINESS COMPUTING

investigative methods, namely Deductive/Inductive, Survey/Case Study/Action Research,


One/Mixed/Multi.DataCollectionMethodsandAnalysisaswellasmethodologieswerealso
lookedoninthisstage.Thestrengthsandweaknessesofthisstageareasfollows:
Strengths
TheresearchdoneonObjectOrientedMethodology
TheDataCollectionMethodsandAnalysisresearchanddocumentation.
Weaknesses
Developing a clear understand of the research methods Action Research and
One/Mixed/Multi.
TheabilitytovisualizetheSSADMMethodologyrelativetotherequirementsofthe
projectwhendocumentingresearch.

12.1.4 Feasibility Study This was discussed in the fourth chapter of this projects
documentation.ThisstageinvolvedthedescribingofthebusinesscaserelativetoaEconomic
Analysis,SocialAnalysis,TechnicalAnalysisandaGoorNoGoDecision.Thestrengthsand
weaknessesofthisstageareasfollows:

Strengths

Theresearchanddocumentationdoneonthedifferenttypesofanalysisrelativetothe
businesscase.

The analysis of information obtained relative to the different types of analysis


discussedinthebusinesscase.

Weaknesses

Assigningafinancialcosttobenefitsrelativetothecostbenefitanalysis.

12.1.5 System Analysis This was discussed in the fifth chapter of this projects
documentation.Thisstageinvolvedadiscussionoftheproblemspecificationofthecurrent
system,factfinding,analysisofdatacollectedandtheillustrationofthecurrentandproposed

KENO LEE
Page 141

MAJOR PROJECT

BSC BUSINESS COMPUTING

systemusingobjectorienteddiagrams.Thestrengthsandweaknessesofthisstageareas
follows:

Strengths

Thediscussionofthecurrentsystemsproblemspecification.
Therepresentingoffactsfoundgraphically.
Obtaininginformationrelativetothedifferenttypesofanalysisdone.
Weaknesses

Analysisoffactsfoundviainterviewandobservation.
Theillustrationofsomeaspectsofthecurrentsystemusingobjectorienteddiagrams.

12.1.6RequirementsSpecificationThiswasdiscussedinthesixthchapterofthisprojects
documentation. This stage involved a discussion of a summary of the proposed system,
functional requirements, nonfunctional requirements and business requirements. The
strengthsandweaknessesofthisstageareasfollows:
Strengths

Identifyingthesystemsfunctionalandnonfunctionalrequirements.
Detailsoftheproposedsystem
Weaknesses

Developingaclearunderstandingofthebusinessrequirements.

12.1.7 System Design This was discussed in the seventh chapter of this projects
documentation.Thisstageinvolvedoutliningthelogicalsystemspecification,datadesign,
architecturaldesign,proceduraldesignandinterfacedesign.Thestrengthsandweaknessesof
thisstageareasfollows:
Strengths

Outliningthelogicalsystemspecification.
Illustratingthesystemsinterfacedesign.
Illustratingthesystemusingtheprogramstructurechart.
KENO LEE
Page 142

MAJOR PROJECT

BSC BUSINESS COMPUTING

Weaknesses

Pseudocode.
Applyingtheconceptofblackboxtestinginthetestplanphase.
SomechallengeswerefacewhenproducingtheproposedsystemsERDdiagram.

12.1.8 Development This was discussed in the eight chapter of this projects
documentation.Thisstageinvolvedtheproducingofcoderelativetodevelopingthesystem.
Screenshotsofthedevelopedsystemandajustificationofhowthesystemwasdeveloped
usingOraclePL/SQLwasalsodiscussedinthisstage.Thestrengthsandweaknessesofthis
stageareasfollows:
Strengths
ThecreationandpopulationoftablesinSQLPlus.
GeneratingcodetofacilitatethesystemsCRUDfunctions.
Weaknesses
Generatingcodetofacilitatecalculations.
Generatingcodetotriggerastockreorderalert.

GeneratingReports.
12.1.9Testing Thiswasdiscussedinchapternineofthisprojectsdocumentation.This
stageinvolvedtheexecutionofaseriesofwhiteboxtestanddocumentationtosupportthese
tests.Thestrengthsandweaknessesofthisstageareasfollows:
Strengths

Knowledgeofthesystemsexpectedfunctionalityallowedforanyinconsistenciesto
beeasilyidentified.

Visualization provided of tests execution supported by theoretical research and


documentation.
Weaknesses

Identifyingregressionteststoexecute.
Comparingexpectedandactualresultssincetheexpectedresultswerealwaysmet.
Therewaslittleornocomparisontobemade.
KENO LEE
Page 143

MAJOR PROJECT

BSC BUSINESS COMPUTING

12.1.10ImplementationThiswasdiscussedinchaptertenofthisprojectsdocumentation.
Thisstagesdiscussioninvolvedthesystemsimplementationplan,trainingplan,userguide
andbackupplan.Thestrengthsandweaknessesofthisstageareoutlinedasfollows:
Strengths

ThestrategydevelopedrelativetothedeploymentoftheSalesDatabaseManagement
System.

Trainingsessionsconducted.Thesesessionswentwell.
Weaknesses

Producingthebackupplan.

12.1.11InterpretationofResults Thiswasdiscussedinchapterelevenofthisprojects
documentation.Thisstagesdiscussioninvolvedthechecklistofrequirements,comparisonof
results to cases researched, summary of client appraisal/acceptance/feedback and the
evaluationoftheuseofCASETools.Thestrengthsandweaknessesofthis stageareas
follows:
Strengths

Comparisonoftherequirementsspecificationwiththefinalresults.
Theclientappraisalconducted.
Weaknesses

Weaknesses were exposed when comparing results to cases researched in the


LiteratureReview.

PreciselydefiningtheeffectivenessofCASEToolsused.

12.1.12LessonsLearnt Theworkresearchedandperformedinthedevelopmentofthe
Sales Database Management System from the introductory stage straight through to the
projectsconclusionwasveryeducativeandprovidedahostofknowledgerelativetothe
managingoftheentireproject.Thisprojectallowedforknowledgegainedthroughresearchto
bephysicallyappliedusingskillsgainedalongtheway.Theprojectensuredthatexisting
knowledgewereexpandedontoprovidegreaterdepthintheprojectsdocumentationand
KENO LEE
Page 144

MAJOR PROJECT

BSC BUSINESS COMPUTING

actualdevelopment.Thelessonslearntwillprovetobeavaluableassetinthefuturewhen
workingonsimilarprojects.Ithasprovidedthefoundationofknowledgeandskillsonwhich
evenlargerprojectscanbedone.Specificationofthelessonslearntinthisprojectareas
follows:
Preparingandpresentingaprojectproposal.
Planningaproject.
Presentingthebackgroundoftheproblemusingresearchandinvestigation.
Differenttypesofresearchorinvestigativemethods.
MakingaGoorNoGoDecisionhavinganalysedthebusinesscaseeconomically,socially
andtechnologically.
AnalysisofthecurrentandproposedsystemusingObjectOrientedMethodology.
Producingtherequirementsspecificationofaproposedsystem.
Producingarchitecturaldesignandproceduraldesignforasystem.
Therequirementsofthedifferenttypesofresearch.
UsingOracle10gtodevelopaSalesDatabaseManagementSystem.
Executinganddocumentingwhiteboxtesting.
ProjectandTimemanagement.
Thedifferenttypesofimplementationstrategies.

12.2Conclusion
TheSalesDatabaseManagementSystemsuccessfullydevelopedusingtheOracle10gDeveloper
SuitewassuccessfullyimplementedatHighDefinitionDVDClubontimeandwithinbudget.The
planning,research,analysisanddocumentationdonethroughoutthisprojectplayedacriticalrole
inthesuccessoftheproject.TheresearchdoneintheintroductionstageonHighDefinitionDVD
Clubprovidedaproperunderstandingofthebusinessbackground,problemsbeingfacedandwhat
theiraimsandobjectivesare.Theinvestigativeworkdoneallowedforadecisiontobereached
relativetotheLifecycleModelandaDevelopmentMethodology.Themodelchosen,namelythe
WaterfallModelprovidedthefoundationuponwhichtheObjectOrientedMethodologywasused
fordesigningthesystem.Thecombinationcomplementedtherequirementsoftheprojectsinceit
KENO LEE
Page 145

MAJOR PROJECT

BSC BUSINESS COMPUTING

encouragedsimplicity,acontinuouswellstructuredflowofevents,continuousdocumentationand
diagrammaticrepresentations.
TheoverallaimoftheprojecttodevelopandimplementaSalesDatabaseManagementSystem
thatwouldalleviatetheproblemsfacedbythebusinessandinjectefficiencyintothebusinesss
operationwasmet.Itmusthoweverbenotedthattheinitialplanning,research,investigationand
analysisdoneplayedkeyrolesintheachievementsofthisprojectChallengeswerefacedalongthe
way,howevernoticeablysointhedevelopmentstage.Thisexposedasignificantunderestimation
oftimeallottedtothedevelopmentstageandasaresultofthisthestagesthatcamesubsequentto
development were all stressed for time. The Sales Database Management System was well
receivedbytheownerandhersupportstaffandtheywerebothanxioustostartworkingwiththe
newsystem.Thesimpleyetprofessionaldesignhasaffordedthesystemusersauserfriendlyand
easy to navigate interface through which they can maintain records of Conducted Sales,
PurchasedSupplies,DVDsinStockandCustomerMembership.The system affords users
the ability to Add, Insert Into, Update, Delete and Search records as well as to generate
reports on Total Sales, Total Supplies, DVDs in Stock and Customer Membership. The
completed systems ability is very much consistent with what was required of it and as such it can
be said that the project undertaken to develop and implement the Sales Database Management
System at High Definition DVD Club was a success.

12.3TableshowingActualGanttChartvsOriginalplan
ActualGanttChart

OriginalPlan

KENO LEE
Page 146

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 147

MAJOR PROJECT

BSC BUSINESS COMPUTING

EvaluationofDeviationsThetableaboveprovidesanillustrationoftheActualGantt
chartagainsttheOriginalPlan.ThisseekstoachieveacomparisonofthetwoGanttCharts
soastobeabletoperformthisassessmentofthedeviations.Thedurationaswellasthe
startandfinishdatesforeachmainstagehavebeenoutlinedusingagreenandpurplebox
intherespectivetablecolumns.Itisclearfromthecomparisonthatthebiggestdeviation
wasmadeattheinitialstagesoftheproject.Theintroductorystagewasoriginallyschedule
to take twelve days however he time actually taken exceeded this by far. It took an
estimatedeightytwodaystototallycompleteallphasesofthisstage.Thismajordeviation
intimewasmainlybecauseofthethoroughnessputintotheintroductorystage.Thisstage
wascriticaltoensuringthesuccessofwhatwastocomeandasaresultgettingitrightwas
mandatory.
Minordeviationsnotexceedingadaycanbeseeninthecomparisonillustratedabovefor
thestages,LiteratureReviewandFeasibilityStudy.Whilethisisso,thereisanoticeable
deviation relative to when these stages were originally planned to start and finish.
OriginallytheLiteratureReviewstagewasscheduletostartonthe27thofMarch,2012and
finishonthe3rdofApril,2012whiletheFeasibilityStudywasscheduledtostartonthe
11thofApril,2012andfinishonthe28 thofApril,2012.Thesestagesactuallystartedon
the28thofMay,2012and13thofJune,2012respectivelyandfinishedonthe3 rdofJune,
2012and4thofJuly,2012respectively.Theseinconsistenciescameasadirectresultofthe
introductorystageexceedingitsoriginallyplannedfinishdate,the25thofMarch,2012.
The stages Research and Investigative Methods, System Analysis, Requirement
Specification, Design and Coding all took the originally planned number of days to
complete.Thestartandfinishdatesofeachofthesestageswereallpushedback,alsoasa
directresultoftheintroductorystageexceedingitsoriginallyplannedfinishdate.Coding
thelastofthesefiveidentifiedstageswasoriginallyplannedtobecompletedbythe8 thof
August,2012,howeveritactuallywascompletedonthe14 th ofOctober,2012.Thisis
KENO LEE
Page 148

MAJOR PROJECT

BSC BUSINESS COMPUTING

majordeviationtowhatwasoriginallyplanned.Thisparticularstagewasaffectedbyboth
theintroductorystagesetbackaswellasdifficultiesencounteredwhilecodingthesystem.
Theeffectofthesesetbacksstartedtoshowlateonsincetherewasaneedtogetbacktime
lostinthepreviousstages.Thismeantmorehoursorworkhadtobeputintoensurethat
remaining stages were completed at the earliest possible time. This is evident in the
Testing,Implementation,InterpretationofResultsandEvaluationstages.Testingwhich
was originally schedule to take twelve days was actually completed in eight.
ImplementationandInterpretationofresultswhichwereoriginallyscheduletotaketwenty
one and seven days respectively were actually completed in two and three days
respectively.ItmustbehowevernotedthatadditionaltimenotrecordedintheactualGantt
chartwasputintotheactualimplementationoftheSalesDatabaseManagementSystem.
InterpretationofResultsthelastofthesetwoidentifiedstageswasoriginallyplannedtobe
finishedbythe3rdofOctober,2012howeveritactuallyfinishedonthe15thofOctober,
2012asshowninthecomparisonabove.AllphasesofEvaluation,thelastofficialstageof
thisprojectsdocumentationwerecompletedinaday.Thisstagewasoriginallyscheduled
tobecompletedbythe11thofOctober,2012howeveritactuallyfinishedfivedayslateron
the16thofOctober,2012.Itcanbeseenfromthiscomparisonthatthemajordeviationof
whatwasoriginallyplannedrelativetodurationsandstartandfinishdatesofprojectstages
experiencedasaresultoftheIntroductionstagewasdrasticallyreducedinthesefinalizing
stages.Thiscamearesultoftheextrahoursofworkcontinuouslybeinginjectedintothe
projecttoensureitstimelycompletionandsubmission.

KENO LEE
Page 149

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 150

MAJOR PROJECT

BSC BUSINESS COMPUTING

REFERENCE

Tech Target, 2008. Definition of Project Management. [Online]


Available from: http://searchcio-midmarket.techtarget.com/definition/project-management
[Accessed 24 March, 2012]

CEC Community Empowerment Collective, 2011. Monitoring and Evaluation. [Online]


Available from: http://cec.vcn.bc.ca/cmp/modules/mon-wht.htm
[Accessed 24 March, 2012]

Whatisriskmanagement.net, n.d. Business Risk Management. [Online]


Available from: http://www.whatisriskmanagement.net/
[Accessed 24 March, 2012]

Chartered Quality Institute, n.d. What is quality? [Online]


Available from: http://www.thecqi.org/knowledge-hub/What-is-quality/
[Accessed 25 March, 2012]

Sommerville,I. (2011). Quality Management: In Sommerville, I. et al (ed) Software


Engineering. 9th ed. Boston: Pearson Education Inc., pp655

Software Testing Help, 2007. What are the Quality Attributes? [Online]
Available from: http://www.softwaretestinghelp.com/what-are-the-quality-attributes/
[Accessed 25 March, 2012]

BusinessDictionary, n.d. Implementation Plan. [Online]


Available from: http://www.thecqi.org/knowledge-hub/What-is-quality/
[Accessed 25 March, 2012]

BusinessDictionary, n.d. Implementation Plan. [Online]


Available from: http://www.businessdictionary.com/definition/strategic-plan.html
[Accessed 25 March, 2012]

BusinessDictionary, n.d. Implementation Plan. [Online]


Available from: http://www.businessdictionary.com/definition/strategic-plan.html
[Accessed 25 March, 2012]
KENO LEE
Page 151

MAJOR PROJECT

BSC BUSINESS COMPUTING

Wordpress.com, 2008. Deployment Strategies. [Online]


Available from: http://wordpress.org/support/topic/best-practices-site-developmentmethodology-and-migration-strategy
[Accessed 25 March, 2012]

ETL Tools, n.d. Data Migration. [Online]


Available from: http://www.etltools.org/data-migration.html
[Accessed 26 March, 2012]

Training and Developemnt. Naukrihub.com, n.d. Training Methods. [Online]


Available from: http://traininganddevelopment.naukrihub.com/methods-of-training/
[Accessed 26 March, 2012]

Marketing Terms, n.d.. Web Hosting. [Online]


Available from: http://www.marketingterms.com/dictionary/web_hosting/
[Accessed 28 March, 2012]

Tutorial Point, n.d. Web-Hosting Concepts. [Online]


Available from: http://www.tutorialspoint.com/web_developers_guide/web_hosting
[Accessed 28 March, 2012]

NetVantage Trinidad and Tobago, n.d. Web Hosting. [Online]


Available from: http://www.trinidadwebhost.com/web-hosting.html
[Accessed 28 March, 2012]

Ecaribay, n.d.. Compare Web Hosting. [Online]


Available from: http://www.ecaribay.com/compare-web-hosting.html
[Accessed 28 March, 2012]

Maximus DesignStudio LTD, n.d.. Web Hosting. [Online]


Available from: http://www.maximusdesignstudios.com/trinidad/web-hosting/
[Accessed 28 March, 2012]

Howstuffworks, n.d. How Amazon Works. [Online]


KENO LEE
Page 152

MAJOR PROJECT

BSC BUSINESS COMPUTING

Available from: http://money.howstuffworks.com/amazon.htm


[Accessed 2 April, 2012]

High Scalability, 2008. Ebay Architecture. [Online]


Available from: http://highscalability.com/blog/2008/5/27/ebay-architecture.html
[Accessed 2 April, 2012]

High Scalability, 2012. Stubhub Architecture. [Online]


Available from: http://highscalability.com/blog/2012/6/25/stubhub-architecture-thesurprising-complexity-behind-the-wo.html
[Accessed 3 April, 2012]

Research Methods Knowledge Base, 2006. Deduction and Induction. [Online]


Available from: http://www.socialresearchmethods.net/kb/survtype.php
[Accessed 5 April, 2012]

Writing @ CSU, n.d. Survey Research. [Online]


Available from: http://writing.colostate.edu/guides/research/casestudy/pop2a.cfm
[Accessed 05 April, 2012]

Carr, W. and Kennis, S. (1986). Becoming critical: Education Knowledge and Action
Research. Philadelphia: Falmer Press. [Online]

Rdinfo.org.uk, n.d. One Method Research. [Online]


Available from: http://researchflowchart.pbworks.com/ Design Studyand0Methods
[Accessed 6 April, 2012]

Diversified Topics, 2011. Mixed Methods Research. [Online]


Available from: http://diversifiedtopics.com/tag/mixed-methods-research-definition/
[Accessed 6 April, 2012]

Commonwealth of Learning, n.d. Multi Method Research. [Online]


Available from: http://www.col.org/SiteCollectionDocuments/A5.pdf
[Accessed 6 April, 2012]

KENO LEE
Page 153

MAJOR PROJECT

BSC BUSINESS COMPUTING

Bryne, M., 2001. Interviewing as a Data Collection Method. [Online]


Available from: http://www.serprofessoruniversitario.pro.interviewing-data-collectionmethod
[Accessed 6 April, 2012]

Data Collection Methods For Evaluation, 2009. Questionaires. [Online]


Available from: http://www.cdc.gov/healthyyouth/evaluation/pdf/brief17.pdf
[Accessed 7 April, 2012]

SAGE researchmethods, 2006. Questionaire. [Online]


Available from: http://srmo.sagepub.com/view/the-sage-dictionary-of-social-researchmethods/n168.xml
[Accessed 7 April, 2012]

Evaluation Briefs, 2008. Questionaires. [Online]


Available from: http://www.cdc.gov/healthyyouth/evaluation/pdf/brief17.pdf
[Accessed 7 April, 2012]

Nsf.gov, n.d. Common Qualitative Methods. [Online]


Available from: http://www.nsf.gov/pubs/1997/nsf97153/chap_3.htm
[Accessed 7 April, 2012]

Kuhn & Associates LLC, n.d. Methodology. [Online]


Available from: www.kuhnllc.com/project-methodology
[Accessed 8 April, 2012]

Techterms.com, n.d. OOP. [Online]


Available from: http://www.techterms.com/definition/oop
[Accessed 8 April, 2012]

James, M. and James, O. (1998). Object Oriented Method: A Foundation. Prentice Hall.

existBI, n.d. Feasibility Study & Business Case. [Online]


Available from: http://www.existbi.com/feasibility-studies-&-business-case.html
[Accessed 12 April, 2012]

KENO LEE
Page 154

MAJOR PROJECT

BSC BUSINESS COMPUTING

Infolic, n.d. Business Case Definition. [Online]


Available from: http://infolific.com/technology/definitions/pm-definitions/business-case/
[Accessed 12 April, 2012]

Cs.uwaterloo.ca, n.d. Cost Benefit Analysis. [Online]


Available from: cs.uwaterloo.ca/apidduck/CS330/WD4
[Accessed 12 April, 2012]

eogogicsinc, n.d. Functional Requirements of Software Systems. [Online]


Available from: http://www.eogogics.com/talkgogics/tutorials/functional-requirements
[Accessed 12 April, 2012]

Software Testing, 2005. Software Testing. [Online]


Available from: http://testingsoftware.blogspot.com/2005/11/what-is-test-plan_30.html
[Accessed 1 October, 2012]

Software Testing Fundamentals, n.d. Black Box Testing. [Online]


Available from: http://softwaretestingfundamentals.com/black-box-testing/
[Accessed 1 October, 2012]

Software Testing, 2005. White Box Testing. [Online]


Available from: http://testingsoftware.blogspot.com/2005/10/white-box-testing.html
[Accessed 1 October, 2012]

Bolton D., n.d. Definition of Unit Testing. [Online]


Available from: http://cplus.about.com/od/glossar1/g/unittesting.htm
[Accessed 2 October, 2012]

Kabay, N.E., 1997. Module Testing. [Online]


Available from: http://www.mekabay.com/courses/academic/jac/QA/module_testing.pdf
[Accessed 27 September, 2012]

SearchSoftwareQuality n.d. Methodology. [Online]


Available from: www.kuhnllc.com/project-methodology
[Accessed 3 October, 2012]

Software Testing Fundamentals, n.d. System and Acceptance Testing. [Online]


KENO LEE
Page 155

MAJOR PROJECT

BSC BUSINESS COMPUTING

Available from: softwaretesting fundamentals.com/acceptance-testing


[Accessed 3 October, 2012]

Peter Lo, 2006. Computer-Aided Software Engineering. [Online]


Available from: www.peter-lo.com/Teaching
[Accessed 12 October, 2012]

KENO LEE
Page 156

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 157

MAJOR PROJECT

BSC BUSINESS COMPUTING

BIBLIOGRAPHY

Bolton D., n.d. Definition of Unit Testing. [Online]


Available from: http://cplus.about.com/od/glossar1/g/unittesting.htm
[Accessed 2 October, 2012]

Bryne, M., 2001. Interviewing as a Data Collection Method. [Online]


Available from: http://www.serprofessoruniversitario.pro.interviewing-data-collectionmethod
[Accessed 6 April, 2012]

Burch, J. (1992) Systems Analysis, Design, and Implementation. Boston: MA

Burleson Consulting, n.d. Advantages and Disadvantages of Object Oriented Approach.


[Online]
Available from: http://www.dba-oracle.com/t_object_oriented_approach.htm
[Accessed 11 April, 2012]

BusinessDictionary, n.d. Implementation Plan. [Online]


Available from: http://www.thecqi.org/knowledge-hub/What-is-quality/
[Accessed 25 March, 2012]

Carr, W. and Kennis, S. (1986). Becoming critical: Education Knowledge and Action
Research. Philadelphia: Falmer Press. [Online]
Available from: http://www.innovateonline.info/extra/definition2421.htm
[Accessed 6 April, 2012]

CEC Community Empowerment Collective, 2011. Monitoring and Evaluation. [Online]


Available from: http://cec.vcn.bc.ca/cmp/modules/mon-wht.htm
[Accessed 24 March, 2012]

KENO LEE
Page 158

MAJOR PROJECT

BSC BUSINESS COMPUTING

Chartered Quality Institute, n.d. What is quality? [Online]


Available from: http://www.thecqi.org/knowledge-hub/What-is-quality/
[Accessed 25 March, 2012]

Commonwealth of Learning, n.d. Multi Method Research. [Online]


Available from: http://www.col.org/SiteCollectionDocuments/A5.pdf
[Accessed 6 April, 2012]

Copeland, L. n.d. State Transition Diagrams. [Online]


Available from: http://www.stickyminds.com/sitewide.asp
[Accessed 9 August, 2012]

Cs.uwaterloo.ca, n.d. Cost Benefit Analysis. [Online]


Available from: cs.uwaterloo.ca/apidduck/CS330/WD4
[Accessed 12 April, 2012]

Data Collection Methods For Evaluation, 2009. Questionaires. [Online]


Available from: http://www.cdc.gov/healthyyouth/evaluation/pdf/brief17.pdf
[Accessed 7 April, 2012]

Developer.com, 2003. The UML Class Diagram. [Online]


Available from: http://www.developer.com/design/article.php/The-UML-Class-Diagram
[Accessed 10 August, 2012]

Diversified Topics, 2011. Mixed Methods Research. [Online]


Available from: http://diversifiedtopics.com/tag/mixed-methods-research-definition/
[Accessed 6 April, 2012

Ecaribay, n.d. Compare Web Hosting. [Online]


Available from: http://www.ecaribay.com/compare-web-hosting.html
[Accessed 28 March, 2012]

eogogicsinc, n.d. Functional Requirements of Software Systems. [Online]


Available from: http://www.eogogics.com/talkgogics/tutorials/functional-requirements
[Accessed 12 April, 2012]
KENO LEE
Page 159

MAJOR PROJECT

BSC BUSINESS COMPUTING

ETL Tools, n.d. Data Migration. [Online]


Available from: http://www.etltools.org/data-migration.html
[Accessed 26 March, 2012]

Evaluation Briefs, 2008. Questionnaires. [Online]


Available from: http://www.cdc.gov/healthyyouth/evaluation/pdf/brief17.pdf
[Accessed 7 April, 2012]

existBI, n.d. Feasibility Study & Business Case. [Online]


Available from: http://www.existbi.com/feasibility-studies-&-business-case.html
[Accessed 12 April, 2012]

Go Expert, 2007. OOP and UML. [Online]


Available from: http://www.go4expert.com/forums/showthread.php?t=3007
[Accessed 10 August, 2012]

High Scalability, 2008. Ebay Architecture. [Online]


Available from: http://highscalability.com/blog/2008/5/27/ebay-architecture.html
[Accessed 2 April, 2012]

High Scalability, 2012. Stubhub Architecture. [Online]


Available from: http://highscalability.com/blog/2012/6/25/stubhub-architecture-thesurprising-complexity-behind-the-wo.html
[Accessed 3 April, 2012]

Howstuffworks, n.d. How Amazon Works. [Online]


Available from: http://money.howstuffworks.com/amazon.htm
[Accessed 2 April, 2012]

Infolic, n.d. Business Case Definition. [Online]


Available from: http://infolific.com/technology/definitions/definitions/business-case/
[Accessed 12 April, 2012]

James, M. and James, O. (1998). Object Oriented Method: A Foundation. Prentice Hall.
KENO LEE
Page 160

MAJOR PROJECT

BSC BUSINESS COMPUTING

Kabay, M. (1997). Software Quality Assurance. JPC.

Kabay, N.E., 1997. Module Testing. [Online]


Available from:http://www.mekabay.com/courses/academic/QA/module-testing.pdf
[Accessed 27 September, 2012]

Kuhn & Associates LLC, n.d. Methodology. [Online]


Available from: www.kuhnllc.com/project-methodology
[Accessed 8 April, 2012]

Marketing Terms, n.d.. Web Hosting. [Online]


Available from: http://www.marketingterms.com/dictionary/web_hosting/
[Accessed 28 March, 2012]

Maximus DesignStudio LTD, n.d.. Web Hosting. [Online]


Available from: http://www.maximusdesignstudios.com/trinidad/web-hosting/
[Accessed 28 March, 2012]

Microsoft TechNet, n.d. Data Backup and Recovery. [Online]


Available from: http://technet.microsoft.com/en-us/library/bb727010.aspx
[Accessed 6 October, 2012]

MSDN, n.d. Unit Testing. [Online]


Available from: http://msdn.microsoft.com/en-us/library/aa292197 (v=vs.71).aspx
[Accessed 3 October, 2012]

NetVantage Trinidad and Tobago, n.d. Web Hosting. [Online]


Available from: http://www.trinidadwebhost.com/web-hosting.html
[Accessed 28 March, 2012]

Nsf.gov, n.d. Common Qualitative Methods. [Online]


Available from: http://www.nsf.gov/pubs/1997/nsf97153/chap_3.htm
[Accessed 7 April, 2012]
KENO LEE
Page 161

MAJOR PROJECT

BSC BUSINESS COMPUTING

Peter Lo, 2006. Computer-Aided Software Engineering. [Online]


Available from: www.peter-lo.com/Teaching
[Accessed 12 October, 2012]

Profwork.org, 2001. Implementation Defined. [Online]


Available from: http://profwork.org/pp/implement/define.html
[Accessed 5 October, 2012]

Rdinfo.org.uk, n.d. One Method Research. [Online]


Available from: http://researchflowchart.pbworks.com/ Design Studyand0Methods
[Accessed 6 April, 2012]

Research Methods Knowledge Base, 2006. Deduction and Induction. [Online]


Available from: http://www.socialresearchmethods.net/kb/survtype.php
[Accessed 5 April, 2012]

SAGE researchmethods, 2006. Questionaire. [Online]


Available from: http://srmo.sagepub.com/view/the-sage-dictionary-of-social-researchmethods/n168.xml
[Accessed 7 April, 2012]

SearchCRM, 2007. Implementation. [Online]


Available from: http://searchcrm.techtarget.com/definition/implementation
[Accessed 5 October, 2012]

SearchSoftwareQuality n.d. Methodology. [Online]


Available from: www.kuhnllc.com/project-methodology
[Accessed 3 October, 2012]

Software Testing, 2005. Software Testing. [Online]


Available from: http://testingsoftware.blogspot.com/2005/11/what-is-test-plan_30.html
[Accessed 1 October, 2012]
KENO LEE
Page 162

MAJOR PROJECT

BSC BUSINESS COMPUTING

Software Testing, 2005. White Box Testing. [Online]


Available from: http://testingsoftware.blogspot.com/2005/10/white-box-testing.html
[Accessed 1 October, 2012]

Software Testing Fundamentals, n.d. Black Box Testing. [Online]


Available from: http://softwaretestingfundamentals.com/black-box-testing/
[Accessed 1 October, 2012]

Software Testing Fundamentals, n.d. System and Acceptance Testing. [Online]


Available from: softwaretesting fundamentals.com/acceptance-testing
[Accessed 3 October, 2012]

Software Testing Help, 2007. What are the Quality Attributes? [Online]
Available from: http://www.softwaretestinghelp.com/what-are-the-quality-attributes/
[Accessed 25 March, 2012]

Sommerville,I. (2011). Quality Management: In Sommerville, I. et al (ed) Software


Engineering. 9th ed. Boston: Pearson Education Inc., pp655

Strategic Enterprise Solutions, n.d. Case Studies. [Online]


Available from: http://www.sesidw.com/case-studies.html
[Accessed 01 June, 2012]

Tech Target, 2008. Definition of Project Management. [Online]


Available from: http://searchcio-midmarket.techtarget.com/ project-management
[Accessed 24 March, 2012]

Techterms.com, n.d. OOP. [Online]


Available from: http://www.techterms.com/definition/oop
[Accessed 8 April, 2012]

The Qualitative Report, 1990. Qualitative Research. [Online]


Available from: http://www.nova.edu/ssss/QR/QR1-1/index.html
[Accessed 1 June, 2012]

Training and Development. Naukrihub.com, n.d. Training Methods. [Online]


KENO LEE
Page 163

MAJOR PROJECT

BSC BUSINESS COMPUTING

Available from: http://traininganddevelopment.naukrihub.com/methods-of-training/


[Accessed 26 March, 2012]

Tutorial Point, n.d. Web-Hosting Concepts. [Online]


Available from: http://www.tutorialspoint.com/web_developers_guide/web_hosting
[Accessed 28 March, 2012]

UML-Digrams.org, n.d. Use Case Diagrams. [Online]


Available from: http://www.uml-diagrams.org/use-case-diagrams.html
[Accessed 7 August, 2012]

Use Design, n.d. User Interface Design. [Online]


Available from: http://www.use-design.com/eng/design/user_interface_design.php
[Accessed 3 September, 2012]

VP Gallery, n.d. Sequence Diagrams. [Online]


Available from: http://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html
[Accessed 8 August, 2012]

Whatisriskmanagement.net, n.d. Business Risk Management. [Online]


Available from: http://www.whatisriskmanagement.net/
[Accessed 24 March, 2012]

Wordpress.com, 2008. Deployment Strategies. [Online]


Available from: http://wordpress.org/support/topic/best-practices-site-developmentmethodology-and-migration-strategy
[Accessed 25 March, 2012]

Writing @ CSU, n.d. Survey Research. [Online]


Available from: http://writing.colostate.edu/guides/research/casestudy/pop2a.cfm
[Accessed 05 April, 2012]

KENO LEE
Page 164

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 165

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 166

MAJOR PROJECT

BSC BUSINESS COMPUTING

PERSONAL DEVELOPMENT PLAN


The research and development work done to produce the Sales Database Management System was
very educative and intuitive. Theoretical knowledge and practical skills were gained in relation to
managing a project relative to the development of a Sales Database Management System. Research
done throughout this project proved to be a valuable asset in going forward. It ensured that a clear
understanding of terms, some previously heard of and others that were new to me. Most of the
KENO LEE
Page 167

MAJOR PROJECT

BSC BUSINESS COMPUTING

documented and undocumented research done in this project came from internet sources, however it
must be noted that the books Software Engineering by Ian Sommerville and Becoming Critical:
Education Knowledge and Action Research were also very informative sources of research for this
project. The research done was tedious and entailed lots of reading since for any one topic extracts
from various sites were read, analysed and documentation relative to what was required put together.
The research and documentation done provided the platform upon which development was done.
Different development tools were researched and a decision made to use the Oracle Developer Suite.
Generally, the development of the Sales Database Management System using the Oracle 10g
Developer Suite was not difficult since it was easy to apply knowledge gained and skills developed in
the Database Application Development module done in Semester A to achieve the systems design
and top-level functionality as associated with the acronym CRUD. The experience of developing the
system using PL/SQL was a very intuitive one. Challenges were experienced were experienced along
the way relative to the generation of code to facilitate functionalities such as calculations for Sale
Cost, Supply Cost, Total Sales and Total Supplies. The accomplishment of these required
knowledge of PL/SQL that was not previously known. Guidance given and research done on how to
achieve such functionalities provided the necessary impetus needed to achieve such functionality.
New lessons were learnt relative to what can be achieved using PL/SQL. It was required that the
system be able to trigger an alert when a re-order level is met. This also had its share of challenges,
so much so that to date what was achieved is not the ideal. It must noted that while the alert is
triggered, it does not function as intended since two alerts are triggered for any one DVD that has met
the re-order level instead of one. While this is so, the knowledge base gained on how to achieve such
functionality is adequate to be used in the future to explore different avenues for achieving alert
triggers.
Knowledge gained in the Post Implementation Issues module done in Semester A was applied in the
implementation of the Sales Database Management System. This knowledge proved to be a very
valuable source of information for this stage. Deployment strategies were researched as a means of
refreshing ones memory relative to deploying the system and the most appropriate method chosen.
Data migration options appropriate for the migration of paper-based records were looked on and the
most appropriate chosen. Additional research done complimented that what was previously learnt
relative to migration data and provided valuable knowledge that can be utilized for migrating data
stored in different formats. The training plan and user guide done in this project was based on
conceptual knowledge gain from the PII module previously done. Additional research done
complimented this knowledge and allowed for the concepts learnt in PII to be applied to this projects
KENO LEE
Page 168

MAJOR PROJECT

BSC BUSINESS COMPUTING

requirements. Overall it can be comprehensively said that knowledge gained in modules previously
done throughout this course of study was very helpful to this projects completion. Lessons
previously learnt were applied throughout the research and development work done in this project.
The knowledge gained and lessons learnt throughout this project were extremely valuable to the
development of my career. It allowed for concepts of project planning and research and investigative
methods to be applied to tasks being done at the work place. This have noticeably improved the
quality and timeliness of work produced without much emphasis being placed on these. This goes to
say that it has come naturally with the knowledge and skills gained and has now become a way of
life. Research has now become a critical part of anything that I do since it was learnt that proper
research is critical to ensuring that the best possible work is produced. The appreciation for research
developed ensures that all aspects of any topic or task being considered at the work place are looked
on and the most appropriate put forward. This project has also afforded me with the foundation
knowledge upon which any project can be undertaken, more so as it relates to software systems. This
has done a world of good to my aim of working in an Information Technology environment. The
knowledge and skills learnt throughout this project will prove to be valuable to any Information
Technology environment especially when considering that in todays world very little planning,
research and documentation are put into projects. The appreciation developed of the importance of
project planning, research and documentation to the actual development of a system will go a long
way to ensuring the success of any project undertaken in the future.

KENO LEE
Page 169

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 170

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 171

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 172

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 173

MAJOR PROJECT

BSC BUSINESS COMPUTING

The coding provided in the table below represents that of the developed system. A sample of this
coding was provided in the development chapter.

6.1TablesDescription

Table Name
SALES

Name
----------------------SALEID
SALEDATE
CUSTOMERID

DESC * <Tablename>
Null?
Type
---------------- --------------------NOT NULL
VARCHAR2(7)
DATE
VARCHAR2(7)

SALESTOCK

Name
------------------------SALEID
DVDNAME
SALEQUANTITY
SALECOST

Null?
--------------NOT NULL
NOT NULL

Type
-----------VARCHAR2(7)
VARCHAR2(50)
NUMBER
NUMBER

STOCK

Name
-----------------------------DVDNAME
GENRE
QUANTITYINSTOCK
UNITPRICE

Null?
Type
---------------- ---------------------NOT NULL VARCHAR2(50)
VARCHAR2(15)
NUMBER(7)
NUMBER(4,2)

Name
----------------------------SUPPLYID
SUPPLYDATE
SUPPLYUNITPRICE
SUPPLIERID

Null?
------------NOT NULL

Type
---------------------VARCHAR2(7)
DATE
NUMBER(4,2)
VARCHAR2(7)

STOCKSUPPLY

Name
----------------------------SUPPLYID
DVDNAME
QUANTITY
SUPPLYCOST

Null?
------------NOT NULL
NOT NULL

Type
---------------------VARCHAR2(7)
VARCHAR2(50)
NUMBER
NUMBER

CUSTOMER

Name
------------------------------

Null?
Type
-------------- ---------------------

SUPPLY

KENO LEE
Page 174

MAJOR PROJECT

BSC BUSINESS COMPUTING

CUSTOMERID
LASTNAME
FIRSTNAME
GENDER
ADDRESS
MEMBERSHIPDATE
CUSTOMERTYPE

NOT NULL VARCHAR2(7)


VARCHAR2(15)
VARCHAR2(15)
CHAR(3)
VARCHAR2(50)
DATE
VARCHAR2(15)

6.2CreateTableandInsertStatements
Table
CUSTOMER
TYPE

Create and Insert Statements


CREATE TABLE CUSTOMERTYPE
(CUSTOMERTYPE VARCHAR2 (15) NOT NULL,
CUSTOMERTYPEDESCRIPTION VARCHAR2 (35),
CONSTRAINT PKCUSTOMERTYPE PRIMARY KEY
(CUSTOMERTYPE));
INSERT INTO CUSTOMERTYPE VALUES ('MEMBER', ' A REGISTERED
CUSTOMER');
INSERT INTO CUSTOMERTYPE VALUES ('NON MEMBER', ' A
CUSTOMER WHO HAS NOT REGISTERED');

CUSTOMER

CREATE TABLE CUSTOMER


(CUSTOMERID VARCHAR2 (7) NOT NULL,
LASTNAME VARCHAR2 (15),
FIRSTNAME VARCHAR2 (15),
GENDER CHAR(3) DEFAULT ('M') CHECK (Gender = 'M' or Gender
= 'F'),
ADDRESS VARCHAR2 (50),
MEMBERSHIPDATE DATE,
CUSTOMERTYPE VARCHAR2 (15),
CONSTRAINT PKCUSTOMER PRIMARY KEY (CUSTOMERID),
CONSTRAINT FKCUSTOMERTYPE FOREIGN KEY
(CUSTOMERTYPE)

REFERENCES CUSTOMERTYPE

(CUSTOMERTYPE) ON DELETE CASCADE);


INSERT INTO CUSTOMER VALUES ('CUS1001','BONES', 'PAULA',
('F'),'APPLE AVENUE VALENCIA', TO_DATE('15-JUL-2011', 'DD-MONYYYY'), 'MEMBER');
INSERT INTO CUSTOMER VALUES ('CUS1002','FIELDS', 'CLINT', ('M'),
KENO LEE
Page 175

MAJOR PROJECT

BSC BUSINESS COMPUTING

'PINE DRINE VALENCIA', TO_DATE('10-APR-2009', 'DD-MON-YYYY'),


'MEMBER');
INSERT INTO CUSTOMER VALUES ('CUS1003','SMALL', 'ROGER', ('M'),
'JOHNSON STREET VALENCIA', TO_DATE('10-JAN-2009', 'DD-MONYYYY'), 'MEMBER');
INSERT INTO CUSTOMER VALUES ('CUS1004','FORDE', 'ALISHA', ('F'),
'MAHOGHANY DRIVE VALENCIA', TO_DATE('15-JAN-2009', 'DD-MONYYYY'), 'MEMBER');
INSERT INTO CUSTOMER VALUES ('CUS1005','JACOB', 'DWIGHT', ('M'),
'BERTRAM TRACE VALENCIA', TO_DATE('08-FEB-2009', 'DD-MONYYYY'), 'MEMBER');

SALE

INSERT INTO CUSTOMER VALUES ('CUS1006','BAIN', 'MICHELLE', ('F'),


'CIDER AVENUE VALENCIA', TO_DATE('10-JAN-2009', 'DD-MON-YYYY'),
'MEMBER');
CREATE TABLE SALE
(SALEID VARCHAR2 (7) NOT NULL,
SALEDATE DATE,
SALEUNITPRICE NUMBER (4,2),
CUSTOMERID VARCHAR2 (7),
CONSTRAINT PKSALE PRIMARY KEY (SALEID),
CONSTRAINT FKCUSTOMERID FOREIGN KEY (CUSTOMERID)
REFERENCES CUSTOMER(CUSTOMERID) ON DELETE CASCADE);
INSERT INTO SALE VALUES ('SAL1001', TO_DATE('01-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1001');
INSERT INTO SALE VALUES ('SAL1002', TO_DATE('01-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1002');
INSERT INTO SALE VALUES ('SAL1003', TO_DATE('01-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1003');
INSERT INTO SALE VALUES ('SAL1004', TO_DATE('01-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1004');
INSERT INTO SALE VALUES ('SAL1005', TO_DATE('01-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1005');
INSERT INTO SALE VALUES ('SAL1006', TO_DATE('01-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1006');
INSERT INTO SALE VALUES ('SAL1007', TO_DATE('02-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1001');
INSERT INTO SALE VALUES ('SAL1008', TO_DATE('02-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1002');
KENO LEE
Page 176

MAJOR PROJECT

BSC BUSINESS COMPUTING

INSERT INTO SALE VALUES ('SAL1009', TO_DATE('02-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1003');


INSERT INTO SALE VALUES ('SAL1010', TO_DATE('02-AUG-2012', 'DDMON-YYYY'), 7, 'CUS1004');
SUPPLIER TYPE

CREATE TABLE SUPPLIERTYPE


(SUPPLIERTYPE VARCHAR2 (15) NOT NULL,
SUPPLIERTYPEDESCRIPTION VARCHAR2 (50),
CONSTRAINT PKSUPPLIERTYPE PRIMARY KEY
(SUPPLIERTYPE));
INSERT INTO SUPPLIERTYPE VALUES ('ACTION MOVIES', 'A SUPPLIER
WHO SUPPLIES ACTION MOVIES');
INSERT INTO SUPPLIERTYPE VALUES ('COMEDY MOVIES', 'A SUPPLIER
WHO SUPPLIES COMEDY MOVIES');
INSERT INTO SUPPLIERTYPE VALUES ('HORROR MOVIES', 'A SUPPLIER
WHO SUPPLIES HORROR MOVIES');
INSERT INTO SUPPLIERTYPE VALUES ('FAMILY MOVIES', 'A SUPPLIER
WHO SUPPLIES FAMILY MOVIES');
INSERT INTO SUPPLIERTYPE VALUES ('DOCUMENTARY', 'A SUPPLIER
WHO SUPPLIES DOCUMENTARIES');
INSERT INTO SUPPLIERTYPE VALUES ('MYSTERY MOVIES', 'A

SUPPLIER

SUPPLIER WHO SUPPLIES MYSTERY MOVIES');


CREATE TABLE SUPPLIER
(SUPPLIERID VARCHAR2(7) NOT NULL,
SUPPLIERNAME VARCHAR2(30),
SUPPLIERADDRESS VARCHAR2(50),
SUPPLIERTELENO VARCHAR2(17),
SUPPLIERTYPE VARCHAR2(15),
CONSTRAINT PKSUPPLIER PRIMARY KEY(SUPPLIERID),
CONSTRAINT FKSUPPLIERTYPE FOREIGN
KEY(SUPPLIERTYPE) REFERENCES SUPPLIERTYPE(SUPPLIERTYPE) ON
DELETE CASCADE);
INSERT INTO SUPPLIER VALUES ('SPR1001', 'ACTION MOV INC',
'FARFAN STREET ARIMA', '(868) 667 1001', 'ACTION MOVIES');
INSERT INTO SUPPLIER VALUES ('SPR1002', 'COMED DVDS', 'PRO
QUEEN STREET ARIMA', '(868) 667 2002', 'COMEDY MOVIES');
KENO LEE
Page 177

MAJOR PROJECT

BSC BUSINESS COMPUTING

INSERT INTO SUPPLIER VALUES ('SPR1003', 'SCARY MOVIES INC',


'DAMARIE HILL SANGRE GRANDE', '(868) 668 4004', 'HORROR MOVIES');
INSERT INTO SUPPLIER VALUES ('SPR1004', 'FAM DVDS', 'OJOE ROAD
SANGRE GRANDE', '(868) 668 3003', 'FAMILY MOVIES');
INSERT INTO SUPPLIER VALUES ('SPR1005', 'BEST DOCUMENTARY
INC', 'COCORITE ROAD ARIMA', '(868) 667 6006', 'DOCUMENTARY');
INSERT INTO SUPPLIER VALUES ('SPR1006', 'MYSTERY DVDS INC',
SUPPLY

'COCORITE ROAD ARIMA', '(868) 667 6006', 'MYSTERY MOVIES');


CREATE TABLE SUPPLY
(SUPPLYID VARCHAR2(7) NOT NULL,
SUPPLYDATE DATE,
SUPPLYUNITPRICE NUMBER (4,2),
SUPPLIERID VARCHAR2 (7),
CONSTRAINT PKSUPPLY PRIMARY KEY (SUPPLYID),
CONSTRAINT FKSUPPLYID FOREIGN KEY (SUPPLYID)
REFERENCES SUPPLY(SUPPLYID) ON DELETE CASCADE);
INSERT INTO SUPPLY VALUES ('SUP1001', '03 JAN-2012', 5.00, 'SPR1001');
INSERT INTO SUPPLY VALUES ('SUP1002', '05 JAN-2012', 5.00, 'SPR1002');
INSERT INTO SUPPLY VALUES ('SUP1003', '13 JAN-2012', 5.00, 'SPR1003');
INSERT INTO SUPPLY VALUES ('SUP1004', '15 JAN-2012', 5.00, 'SPR1004');
INSERT INTO SUPPLY VALUES ('SUP1005', '19 JAN-2012', 5.00, 'SPR1005');
INSERT INTO SUPPLY VALUES ('SUP1006', '22 JAN-2012', 5.00, 'SPR1006');
INSERT INTO SUPPLY VALUES ('SUP1007', '23 JAN-2012', 5.00, 'SPR1001');
INSERT INTO SUPPLY VALUES ('SUP1008', '29 JAN-2012', 5.00, 'SPR1002');
INSERT INTO SUPPLY VALUES ('SUP1009', '05 FEB-2012', 5.00, 'SPR1003');

STOCK

INSERT INTO SUPPLY VALUES ('SUP1010', '14 FEB-2012', 5.00, 'SPR1004');


CREATE TABLE STOCK
(DVDNAME VARCHAR2 (50) NOT NULL,
GENRE VARCHAR2 (15),
QUANTITYINSTOCK NUMBER (7),
UNITPRICE NUMBER (4,2),
CONSTRAINT PKSTOCK PRIMARY KEY (DVDNAME));
INSERT INTO STOCK VALUES ('IRON MAN 2', 'ACTION', 30, 7.00);
INSERT INTO STOCK VALUES ('MONSTER IN-LAW', 'COMEDY', 25, 7.00);
INSERT INTO STOCK VALUES ('WRONG TURN 4', 'HORROR', 30, 7.00);
INSERT INTO STOCK VALUES ('THE LION KING', 'FAMILY', 24, 7.00);
KENO LEE
Page 178

MAJOR PROJECT

BSC BUSINESS COMPUTING


INSERT INTO STOCK VALUES ('PUBLIC ENEMIES', 'DOCUMENTARY', 20, 7.00);

INSERT INTO STOCK VALUES ('INCEPTION', 'MYSTERY', 40, 7.00);


INSERT INTO STOCK VALUES ('THE HUNGER GAMES', 'ACTION', 30,
7.00);
INSERT INTO STOCK VALUES ('THE DICTATOR', 'COMEDY', 25, 7.00);
INSERT INTO STOCK VALUES ('PIRAHNA 3D', 'HORROR', 30, 7.00);
SALESTOCK

INSERT INTO STOCK VALUES ('THE LORAX', 'FAMILY', 24, 7.00);


CREATE TABLE SALESTOCK
(SALEID VARCHAR2 (7) NOT NULL,
DVDNAME VARCHAR2 (50) NOT NULL,
SALEQUANTITY NUMBER,
SALECOST NUMBER,
CONSTRAINT PKSALESTOCK PRIMARY KEY (SALEID,
DVDNAME),
CONSTRAINT FKSALE FOREIGN KEY (SALEID) REFERENCES
SALE (SALEID) ON DELETE CASCADE,
CONSTRAINT FKSTOCK FOREIGN KEY (DVDNAME)
REFERENCES STOCK (DVDNAME) ON DELETE CASCADE);
INSERT INTO SALESTOCK VALUES ('SAL1001', 'IRON MAN 2', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1002', 'MONSTER IN-LAW', 1, 7);

INSERT INTO SALESTOCK VALUES ('SAL1001', 'WRONG TURN 4', 1, 7);


INSERT INTO SALESTOCK VALUES ('SAL1002', 'THE LION KING', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1003', 'PUBLIC ENEMIES', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1004', 'INCEPTION', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1003', 'THE HUNGER GAMES', 1, 7);

INSERT INTO SALESTOCK VALUES ('SAL1004', 'THE DICTATOR', 1, 7);


INSERT INTO SALESTOCK VALUES ('SAL1005', 'PIRAHNA 3D', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1006', 'THE LORAX', 1, 7);
INSERT INTO SALESTOCK VALUES ('SAL1005', 'MARLEY', 1, 7);
STOCKSUPPLY

INSERT INTO SALESTOCK VALUES ('SAL1006', 'THE RAVEN', 1, 7);


CREATE TABLE STOCKSUPPLY
(SUPPLYID VARCHAR2 (7) NOT NULL,
DVDNAME VARCHAR2 (50) NOT NULL,
QUANTITY NUMBER,
SUPPLYCOST NUMBER,
CONSTRAINT PKSTOCKSUPPLY PRIMARY KEY (SUPPLYID,
DVDNAME),
CONSTRAINT FKSUPPLY FOREIGN KEY (SUPPLYID)
KENO LEE
Page 179

MAJOR PROJECT

BSC BUSINESS COMPUTING

REFERENCES SUPPLY (SUPPLYID) ON DELETE CASCADE,


CONSTRAINT FKSTOCK1 FOREIGN KEY (DVDNAME)
REFERENCES STOCK (DVDNAME) ON DELETE CASCADE);
INSERT INTO STOCKSUPPLY VALUES ('SUP1001', 'IRON MAN 2', 25, 125);
INSERT INTO STOCKSUPPLY VALUES ('SUP1002', 'MONSTER IN-LAW', 30, 150);

INSERT INTO STOCKSUPPLY VALUES ('SUP1001', 'WRONG TURN 4', 35,


175);
INSERT INTO STOCKSUPPLY VALUES ('SUP1002', 'THE LION KING', 20,
100);
INSERT INTO STOCKSUPPLY VALUES ('SUP1003', 'PUBLIC ENEMIES', 20,
100);
INSERT INTO STOCKSUPPLY VALUES ('SUP1004', 'INCEPTION', 35, 175);
INSERT INTO STOCKSUPPLY VALUES ('SUP1003', 'THE HUNGER GAMES', 30,
150);

INSERT INTO STOCKSUPPLY VALUES ('SUP1004', 'THE DICTATOR', 20,


100);
INSERT INTO STOCKSUPPLY VALUES ('SUP1005', 'PIRAHNA 3D', 25, 125);
INSERT INTO STOCKSUPPLY VALUES ('SUP1006', 'THE LORAX', 15, 75);
INSERT INTO STOCKSUPPLY VALUES ('SUP1005', 'MARLEY', 25, 125);
INSERT INTO STOCKSUPPLY VALUES ('SUP1006', 'THE RAVEN', 20, 100);

6.3SystemCode

Item Name
Program Unit

Code
DISABLE_ALL (Used in all forms)
PROCEDURE DISABLE_ALL IS
ITMPREVIOUS ITEM;
ITMNEXT ITEM;
ITMDELETE ITEM;
ITMADD ITEM;
ITMSEARCH ITEM;
ITMREFRESH ITEM;
BEGIN
ITMPREVIOUS := FIND_ITEM('CMDPREVIOUS');
SET_ITEM_PROPERTY(ITMPREVIOUS,ENABLED,PROPERTY_FALSE);
ITMNEXT := FIND_ITEM('CMDNEXT');
SET_ITEM_PROPERTY(ITMNEXT,ENABLED,PROPERTY_FALSE);
ITMDELETE := FIND_ITEM('CMDDELETE');
SET_ITEM_PROPERTY(ITMDELETE,ENABLED,PROPERTY_FALSE);
KENO LEE
Page 180

MAJOR PROJECT

BSC BUSINESS COMPUTING

ITMADD := FIND_ITEM('CMDADD');
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_FALSE);
ITMSEARCH := FIND_ITEM('CMDSEARCH');
SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_FALSE);
ITMREFRESH := FIND_ITEM('CMDREFRESH');
SET_ITEM_PROPERTY(ITMREFRESH,ENABLED,PROPERTY_FALSE);
END;
Program Unit

DISABLE_BUTTONS (Used in all forms)


The code for this procedure is the same as above however in the first line of code,
the Procedure is: PROCEDURE DISABLE_BUTTONS instead of
PROCEDURE DISABLE_ALL

Program Unit

DISABLE_IUDBUTTONS (Used in Sales and Supply form)


PROCEDURE DISABLE_IUDBUTTONS IS
ITMDELETE ITEM;
ITMUPDATE ITEM;
ITMINSERTINTO ITEM;
BEGIN
ITMDELETE := FIND_ITEM('CMDDELETE');
SET_ITEM_PROPERTY(ITMDELETE,ENABLED,PROPERTY_FALSE);
ITMUPDATE := FIND_ITEM('CMDUPDATE');
SET_ITEM_PROPERTY(ITMUPDATE,ENABLED,PROPERTY_FALSE);
ITMINSERTINTO := FIND_ITEM('CMDINSERTINTO');
SET_ITEM_PROPERTY(ITMINSERTINTO,ENABLED,PROPERTY_FALSE);
END;

Program Unit

DISPLAY_BOF_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_BOF_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('BOF_ALERT');
END;
DISPLAY_EOF_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_EOF_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('EOF_ALERT');
END;
DISPLAY_DELETE_ALERT (Used in all forms)
PROCEDURE DISPLAY_DELETE_ALERT IS NUM NUMBER;
BEGIN
NUM := SHOW_ALERT('DELETE_ALERT');
IF NUM = ALERT_BUTTON1 THEN
DELETE FROM SUPPLY
KENO LEE
Page 181

MAJOR PROJECT

BSC BUSINESS COMPUTING

Program Unit

WHERE :SUPPLY.SUPPLYID = SUPPLY.SUPPLYID;


COMMIT;
DISPLAY_DELETE_CONFIRMATION;
END IF;
EXECUTE_QUERY;
END;
DISPLAY_DELETE_CONFIRMATION (Used in all forms)

Program Unit

PROCEDURE DISPLAY_DELETE_CONFIRMATION IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('DELETE_CONFIRMATION');
END;
DISPLAY_FORMAT_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_FORMAT_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('FORMAT_ALERT');
END;
DISPLAY_INSTRUCTION_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_INSTRUCTION_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('INSTRUCTION_ALERT');
END;
DISPLAY_LENGTH_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_LENGTH_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('LENGTH_ALERT');
END;
DISPLAY_PK_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_PK_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('PK_ALERT');
END;
DISPLAY_SAVE_CONFIRMATION (Used in all forms)
PROCEDURE DISPLAY_SAVE_CONFIRMATION IS NUM NUMBER;
BEGIN
NUM := SHOW_ALERT('SAVE_CONFIRMATION');
END;

Program Unit

DISPLAY_SEARCH_ALERT (Used in all forms)

Program Unit

PROCEDURE DISPLAY_SEARCH_ALERT IS NUM NUMBER;


BEGIN
NUM := SHOW_ALERT('SEARCH_ALERT');
END;
DISPLAY_UPDATE_CONFIRMATION (Used in all forms)
PROCEDURE DISPLAY_UPDATE_CONFIRMATION IS NUM NUMBER;
BEGIN
NUM := SHOW_ALERT('UPDATE_CONFIRMATION');

KENO LEE
Page 182

MAJOR PROJECT

Program Unit

BSC BUSINESS COMPUTING

END;
ENABLE_ALL (Used in all forms)
PROCEDURE ENABLE_ALL IS
ITMPREVIOUS ITEM;
ITMNEXT ITEM;
ITMDELETE ITEM;
ITMADD ITEM;
ITMSEARCH ITEM;
ITMREFRESH ITEM;
BEGIN
ITMPREVIOUS := FIND_ITEM('CMDPREVIOUS');
SET_ITEM_PROPERTY(ITMPREVIOUS,ENABLED,PROPERTY_TRUE);
ITMNEXT := FIND_ITEM('CMDNEXT');
SET_ITEM_PROPERTY(ITMNEXT,ENABLED,PROPERTY_TRUE);
ITMDELETE := FIND_ITEM('CMDDELETE');
SET_ITEM_PROPERTY(ITMDELETE,ENABLED,PROPERTY_TRUE);
ITMADD := FIND_ITEM('CMDADD');
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
ITMSEARCH := FIND_ITEM('CMDSEARCH');
SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_TRUE);

Program Unit

ITMREFRESH := FIND_ITEM('CMDREFRESH');
SET_ITEM_PROPERTY(ITMREFRESH,ENABLED,PROPERTY_TRUE);
END;
ENABLE_BUTTONS (Used in all forms)
The code for this procedure is the same as above however in the first line of code,
the Procedure is: PROCEDURE ENABLE_BUTTONS instead of
PROCEDURE ENABLE_ALL

Program Unit

ENABLE_IUDBUTTONS (Used in Sale and Supply form)


PROCEDURE ENABLE_IUDBUTTONS IS
ITMDELETE ITEM;
ITMUPDATE ITEM;
ITMINSERTINTO ITEM;
BEGIN
ITMDELETE := FIND_ITEM('CMDDELETE');
SET_ITEM_PROPERTY(ITMDELETE,ENABLED,PROPERTY_TRUE);
ITMUPDATE := FIND_ITEM('CMDUPDATE');
SET_ITEM_PROPERTY(ITMUPDATE,ENABLED,PROPERTY_TRUE);
ITMINSERTINTO := FIND_ITEM('CMDINSERTINTO');
SET_ITEM_PROPERTY(ITMINSERTINTO,ENABLED,PROPERTY_TRUE);
END;

KENO LEE
Page 183

MAJOR PROJECT

Program Unit

BSC BUSINESS COMPUTING

GET_DATA_CUR (Sale form)


PROCEDURE GET_DATA_CUR IS
CURSOR DATA_CUR IS
SELECT UNITPRICE
FROM STOCK
WHERE STOCK.DVDNAME = :SALESTOCK.DVDNAME;
BEGIN
OPEN DATA_CUR;
FETCH DATA_CUR INTO :SALESTOCK.UNITPRICE;
IF DATA_CUR%NOTFOUND THEN
:SALESTOCK.UNITPRICE :=NULL;
END IF;
CLOSE DATA_CUR;

Program Unit

EXCEPTION
WHEN NO_DATA_FOUND THEN
MESSAGE('Stock Data not found');
WHEN OTHERS THEN
MESSAGE('Other Error in Post-Query on SALES-STOCK');
END;
QTYSTOCK_CUR (Sale form)
PROCEDURE QTYSTOCK_CUR IS
--QTY number(2);
--BAL number(2);
CURSOR QTYSTCK_CUR IS
SELECT QUANTITYINSTOCK
FROM STOCK
WHERE STOCK.DVDNAME = :SALESTOCK.DVDNAME;
BEGIN
OPEN QTYSTCK_CUR;
FETCH QTYSTCK_CUR INTO :SALESTOCK.QTYNSTOCK;
IF QTYSTCK_CUR%NOTFOUND THEN
:SALESTOCK.QTYNSTOCK := NULL;
END IF;
--BAL := QTY - :SALESTOCK.SALEQUANTITY;

Program Unit

--UPDATE STOCK
--SET QUANTITYINSTOCK = BAL
--WHERE STOCK.DVDNAME = :SALESTOCK.DVDNAME;
CLOSE QTYSTCK_CUR;
--COMMIT;
END;
QTYSTOCK_CUR (Supply form)
PROCEDURE QTYSTOCK_CUR IS
--QTY number(2);
--BAL number(2);
KENO LEE
Page 184

MAJOR PROJECT

BSC BUSINESS COMPUTING

CURSOR QTYSTCK_CUR IS
SELECT QUANTITYINSTOCK
FROM STOCK
WHERE STOCK.DVDNAME = :STOCKSUPPLY.DVDNAME;
BEGIN
OPEN QTYSTCK_CUR;
FETCH QTYSTCK_CUR INTO :STOCKSUPPLY.QTYNSTOCK;
IF QTYSTCK_CUR%NOTFOUND THEN
:STOCKSUPPLY.QTYNSTOCK := NULL;
END IF;
--BAL := QTY - :STOCKSUPPLY.QUANTITY;

Trigger

--UPDATE STOCK
--SET QUANTITYINSTOCK = BAL
--WHERE STOCK.DVDNAME = :STOCKSUPPLY.DVDNAME;
CLOSE QTYSTCK_CUR;
--COMMIT;
END;
WHEN-NEW-FORM-INSTANCE (Used in Sale and Supply form)
DECLARE
ITMSAVE ITEM;
ITMINSERTINTO ITEM;
BEGIN
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMINSERTINTO:= FIND_ITEM('CMDINSERTINTO');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);

Trigger

SET_ITEM_PROPERTY(ITMINSERTINTO,ENABLED,PROPERTY_FALSE);
EXECUTE_QUERY;
END;
WHEN-NEW-FORM-INSTANCE (Used in Stock form)
DECLARE
ITMSAVE ITEM;
--ITMDVDNAME ITEM;
BEGIN
-ITMDVDNAME := FIND_ITEM('STOCK1.DVDNAME');
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
EXECUTE_QUERY;
--GO_ITEM(ITMDVDNAME);
EXECUTE_QUERY;

Trigger

-END;
WHEN-NEW-FORM-INSTANCE (Used in Customer Membership form)

DECLARE
ITMSAVE ITEM;
BEGIN
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
EXECUTE_QUERY;
KENO LEE
Page 185

MAJOR PROJECT

Trigger

BSC BUSINESS COMPUTING

END;
WHEN-NEW-RECORD-INSTANCE (Sales form)
BEGIN
SELECT SUM(SALESTOCK.SALECOST) INTO :TOTALSALES
FROM SALESTOCK
WHERE SALESTOCK.SALEID = :SALESTOCK.SALEID;

Trigger

END;
WHEN-NEW-RECORD-INSTANCE (Supply form)
BEGIN

Trigger

SELECT SUM(STOCKSUPPLY.SUPPLYCOST) INTO


:TOTALSUPPLIES
FROM STOCKSUPPLY
WHERE STOCKSUPPLY.SUPPLYID = :STOCKSUPPLY.SUPPLYID;
END;
WHEN-VALIDATE-ITEM (Sale ID - Sale form)

Trigger

DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM SALE
WHERE :SALE.SALEID = SALE.SALEID;
IF LENGTH(:SALE.SALEID) <> 7 THEN
DISPLAY_LENGTH_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF INSTR(SUBSTR(:SALE.SALEID,1),'SAL') = 0 OR
ASCII(SUBSTR(:SALE.SALEID,4,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,4,1)) > 57 OR
ASCII(SUBSTR(:SALE.SALEID,5,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,5,1)) > 57 OR
ASCII(SUBSTR(:SALE.SALEID,6,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,6,1)) > 57 OR
ASCII(SUBSTR(:SALE.SALEID,7,1)) < 48 OR
ASCII(SUBSTR(:SALE.SALEID,7,1)) > 57 THEN
DISPLAY_FORMAT_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF NUM <> 0 THEN
DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
END IF;
END IF;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-VALIDATE-ITEM (DVD Name SaleStock)
DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM SALESTOCK
KENO LEE
Page 186

MAJOR PROJECT

BSC BUSINESS COMPUTING

WHERE :SALESTOCK.SALEID = SALESTOCK.SALEID AND


:SALESTOCK.DVDNAME = SALESTOCK.DVDNAME;

Trigger

IF NUM <> 0 THEN


DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-VALIDATE-ITEM (Supply ID - Supply)

Trigger

DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM SUPPLY
WHERE :SUPPLY.SUPPLYID = SUPPLY.SUPPLYID;
IF LENGTH(:SUPPLY.SUPPLYID) <> 7 THEN
DISPLAY_LENGTH_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF INSTR(SUBSTR(:SUPPLY.SUPPLYID,1),'SUP') = 0
OR ASCII(SUBSTR(:SUPPLY.SUPPLYID,4,1)) < 48 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,4,1)) > 57 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,5,1)) < 48 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,5,1)) > 57 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,6,1)) < 48 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,6,1)) > 57 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,7,1)) < 48 OR
ASCII(SUBSTR(:SUPPLY.SUPPLYID,7,1)) > 57 THEN
DISPLAY_FORMAT_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF NUM <> 0 THEN
DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
END IF;
END IF;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-VALIDATE-ITEM (DVD Name StockSupply)
DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM STOCKSUPPLY
WHERE :STOCKSUPPLY.SUPPLYID = STOCKSUPPLY.SUPPLYID
AND :STOCKSUPPLY.DVDNAME = STOCKSUPPLY.DVDNAME;
IF NUM <> 0 THEN
DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
KENO LEE
Page 187

MAJOR PROJECT

Trigger

BSC BUSINESS COMPUTING

END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-VALIDATE-ITEM (DVD Name - Stock form)
DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM STOCK
WHERE :STOCK.DVDNAME = STOCK.DVDNAME;

Trigger

IF NUM <> 0 THEN


DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-VALIDATE-ITEM (Customer ID - Customer Membership form)

Trigger

DECLARE
ITMSAVE ITEM;
NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO NUM
FROM CUSTOMER
WHERE :CUSTOMER.CUSTOMERID = CUSTOMER.CUSTOMERID;
IF LENGTH(:CUSTOMER.CUSTOMERID) <> 7 THEN
DISPLAY_LENGTH_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF
INSTR(SUBSTR(:CUSTOMER.CUSTOMERID,1),'CUS') = 0 OR
ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,4,1)) < 48 OR
ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,4,1)) > 57
OR ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,5,1)) < 48 OR
ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,5,1)) > 57
OR ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,6,1)) < 48 OR
ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,6,1)) > 57
OR ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,7,1)) < 48 OR
ASCII(SUBSTR(:CUSTOMER.CUSTOMERID,7,1)) > 57
THEN
DISPLAY_FORMAT_ALERT;
RAISE FORM_TRIGGER_FAILURE;
ELSE IF NUM <> 0 THEN
DISPLAY_PK_ALERT;
RAISE FORM_TRIGGER_FAILURE;
END IF;
END IF;
END IF;
ITMSAVE := FIND_ITEM('CMDSAVE');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
END;
WHEN-MOUSE-CLICKED (Used in Customer ID Sale, DVD Name
KENO LEE
Page 188

MAJOR PROJECT

BSC BUSINESS COMPUTING

SaleStock, Supply ID Supply, DVD Name StockSupply, Gender


Customer, Customer Type Customer, DVD Name - Stock)
BEGIN
Trigger

LIST_VALUES;
END;
WHEN-MOUSE-CLICKED (Calculate Total Sales Sale form)
BEGIN
SELECT SUM(SALESTOCK.SALECOST) INTO :TOTALSALES
FROM SALESTOCK
WHERE SALESTOCK.SALEID = :SALESTOCK.SALEID;

Trigger

END;
WHEN-MOUSE-CLICK (Total Supplies Supply form)
BEGIN

Trigger

SELECT SUM(STOCKSUPPLY.SUPPLYCOST) INTO


:TOTALSUPPLIES
FROM STOCKSUPPLY
WHERE STOCKSUPPLY.SUPPLYID = :STOCKSUPPLY.SUPPLYID;
END;
WHEN-MOUSE-LEAVE (Sale Quantity SaleStock)

Trigger

BEGIN
COMMIT;
SELECT SUM(SALESTOCK.SALECOST) INTO :TOTALSALES
FROM SALESTOCK
WHERE SALESTOCK.SALEID = :SALESTOCK.SALEID;
END;
WHEN-MOUSE-LEAVE (Unit Price SaleStock)
DECLARE
QTY number(2);
BAL number(2);
BEGIN
BAL := :SALESTOCK.QTYNSTOCK :SALESTOCK.SALEQUANTITY;
UPDATE STOCK
SET QUANTITYINSTOCK = BAL
WHERE STOCK.DVDNAME = :SALESTOCK.DVDNAME;
COMMIT;

Trigger

END;
WHEN-MOUSE-LEAVE (Quantity StockSupply)

Trigger

BEGIN
COMMIT;
SELECT SUM(STOCKSUPPLY.SUPPLYCOST) INTO
:TOTALSUPPLIES
FROM STOCKSUPPLY
WHERE STOCKSUPPLY.SUPPLYID = :STOCKSUPPLY.SUPPLYID;
END;
WHEN-MOUSE-LEAVE (DVD Name Stock1)
DECLARE
ITMDVDNAME ITEM;
KENO LEE
Page 189

MAJOR PROJECT

BSC BUSINESS COMPUTING

BEGIN
ITMDVDNAME := FIND_ITEM('STOCK.DVDNAME');
GO_ITEM(ITMDVDNAME);
EXECUTE_QUERY;
ITMDVDNAME := FIND_ITEM('STOCK1.DVDNAME');

Trigger

SET_ITEM_PROPERTY(ITMDVDNAME,VISIBLE,PROPERTY_FALSE);
END;
POST-CHANGE (DVD Name SaleStock)
BEGIN
GET_DATA_CUR;
QTYSTOCK_CUR;

Trigger

END;
POST-CHANGE (Sale Quantity SaleStock)
DECLARE
SALES NUMBER(6,2);
BEGIN
SALES := :SALESTOCK.SALEQUANTITY *
:SALESTOCK.UNITPRICE;
:SALECOST := SALES;
END;

Trigger

POST-CHANGE (DVD Name StockSupply)


BEGIN

Trigger

QTYSTOCK_CUR;
END;
POST-CHANGE (Quantity StockSupply)

Trigger

DECLARE
SUPPLY Number(6,2);
BEGIN
SUPPLY := :STOCKSUPPLY.QUANTITY *
:SUPPLY.SUPPLYUNITPRICE;
:SUPPLYCOST := SUPPLY;
END;
POST-CHANGE (Stock1)

Trigger

DECLARE
--ITMDVDNAME ITEM;
BEGIN
QTY_IN_STOCK_CUR;
-ITMDVDNAME := FIND_ITEM('STOCK1.DVDNAME');
-SET_ITEM_PROPERTY(ITMDVDNAME,ENABLED,PROPERTY_FALSE);
END;
WHEN-BUTTON-PRESSED (CMDADD) in Sale Form
DECLARE
ITMADD ITEM;
KENO LEE
Page 190

MAJOR PROJECT

BSC BUSINESS COMPUTING

ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
DISABLE_BUTTONS;
CLEAR_FORM;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:SALE.SALEID := NULL;
:SALE.SALEDATE := NULL;
:SALE.CUSTOMERID := NULL;
CLEAR_FORM(NO_VALIDATE);
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;
Trigger

END;
WHEN-BUTTON-PRESSED (CMDADD) in Supply Form
DECLARE
ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
DISABLE_BUTTONS;
CLEAR_FORM;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:SUPPLY.SUPPLYID := NULL;
:SUPPLY.SUPPLYDATE := NULL;
:SUPPLY.SUPPLYUNITPRICE := NULL;
:SUPPLY.SUPPLIERID := NULL;
CLEAR_FORM(NO_VALIDATE);
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
ENABLE_BUTTONS;
EXECUTE_QUERY;
KENO LEE
Page 191

MAJOR PROJECT

BSC BUSINESS COMPUTING

END IF;
END IF;
Trigger

END;
WHEN-BUTTON-PRESSED (CMDADD) in Stock Form
DECLARE
ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
DISABLE_BUTTONS;
CLEAR_FORM;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:STOCK.DVDNAME := NULL;
:STOCK.GENRE := NULL;
:STOCK.QUANTITYINSTOCK := NULL;
:STOCK.UNITPRICE := NULL;
CLEAR_FORM(NO_VALIDATE);
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;

Trigger

END;
WHEN-BUTTON-PRESSED (CMDADD) in Customer Membership Form
DECLARE
ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
DISABLE_BUTTONS;
CLEAR_FORM;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
KENO LEE
Page 192

MAJOR PROJECT

BSC BUSINESS COMPUTING

:CUSTOMER.CUSTOMERID := NULL;
:CUSTOMER.LASTNAME := NULL;
:CUSTOMER.FIRSTNAME := NULL;
:CUSTOMER.GENDER := NULL;
:CUSTOMER.ADDRESS := NULL;
:CUSTOMER.MEMBERSHIPDATE := NULL;
:CUSTOMER.CUSTOMERTYPE := NULL;
CLEAR_FORM(NO_VALIDATE);
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;
END;
Trigger

WHEN-BUTTON-PRESSED (CMDINSERTINTO) in Sale Form


DECLARE
ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
ITMDVDNAME ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMDVDNAME := FIND_ITEM('SALESTOCK.DVDNAME');
IF
GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
SET_BLOCK_PROPERTY('SALESTOCK',
INSERT_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
DISABLE_BUTTONS;
GO_ITEM(ITMDVDNAME);
WHILE :SALESTOCK.DVDNAME IS NOT NULL
LOOP
NEXT_RECORD;
END LOOP;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_BLOCK_PROPERTY('SALESTOCK',INSERT_ALLOWED,PROPERTY_
FALSE);
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Find' THEN
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:SALE.SALEID := NULL;
:SALE.SALEDATE := NULL;
:SALE.CUSTOMERID := NULL;
END IF;
CLEAR_FORM(NO_VALIDATE);
KENO LEE
Page 193

MAJOR PROJECT

BSC BUSINESS COMPUTING

ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;
Trigger

END;
WHEN-BUTTON-PRESSED (CMDINSERTINTO) in Supply Form
DECLARE
ITMADD ITEM;
ITMUPDATE ITEM;
ITMSAVE ITEM;
ITMSEARCH ITEM;
ITMDVDNAME ITEM;
BEGIN
ITMADD := FIND_ITEM('CMDADD');
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMSAVE := FIND_ITEM('CMDSAVE');
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMDVDNAME := FIND_ITEM('STOCKSUPPLY.DVDNAME');
IF
GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Add' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
SET_BLOCK_PROPERTY('STOCKSUPPLY',
INSERT_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_TRUE);
DISABLE_BUTTONS;
GO_ITEM(ITMDVDNAME);
WHILE :STOCKSUPPLY.DVDNAME IS NOT NULL
LOOP
NEXT_RECORD;
END LOOP;
ELSE IF GET_ITEM_PROPERTY(ITMADD,LABEL) = 'Cancel' THEN
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
SET_BLOCK_PROPERTY('STOCKSUPPLY',INSERT_ALLOWED,PROPERT
Y_FALSE);
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Find' THEN
SET_ITEM_PROPERTY(ITMSAVE,ENABLED,PROPERTY_FALSE);
:SUPPLY.SUPPLYID := NULL;
:SUPPLY.SUPPLYDATE := NULL;
:SUPPLY.SUPPLYUNITPRICE := NULL;
:SUPPLY.SUPPLIERID := NULL;
END IF;
CLEAR_FORM(NO_VALIDATE);
ENABLE_BUTTONS;
EXECUTE_QUERY;
END IF;
END IF;

Trigger

END;
WHEN-BUTTON-PRESSED (CMDSAVE) in Sale & Supply Form
DECLARE
ITMADD ITEM;
KENO LEE
Page 194

MAJOR PROJECT

BSC BUSINESS COMPUTING

ITMINSERTINTO ITEM;
BEGIN
DISPLAY_SAVE_CONFIRMATION;
ITMADD := FIND_ITEM('CMDADD');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ITMINSERTINTO := FIND_ITEM('CMDINSERTINTO');
SET_ITEM_PROPERTY(ITMINSERTINTO,LABEL,'Insert Into');
DISABLE_IUDBUTTONS;
COMMIT;
EXECUTE_QUERY;
Trigger

Trigger

Trigger

END;ip
WHEN-BUTTON-PRESSED (CMDSAVE) in Stock and Customer
Membership
DECLARE
ITMADD ITEM;
BEGIN
DISPLAY_SAVE_CONFIRMATION;
ITMADD := FIND_ITEM('CMDADD');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
COMMIT;
EXECUTE_QUERY;
END;
WHEN-BUTTON-PRESSED (CMDDELETE) in all forms
BEGIN
DISPLAY_DELETE_ALERT;
END;
WHEN-BUTTON-PRESSED (CMDUPDATE) in all forms. The table
name highlighted in green is specific to the form in which the button is
used.
DECLARE
ITMUPDATE ITEM;
ITMADD ITEM;
BEGIN
ITMUPDATE := FIND_ITEM('CMDUPDATE');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMUPDATE,LABEL) = 'Update' THEN
SET_BLOCK_PROPERTY('SALE',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Confirm');
DISABLE_ALL;
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE IF GET_ITEM_PROPERTY(ITMUPDATE,LABEL) = 'Confirm' THEN
COMMIT;
DISPLAY_UPDATE_CONFIRMATION;
SET_BLOCK_PROPERTY('SALE',UPDATE_ALLOWED,PROPERTY_FALS
E);
SET_ITEM_PROPERTY(ITMUPDATE,LABEL,'Update');
KENO LEE
Page 195

MAJOR PROJECT

Trigger

BSC BUSINESS COMPUTING

SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_ALL;
END IF;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDSEARCH) for Sales form
DECLARE
ITMSEARCH ITEM;
ITMADD ITEM;
NUM NUMBER;
NUM1 NUMBER;
BEGIN
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Search' THEN /*
initial search status */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
DISPLAY_INSTRUCTION_ALERT;
DISABLE_BUTTONS;
DISABLE_ALL;
SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
ELSE IF :SALE.SALEID IS NULL AND :SALE.SALEDATE IS NULL
AND :SALE.CUSTOMERID IS NULL THEN /*if fiels are empty */
NUM1 := SHOW_ALERT('SEARCH_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) =
'Find' THEN /*if fields not empty */
SELECT COUNT(*) INTO NUM
FROM SALE
WHERE :SALE.SALEID = SALE.SALEID;
IF NUM = 0 THEN /* if not found */
NUM1 :=
SHOW_ALERT('NO_RECORD_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN /*if ok is
clicked */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');

KENO LEE
Page 196

MAJOR PROJECT

BSC BUSINESS COMPUTING

SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
:SALE.SALEID := NULL;
ELSE /*if cancel is clicked */
:SALE.SALEID := NULL;
:SALE.SALEDATE := NULL;
:SALE.CUSTOMERID := NULL;
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if fields are not empty and record found */

Trigger

SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
END IF;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDSEARCH) for Supply form
DECLARE
ITMSEARCH ITEM;
ITMADD ITEM;
NUM NUMBER;
NUM1 NUMBER;
BEGIN
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Search' THEN /*
initial search status */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
DISPLAY_INSTRUCTION_ALERT;
DISABLE_BUTTONS;
DISABLE_ALL;
SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
KENO LEE
Page 197

MAJOR PROJECT

BSC BUSINESS COMPUTING

ELSE IF :SUPPLY.SUPPLYID IS NULL AND :SUPPLY.SUPPLYDATE


IS NULL AND :SUPPLY.SUPPLYUNITPRICE IS NULL AND
:SUPPLY.SUPPLIERID IS NULL THEN /*if fiels are empty */
NUM1 := SHOW_ALERT('SEARCH_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) =
'Find' THEN /*if fields not empty */
SELECT COUNT(*) INTO NUM
FROM SUPPLY
WHERE :SUPPLY.SUPPLYID = SUPPLY.SUPPLYID;
IF NUM = 0 THEN /* if not found */
NUM1 :=
SHOW_ALERT('NO_RECORD_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN /*if ok is
clicked */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
:SUPPLY.SUPPLYID := NULL;
ELSE /*if cancel is clicked */
:SUPPLY.SUPPLYID := NULL;
:SUPPLY.SUPPLYDATE := NULL;
:SUPPLY.SUPPLYUNITPRICE :=
NULL;
:SUPPLY.SUPPLIERID := NULL;
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if fields are not empty and record found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
KENO LEE
Page 198

MAJOR PROJECT

Trigger

BSC BUSINESS COMPUTING

EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
END IF;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDSEARCH) for Stock form
DECLARE
ITMSEARCH ITEM;
ITMADD ITEM;
NUM NUMBER;
NUM1 NUMBER;
BEGIN
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Search' THEN /*
initial search status */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
DISPLAY_INSTRUCTION_ALERT;
DISABLE_BUTTONS;
DISABLE_ALL;
SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
ELSE IF :STOCK.DVDNAME IS NULL AND :STOCK.GENRE IS
NULL AND :STOCK.QUANTITYINSTOCK IS NULL AND
:STOCK.UNITPRICE IS NULL THEN /*if fiels are empty */
NUM1 := SHOW_ALERT('SEARCH_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) =
'Find' THEN /*if fields not empty */
SELECT COUNT(*) INTO NUM
FROM STOCK
WHERE :STOCK.DVDNAME = STOCK.DVDNAME;
IF NUM = 0 THEN /* if not found */
NUM1 :=
SHOW_ALERT('NO_RECORD_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN /*if ok is
clicked */
KENO LEE
Page 199

MAJOR PROJECT

BSC BUSINESS COMPUTING

SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
:STOCK.DVDNAME := NULL;
ELSE /*if cancel is clicked */
:STOCK.DVDNAME := NULL;
:STOCK.GENRE := NULL;
:STOCK.QUANTITYINSTOCK :=
NULL;
:STOCK.UNITPRICE := NULL;
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if fields are not empty and record found */

Trigger

SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
END IF;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDSEARCH) for Customer Membership
form
DECLARE
ITMSEARCH ITEM;
ITMADD ITEM;
NUM NUMBER;
NUM1 NUMBER;
BEGIN
ITMSEARCH := FIND_ITEM('CMDSEARCH');
ITMADD := FIND_ITEM('CMDADD');
IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) = 'Search' THEN /*
initial search status */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
DISPLAY_INSTRUCTION_ALERT;
DISABLE_BUTTONS;
DISABLE_ALL;

KENO LEE
Page 200

MAJOR PROJECT

BSC BUSINESS COMPUTING

SET_ITEM_PROPERTY(ITMSEARCH,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
ELSE IF :CUSTOMER.CUSTOMERID IS NULL AND
:CUSTOMER.LASTNAME IS NULL AND :CUSTOMER.FIRSTNAME IS
NULL AND :CUSTOMER.GENDER IS NULL AND
:CUSTOMER.ADDRESS IS NULL AND
:CUSTOMER.MEMBERSHIPDATE IS NULL AND
:CUSTOMER.CUSTOMERTYPE IS NULL THEN /*if fiels are empty */
NUM1 := SHOW_ALERT('SEARCH_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ELSE
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE IF GET_ITEM_PROPERTY(ITMSEARCH,LABEL) =
'Find' THEN /*if fields not empty */
SELECT COUNT(*) INTO NUM
FROM CUSTOMER
WHERE :CUSTOMER.CUSTOMERID =
CUSTOMER.CUSTOMERID;
IF NUM = 0 THEN /* if not found */
NUM1 :=
SHOW_ALERT('NO_RECORD_ALERT');
IF NUM1 = ALERT_BUTTON1 THEN /*if ok is
clicked */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Find');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Cancel');
ENTER_QUERY;
:CUSTOMER.CUSTOMERID := NULL;
ELSE /*if cancel is clicked */
:CUSTOMER.CUSTOMERID :=
NULL;
:CUSTOMER.LASTNAME := NULL;
:CUSTOMER.FIRSTNAME := NULL;
:CUSTOMER.GENDER := NULL;
:CUSTOMER.ADDRESS := NULL;
:CUSTOMER.MEMBERSHIPDATE :=
NULL;
:CUSTOMER.CUSTOMERTYPE :=
NULL;
EXECUTE_QUERY;
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
KENO LEE
Page 201

MAJOR PROJECT

BSC BUSINESS COMPUTING

ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
ELSE /* if fields are not empty and record found */
SET_ITEM_PROPERTY(ITMSEARCH,LABEL,'Search');
SET_ITEM_PROPERTY(ITMADD,LABEL,'Add');
EXECUTE_QUERY;
ENABLE_BUTTONS;
ENABLE_ALL;
END IF;
END IF;
END IF;
END;
Trigger

Trigger

WHEN-BUTTON-PRESSED (CMDPREVIOUS) in all forms. The table


name highlighted in green is specific to the form in which the button is
used.

DECLARE
REC_NUMBER NUMBER;
BEGIN
REC_NUMBER :=
GET_BLOCK_PROPERTY('SALE',CURRENT_RECORD);
IF REC_NUMBER = 1 THEN DISPLAY_BOF_ALERT;
ELSE
PREVIOUS_RECORD;
END IF;
END;
WHEN-BUTTON-PRESSED (CMDNEXT) in all forms
BEGIN
IF :SYSTEM.LAST_RECORD = 'TRUE' THEN
DISPLAY_EOF_ALERT;
ELSE
NEXT_RECORD;
END IF;

Trigger

END;
WHEN-BUTTON-PRESSED (CMDMAINMENU) in all forms
BEGIN

Record Groups

EXIT_FORM;
END;
CUSTOMERID_RG (Sale)
SELECT CUSTOMERID FROM CUSTOMER
DVDNAME_RG (SaleStock)
KENO LEE
Page 202

MAJOR PROJECT

BSC BUSINESS COMPUTING

SELECT DVDNAME FROM SALESTOCK


SUPPLIERID_RG (Supply)
SELECT SUPPLIERID FROM SUPPLIER
DVDNAME_RG (StockSupply)
SELECT DVDNAME FROM STOCK
CUSTOMERTYPE_RG (Customer)
SELECT CUSTOMERTYPE FROM CUSTOMERTYPE
GENDER_RG (Customer)
SELECT GENDER FROM CUSTOMER

Alerts

UPDATE_CONFIRMATION (All forms)


SAVE_CONFIRMATION (All forms)
FORMAT_ALERT (Used in Sale, Supply and Customer Membership form)
SEARCH_ALERT (All forms)
NO_RECORD_ALERT (All forms)
INSTRUCTION_ALERT (All forms)
DELETE_CONFIRMATION (All forms)
DELETE_ALERT (All forms)
PK_ALERT (All forms)
LENGTH_ALERT (Used in Sale, Supply and Customer Membership form)
BOF_ALERT (All forms)
EOF_ALERT (All forms)

KENO LEE
Page 203

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 204

MAJOR PROJECT

BSC BUSINESS COMPUTING

KENO LEE
Page 205

You might also like