Sample Workshop Report

77
Project Report for the Development of On-line Course work Submission System Submitted by : Srikanthan Nishanth Student ID : S0335KDKD0410 (UEL) Page 1

Transcript of Sample Workshop Report

Page 1: Sample Workshop Report

Project Report for the Development of

On-line Course work Submission System

Submitted by : Srikanthan Nishanth

Student ID : S0335KDKD0410

Lecturer : Dr Anand Walser & Dr Florence Agborna

Course : (UEL) B.Sc. (Hons) Computing - Semester 6

(UEL) Page 1

Page 2: Sample Workshop Report

Table of Contents

Acknowledgement......................................................................................................................5

Introduction................................................................................................................................6

AN OUTLINE OF THE PROPOSED PROJECT.....................................................................7

Objectives of the project............................................................................................................9

Research objectives................................................................................................................9

Practical objectives...............................................................................................................11

Current situation.......................................................................................................................12

Literature review......................................................................................................................14

Client/server architecture and web based client/server application.....................................14

Web applications..............................................................................................................14

Client/server architecture.................................................................................................14

Handling data and databases................................................................................................17

Database Management System........................................................................................17

Relational Database Management System.......................................................................17

MY SQL Database Server................................................................................................18

System modelling and prototyping......................................................................................19

System modeling..............................................................................................................19

Prototyping.......................................................................................................................20

Approaches to Integrating the Web and DBMS..................................................................21

Server-side scripting.........................................................................................................21

Client side scripting..........................................................................................................22

Hypertext pre-processor PHP and Java scripts....................................................................22

Web security.........................................................................................................................24

Secure socket layer (SSL)................................................................................................24

Secure HTTP....................................................................................................................24

(UEL) Page 2

Page 3: Sample Workshop Report

Testing..................................................................................................................................25

Verification and validation testing...................................................................................26

Project Management.................................................................................................................27

Project scope management...................................................................................................27

Work breakdown structure...............................................................................................27

Milestones and Deliverables................................................................................................30

Milestones........................................................................................................................30

Project deliverables..........................................................................................................31

Project time management and schedule development.........................................................32

Schedule development and Gant charts...........................................................................32

Risk Management.................................................................................................................36

Quantifying the Risk............................................................................................................37

Risk factor calculation..........................................................................................................38

Expected mandatory value...................................................................................................38

Risk planning.......................................................................................................................39

What is cost..........................................................................................................................41

Project cost management..................................................................................................41

Total cost for the project......................................................................................................42

Project benefit:.....................................................................................................................42

Strategic issues.........................................................................................................................43

Conclusion................................................................................................................................44

Reference list............................................................................................................................45

Appendix A..........................................................................................................................47

Appendix B..........................................................................................................................48

Appendix C..........................................................................................................................49

Appendix D..........................................................................................................................50

Appendix E...........................................................................................................................51

(UEL) Page 3

Page 4: Sample Workshop Report

Appendix F...........................................................................................................................52

Appendix G..........................................................................................................................53

Appendix H..........................................................................................................................54

Appendix I............................................................................................................................55

(UEL) Page 4

Page 5: Sample Workshop Report

Acknowledgement

First of all the project team would like to extend their gratitude to the individuals who are

behind the completion of this report; the key figure behind the success of this report is the

Project Work Shop lecturer Dr. Uma Mohan, with her immense support guidance and the

feedback which helped in great detail to complete this report. And also the project team is

thankful for her enthusiasm to share her opinions, ideas and experiences which related to this

task.

And also the project team would like to convey their thanks to the teaching assistant Ms.

Svetlana. Who provided guidance all the way through the preparation of this report, specially

report layout organisation and referencing.

Furthermore the project team would like to express their gratitude to the project sponsor Mr.

Denver Reynolds, College IT technician Mr. Boraki and the college Database administrator

Mr Chandanna Rayadurg Without all those helps and support received from those individuals

this project would be far away from reality.

(UEL) Page 5

Page 6: Sample Workshop Report

Introduction

The purpose of this project is to develop and implement a Web Based Course Work

Submission system for the School of Technology and Management. As a well reputed private

education provider the organisation has a large number of students who are studying in the

institution and also it is rapidly expanding the organisation capacities. Therefore the

organisation has appointed the project team in order to develop the proposed course work

submission system.

As a pre-requisite to developing the proposed system the project team would carry out a

literature search in order to gain the necessary knowledge, skills, tools and technologies to

identify the project characteristics and develop the new system. The literature search is based

on two aspects they are the technological aspects and the project management aspect.

During the development of this system the project team first investigate about the current

situation in the organisation in terms of submitting the course work of students the problems

and the difficulties they face. After gathering all those information, the project team identify

and establish the characteristics of the proposed system. Secondly the project team would

develop a project plan which indicates how the team is planning to develop this system.

Furthermore the team will concentrate on the project management aspects which relate to this

project such as cost management and risk management. Finally the project team would

investigate about the strategic issues which relate to the project and the organisation.

(UEL) Page 6

Page 7: Sample Workshop Report

AN OUTLINE OF THE PROPOSED PROJECT

Project: An online coursework submission system for the School Of Technology

Objective: Conduct a research to collect all the necessary information and Designing and

implementing the online coursework submission system for the School of

Technology and Management.

Aim: To design and implement the online coursework submission system within the

scheduled time frame and planned budget.

Start date: 06th May 2011

End date: 10h NOV 2011

Duration: 47 Days

Expected end date: 07th Nov 2011

Project sponsor: Mr. Denver Reynolds

Project staff:

Project Stake holders: School of Technology (UEL)

Director board

Examinations department staff

Lecturers/Teaching assistants

Students

IT technicians

Database administrators

Project staff

(UEL) Page 7

Page 8: Sample Workshop Report

Methods of Communication: Telephone, E-mail, Fax, Meeting

All team members should provide a progress report to the team

leader at the end of each working day.

Project Team should meet to discuss project progress every Friday

at 10.30am, at School of Technology meeting room 2

Project manager and School of Technology Management should

meet to discuss the project status and deliver a Progress Report

every Monday at 10.30am at School of Technology and

Management meeting room 2

Standard required for the project

The system should fulfil the requirements of the ISO 9126 standard

Characteristics of the project

The proposed system is a web based Course work submission system

the project team is planning to develop it as a single product and divide the

system development in to four stages.

Inception

Elaboration

Construction

Transition

(UEL) Page 8

Page 9: Sample Workshop Report

Objectives of the project

Research objectives

To study the feasibility of implementing an online coursework submission system at

School of Technology focusing on scalability issues. As the department is rapidly

expanding the system should support any future expansions such as increasing

number of students and handling increasing number of course works on final

submission day.

To conduct interviews with

Mr. Denver Reynolds- Examinations officer

Mr. Chandranna Rayadurg- Database administrator/Lecturer

Mr. Marcus-IT technician

Lecturers

Students

In order to understand how the current system works and it’s problems and the

existing technologies available in the institution such as Servers, Networks,

Communication technologies and Data storage facilities.

To study about the technologies that required to develop the system

Client/server architecture

Web clients/ web servers

Web based client server applications

Requirement gathering and analysing techniques

Preparing questionnaires

Conducting a surveys

System modelling techniques

Unified modelling techniques

Rational rose

System prototyping tools and techniques

Client-side and Server-side scripting technologies

PHP, ASP.NET, VB.NET

Relational Databases

(UEL) Page 9

Page 10: Sample Workshop Report

Oracle, My SQL

System testing tools

Project management aspects

Project planning

Risk management

Cost management

(UEL) Page 10

Page 11: Sample Workshop Report

Practical objectives

Requirement gathering and analysis.

To collect user requirements through interviews and questionnaires and

analysing them in order to develop the proposed system

To understand requirement specifications and prepare requirement

specification document for School of Technology.

System modelling and prototyping

To create the logical design of the system using Unified Modelling Language

To present the logical design and prototypes to the School of Technology to

ensure the system fulfils the user requirements.

Prepare development environment

To Purchase all hardware and software which is required to develop the

system

Physical designing of the system

To do essential coding and develop the system

Testing and implementation

To test the system and ensure it works according to the requirement

specification,

This includes verification and validation and parallel run

To implement the developed system in School of Technology and

Management and train the staff.

Finalise system documentations and commissioned the system

(UEL) Page 11

Page 12: Sample Workshop Report

Current situation

In order to assess the current situation in the organisation the project team has decided to

interview few staffs who are presently working in examinations department and the IT

department. Therefore the project team has prepared two open questionnaires and hand over

to the college examinations officer and the project sponsor Mr. Denver Reynolds (See

appendix A) and the IT technician Mr. Lucas Boreki (see Appendix B)

At present in terms of submitting the course works the organisation is operating on a manual

paper based system. Where students have to get their assignments printouts and submit them

to the college examinations office before the pre defined final submission day. Then the

examinations department staff separate the submitted assignment based on their relevant

course, subject and passed on to the subject tutors to mark them, after the marking process the

tutors send the copy of the assignment feedback and the marks to the examinations office

which will be published.

According to Mr. Reynolds the examinations department staff dealing with 12000 to 14000

assignments per term with a logging rate of 600 per hour. But sometimes the logging rate can

go down to 200-300 per hour. And on a final submission day they are dealing with 5000-

6000 assignments with 2 staffs. In terms of errors according to his opinion the most common

error is the transcription errors. And also he provided a diagrammatic representation of how

the proposed system should work and who needs direct access to the system.

The purpose of interviewing the IT technician Mr. Boreki was to find out what are the

hardware and software capabilities of the organisation and to determine whether the current

hardware and software capabilities would support the new system. According to Mr Boreki

the organisation currently have a total data storage capacity of 5- 7 TB and running with 16

servers. In terms of transferring messages within the organisation they use Microsoft

Exchange and Merak mail server. And also to develop and maintain existing database they

have used MySQL, PHP, and Visual Basic programming languages. Furthermore currently

the organisation has very high network security procedures in place and they are not

experiencing any security threats.

(UEL) Page 12

Page 13: Sample Workshop Report

Apart from those two interviews the project team has decided to interview few students in the

organisation to find out about the present situation. And uncover the following problems that

they are facing

Taking printouts is costly

Has to wait in long queues to submit the assignments

Transcription errors

Because of this manual handling of course works the organisation is facing few problems

such as;

Excessive use of human recourses

Requirement of large storage areas

Risk of misplace and damage the submitted assignments

Higher stress for the staff

Expenses on materials such as assignment submission forms

(UEL) Page 13

Page 14: Sample Workshop Report

Literature review

The literature search is one of the most important parts in this project. The purpose of this

literature search is to collect information about the technologies; tools, skills, and knowledge

that require for develop and implement the system. Furthermore the project team has divided

the literature search into two sub parts, they are;

1. Technological aspects

Collect information about the technological requirements that need to develop the

software e.g. client/server architecture, web application development, system

modelling and prototyping tools, software development tools and software testing

tools etc.

2. Project management aspects

Collect information about various project management techniques which can help to

develop the software more efficiently. E.g. project planning, risk management, cost

management, project monitoring etc.

Client/server architecture and web based client/server application

Web applications

There is a clear difference between a web site and a web application, which is in the web

applications the user, is capable of affect the state of the business logic on the server. And

also the technologies that used to develop the web applications will allow the contents of the

web application to be dynamic in contrast the contents of the web site is remain to be static

and the users would not be able to affect the state of the business logic in the server.(Conallen

2000 p19) The proposed system is a web based application because the students of the

institution should be able to log in to the system where ever they want using internet and

upload the course works to the systems. One fundamental concept behind the web based

applications is the client/server architecture. As the whole world connected via computer

networks it is better to understand about the back bone of all those networks.

Client/server architecture

A client is a network information requester, usually a PC or workstation that is able to query

a database and/or other information from a server. They are generally single-user based and

(UEL) Page 14

Page 15: Sample Workshop Report

usually provide a highly user-friendly interface to user. A server on the other hand is a

computer, usually a high powered workstation or mainframe that keeps information for

manipulation by clients. A server in a client server environment provides a set of shared user

services to clients. The most common type of server is the database server which usually

controls a relational database.

There are different spectrums of implementation of client/server computing that divide the

work between client and server. The distribution of data and application processing depends

on the nature of the database information, types of application supported, the availability of

interoperable vendor equipment, and usage pattern within the organisation. Some of the

major designs are

Server Based Processing- this is the simplest class of client/server configuration; the client

is mainly responsible for providing a graphical user interface, while all the processing is done

on the server.

Client Based Processing- in this architecture almost all application processing can be done

at the client. However validation of data routines and other database logic functions are best

performed at the server. The more sophisticated database logic functions are generally stored

on the client side. Client based processing allows users to employ applications tailored to

local needs.

Cooperative Processing- in this configuration both server and client machines are taken

advantage of, with most of the application processing being performed in an optimized

fashion, making use of both client and server and data distribution. Although this

configuration is more complex to maintain and setup, it could offer greater user productivity

gains as well as greater network efficiency than the other client/server architectures.

Traditional architectures of client/server involve 2 levels; client and server. The most

common architecture now is 3 tiers. In this architecture three machines share the application

software: a user machine, backend server and middle-tier. The user machine is the client

machine and is called a thin client. The middle-tier machines serve as gateways between the

thin clients and various backend database servers. This middle tier can convert protocols and

map from one type of database query to another. It can also merge/map different results from

different data sources and act as a gateway between desktop applications and backend legacy

applications by mediation between the two. (Stallings 2005 p177, 184, 185) there are lot of

(UEL) Page 15

Page 16: Sample Workshop Report

advantages in the 3-Tier client/server over the 2-Tier architecture such as increased

scalability, flexibility, robustness, possibility integrate data from multiple sources, easiness to

manage and deploy applications and also it is easy to develop. Because of those reasons the

3-tier client/server architecture is highly recommended to use in developing web applications.

The 3 layers which exist in the 3- Tier client/server architecture are as follow

1. Presentation layer: provides user interfaces and interacts with the user, this layer

handles user inputs, out puts and the navigational commands. The programs in this

layer utilise web browsers to present user interfaces that are developed using

languages such as HTML, PHP, .NET etc. (Elmsiri 2004 p828)

2. Application layer: the main function of this layer is to programme the application

logic. Depending on the user inputs this layer form queries or formats the results of

the queries and send them to the presentation layer. Other than that there are some

additional functions which performed by this layer such as security checks, identity

verifications. Application layer interact with one or more databases which can be

connected via, ODBC, JDBC, SQL/CLI. (Elmsiri 2004 p828)

3. Database servers: These layers handle queries and update requests from the

application layer and process the results and send the results to the application layer.

The most common language used in this layer is Structured Query Language (SQL)

(Elmsiri 2004 p828)

3-Tier client/server Architecture

(UEL) Page 16

Page 17: Sample Workshop Report

http://download-llnw.oracle.com/docs/cd/E12531_01/tuxedo100/overview/

wwimages/overview-2-1-1.gif

Handling data and databases

After deciding the architecture the next step is to examine on the technologies which can be

used to handle the huge amount of data which the system needs to store and manage every

day. Therefore the project team decided to extend their literature search on the areas such as

Databases, Database management systems and Relational database management systems the

A database could be single or large collections of data that can be used at the same time by

many users and departments. Rather than having disconnected files that contain redundant

data, all data items are brought together with a minimum of duplication. The database holds a

description of the data as well as an organisations operational data. The database becomes a

shared corporate resource and is not owned by one department. It contains not only the

operational data of the organisation but also the description (Connolly & Begg 2010).

According to (Elmasri and Navathe 2007 pp5), “defining a database involves specifying the

data types, structures and constraints of the data to be stored in the database. The database

definition or description information is also stored in the database in the form of a database

catalogue or dictionary; it is called meta-data.”

Database Management System

Between this physically stored data and the users of the system, is a layer of software known

as the Database Management System (DBMS). The DBMS is a collection of programs that

allow users to create and maintain a database. It’s a general purpose software system that

helps the process of constructing, defining, manipulating and sharing databases among

different users and applications. (Elmasri et al 2007 p5)

Relational Database Management System

Relational databases were introduced to separate physical storage of data from its conceptual

representation and to provide a mathematical foundation for databases. High level query

languages were also introduced by the relational data model which provided an alternative to

programming language interfaces; thereby making it quicker to write new queries. Relational

systems were initially used to work on the same applications as earlier systems but were

meant to be flexible to quickly develop new queries and to change the database as

requirements changed. The first experimental relational systems that were introduced in the

late 1970’s and the commercial relational database management systems introduced in the

(UEL) Page 17

Page 18: Sample Workshop Report

late 1980’s were very slow because they did not use record placement or physical storage

pointers to access related data records. As new storage and indexing techniques developed,

along with better querying processing and optimisations, performance improved Relational

databases eventually became the dominant type of database systems, for traditional database

applications. It is now common to find relational databases on all types of computers ranging

from personal computers to large servers.

MY SQL Database Server

MySQL database management system is a very popular open source relational database

management system. The key to its success are due to the facts that is fast and stable. Welling

and Thompson (2004 pp1) stated that in February 2002, eWeek (www.eweek.com) conducted

a bench mark study of the major database systems including Oracle, Microsoft SQL Server

DB2 and MySql. The best overall performers were noted as MySQL and Oracle 9. This study

was conducted using only the alpha of MySql 4.0 but MySql 4.1 is even faster.

It is not only performance that gives MySQL its edge over other database management

systems; some other factors are; price, ease of use, stability, scalability, flexibility, robust

transaction support, web and data warehouse support, strong data protection, high reliability,

and user friendliness. Of all those factors the easiest to compare might be price, because it is

a free application. Users are bound by the General Public License and are allowed to use the

software, alter the source code and redistribute MySql to other people who will also be bound

by the GPL. If users need to redistribute MySql as part of a commercial product then they

will have to purchase a commercial license however. Welling and Thompson (2004) Because

MySql is free, stable and robust among other things its advantages seem to outweigh those of

other database management systems; hence it will be used as the database for the online

Coursework Submission System. (Welling 2004)

(UEL) Page 18

Page 19: Sample Workshop Report

System modelling and prototyping

System modeling

System modelling and prototyping are two key areas which can be useful for the software developers in many ways. Modelling and prototyping exist not only in software development sector but also in many other sectors such as motoring industry, goods manufacturing industry etc. Because it provides developers to visualise the product that they are going to build before they actually build it. Therefore the project team has conducted a research to find out about the system modelling technology and various modelling tools.

When visually modelling a system it is important to consider what type of graphical notation to use to represent different aspects of the system. In visual modelling it is important that standardise graphical elements are used. This would minimise communication and interpretation errors between all parties involved in the software development such as users, analysts, developers, managers and testers. Many people have developed different notation which can be used in visual modelling in the past. The most popular notations that have strong support are Booch, Object Modelling Technology (OMT) and the Unified Modelling Language (UML)

UML is a standard that has been accepted by the majority of the industry and the standards governing bodies’ like ASNI and Object Management Group (OMG)

Rational Rose is software which was developed by IBM. It supports all three notations and is also a powerful tool for support, for analysis and design of object oriented software systems.

Many different types of visual diagrams can be produced which represent different viewpoints of the system using UML.

Rational rose makes it possible to develop the following models;

1. Activity diagrams2. Use case diagrams (See appendix c)3. Collaboration diagrams4. Class diagrams5. State transition diagrams6. Component diagrams7. Deployment diagrams

(Boggs et al 1999)

(UEL) Page 19

Page 20: Sample Workshop Report

Prototyping

“Users can involve in testing design ideas by using experimental, incomplete, designs known

as prototypes. Developing prototypes is an integral part of iterative user-cantered design,

because it enables designers to try out their ideas with users and to gather feedback.” (Preece

et al 1994 p537) when considering about the software prototypes, developers can build

several prototypes, where each of them provide an insight to the part of the system with

limited functionalities therefore the user can interact with the system and they would be able

to find out what are the problems in the system and how to overcome them and also to add

new features to the system. Developing a prototype could help the designers to understand

user needs and to check whether the system is suitable for the users. There are few methods

of prototyping such as Rapid prototyping, Incremental prototyping, Evolutionary prototyping.

But for the purpose of this project team has decided to use evolutionary prototyping method.

In this method there should be an initial prototype which has to be evaluated and make any

necessary changes as the system progress. (Preece et al 1994 p540) (See Appendix D)

(UEL) Page 20

Page 21: Sample Workshop Report

Approaches to Integrating the Web and DBMS

After designing the database and the user interfaces there should be a way to a user to log in

to the system using the interfaces and navigate to the place where he or she wants and upload

the course work to the college database. Therefore the project team has decided to investigate

about the technologies which would be able to solve this problem. There are so many

approaches that available in the current environment to integrate the web and the Database

management system. Such as

Microsoft web solution platform : .NET, Active Server Pages (ASP), and activeX

Data Objects (ADO)

Oracle internet platform

Scripting languages such as Java script and VB script, PHP

Java, JEE, JDBC, SQLJ, JDO, JPA, and serverlets and Java server pages

(Connolly 2010 p990)

It is possible to generate web pages using HTML, but the disadvantage of the HTML

language is that the developers only be able to develop static web pages that are web pages

only possible to display information to the user. But dynamic web applications, where a user

is capable of interacting with the applications by providing inputs via web forms, verification

of user inputs and also the web applications should have the capability of interact with the

databases. Therefore by using scripting languages it is possible to develop dynamic web

applications. There are two types of scripting languages

1. Server side scripting

2. Client side scripting

Server-side scripting

Server side scripting is a very useful technology which used to develop web applications.

Server side technologies allow create dynamic web pages, add or change contents in the html

files and also provide access to Databases and send query results to the browser. The purpose

of the server side scripts are to programme the behaviour of the server activities where if a

client requests a html file which contains a server side script the server first execute the script

(UEL) Page 21

Page 22: Sample Workshop Report

and send the result to the client. Examples for server side queries are PHP, ASP.NET, and

VB.NET etc.

Client side scripting

One of the key purposes of client side scripting is to carry out validation checks in the clients

data input forms. In order to validate the user inputs the validation scripts should embed on

the html file, when user submit the form the validation scripts get executed and carryout the

validation checks of there is any error it will notify to the user through a error message. By

using this technology it is possible to reduce the data traffic and the number of processes to

the server rapidly therefore it will make the server activities to become faster. Example for a

client side script Java script

Hypertext pre-processor PHP and Java scripts

After considering all the technologies available the project team has decided to investigate

further in to the scripting languages such as PHP and Java scripts.

Hypertext Processor (PHP)

PHP has gained huge popularity and became an Apache foundation project because its source

code is freely distributed.

The Apache software Foundation is a collaborative software development community that

provides software downloads for free (open source software (OSS)) Lash (2003 pp3).

According to Meloni J. (2000) the aim of Php is for Web Developers to use, to write

dynamically generated pages quickly. Php has many different uses; some of the common

ones are;

create a web interface for manipulating elements in a database set cookies and access cookie variables gather information from forms access data bases perform system functions create images on the fly encrypt data user authentication generate content on-the-fly create images on the fly Manage multiple form applications

(UEL) Page 22

Page 23: Sample Workshop Report

Lash (2003) state that PHP has several advantages for enhancing web content including “ease

of use, open source, multiple platform and language support for data bases.”

(UEL) Page 23

Page 24: Sample Workshop Report

Web security

Web security is very important when developing commercial applications on the web and

users must recognise this fact. When using a web application, a user must be certain that their

interactions are confidential. When dealing with web security, both client and server have to

be secured. Two protocols that are supported by the web are Secure Socket Layer and Secure

HTTP.

Secure socket layer (SSL)

Secure Socket layer as the name implies is a secure socket connection. All commercial

browsers and Web servers support SSL. It is the standard that verifies that authentication and

encryption are kept between web browsers and servers. It also verifies that all contents of

messages have not been altered. A security enhanced version of sockets is used by SSL to

provide transaction security at the transport layer, that is , SSL allows secured

communications link without getting the application that involve it involved. SSL has many

tasks to perform including

1. Provide interaction between private client and server using, encryption

2. Provide server authentication

3. Provide reliable client and server exchanges via message integrity checks that detect

tampering.

SSL uses public key authentication and encryption technology and the SSL handshake protocol has to be completed before an application is transmitted or received. (Orfali 1999 p192)

Secure HTTP

S-HTTP is a deviation of HTTP which has high security capabilities. S-HTTP applies

encryption facilities at the application level and security over the usual socket based

communication. It authenticates servers and clients, provide secure communication via

existing corporate fire walls, checks for server certificate removals and supports digital

signature. As same as SSL S-HTTP uses public key cryptography. (Orfali 1999 p192)

The proposed online course work submission system required users to enter user name and

password to login to the system so this should have above mentioned security features

(UEL) Page 24

Page 25: Sample Workshop Report

therefore the project team has decided to consult a specialist internet infrastructure service

provider company such as VeriSign. (www.verisign.co.uk)

Testing

Systems should not be tested as one single unit except for small programs. Large systems are

a combination of small systems which are also a combination of modules which are made of

procedures and functions. Therefore testing should be conducted in phases, proceeding in an

incremental manner in conjunction with system implementations. A five stage testing process

where components are tested is listed below;

1. Unit testing- each component is tested individually to ensure that it operates correctly.

It is tested independently without other system components

2. Module testing- a set of individual components put together to operate as one is called

a module. It could be a collection of dependent components like an abstract data type,

an object class or some looser collection of procedures. A module encapsulates

similar components therefore can be tested without other system modules.

3. Sub-system Testing- this test process involves testing a group of modules which have

been integrated into sub-systems. In large software systems the most predominant

problem is interface mismatches; therefore this test phase concentrates on the

detection of module interface mismatches.

4. System testing – the integration of sub-systems make up the actual system. The

system testing process involves finding errors that are a result of unanticipated errors

that crop up from interactions between sub-systems and sub-systems interface

problems.

5. Acceptance Testing- this is the final stage of testing. Testing is done using the

customers’ data rather than random test data. This test process can expose omissions

and errors in the system requirements definition because the real data puts strain on

(UEL) Page 25

Page 26: Sample Workshop Report

the system differently from the simulated test data. It can also reveal requirements

problems where system performance is unacceptable (Sommerville 2001 pp61).

Verification and validation testing

According to Sommerville (2001, pp 420), “Verification and Validation in the name given to

the checking and analysis process that ensures that software conforms to its specification and

meets the needs of the customers who are paying for that software.” It is a life cycle process

that begins with requirement reviews and goes through design reviews and code inspection to

product testing. There should be a Verification and Validation process at each stage of the

development process. Sommerville (2001) also states;

“Validation: are we building the right product?

Verification: are we building the right product?”

The objective of verification is to ensure that the software conforms to its specification and

meets its functional and non functional requirements. Validation however, is more general

and checks that it meets the expectations of the customer.

(UEL) Page 26

Page 27: Sample Workshop Report

Project Management

A Project is an activity undertaken for a period of time to develop a unique service, product,

or result. A project will terminate when the objective has been accomplished or the mission

aborted. They may be small or large and could vary from having many thousands of people

involved to just one. The time taken to complete a project can vary; it could last for one day

or take years to complete. The characteristics of a project are;

The development is done using progressive elaboration

Resources from different areas are required for completion

it should have a primary sponsor or customer

it has a unique purpose

It involves uncertainty

It is temporary

All projects have limitations which are referred to as triple constraints; they are Scope, Time

and cost. Project management is therefore the application of tools, skills, techniques, and

knowledge to project activities to meet project requirements (Schwalbe 2007 pp 5, 7, 8).

There is few key knowledge areas of project management which the project team has decided

to concentrate on. They are;

1. Project scope management

2. Project time management

3. Project Risk management

4. Project Cost management

Project scope management

It is a process which includes defining and controlling everything that included and not

included in the project. And also project scope management helps to establish confidence

between the project team and its stake holders about the project outcomes and the processes

that the project team use to produce those outcomes.

(UEL) Page 27

Page 28: Sample Workshop Report

Work breakdown structure

“It is a deliverable-oriented grouping of the work involved in a project that defines the total

scope of the project. It is a useful tool for breaking down a lot of work in to manageable

pieces.” (Schwalbe 2004 p 157)

The work breakdown structure for the On-line course work submission system

TASK TASK DESCRIPTION DURATION DEPENDENCIES

T1

T2

Inception

Carry out a feasibility study to assess whether the proposed system ‘Course Work Submissions System’ is economically viable and to establish system services, constraints, boundaries and goals.

Coursework Submission System requirement gathering and Analysis.(MI)

System requirements Functional requirements Non-functional requirements

4 days

7 days

T1

T3

T4

Elaboration.

Logical design of the Coursework Submission System.

Activity diagram Use case diagram Class diagram Sequence diagram Collaboration diagram Design of GUI

Meet the clients and discuss the proposed system and make any necessary adjustments.(M2)

4 days

3 days

T2

T2, T3

T5

T6

Construction

Physical design of the Coursework Submission System.(M3)

Divide the system in to subsections and assign software developers to code according to the outcomes of the use case and class diagrams.

System Testing(M4) unit system testing Sub system testing System testing

12 days

7 days

T3,T4

T5

(UEL) Page 28

Page 29: Sample Workshop Report

T7 Transition

Deliver the new Coursework Submission System to STM (M5)

Installation of security and backup systems

Install the system and allow it to run under supervision

Provide training to the users and make improvements.

6 days

T6

T8 Documentation and Commissioning (M6)

Finalise documentation and commissioning of the system

4 days

T6, T7

As mentioned above the whole project has divided in to four parts and an explanation of the

process that occurs at each of the stages is listed below;

1. Inception – this deals with identifying all the information needed for the project. It is

concerned with determining the scope and purpose of the project.

2. Elaboration –deals with understanding the requirements domain leading to designing

the structure of the system and identifying possible risks.

3. Construction – deals with building the system and testing of the system.

4. Transition –the system is released to the user community and comprehensive training

is given. Also user manuals, installation guides and any other documentation are

released. User feed backs is taken into account.

The following table describes the tasks, dependencies, duration of tasks and milestones in the

work breakdown structure

(UEL) Page 29

Page 30: Sample Workshop Report

Milestones and Deliverables

Milestones

A significant event in a project which usually has no time duration is called a milestone. It is

a culmination of several activities and takes lots of work to complete. A milestone can be

considered as a marker which helps identify necessary activities. They can serve as useful

tools for monitoring progress and for setting schedule goals (Schwalbe 2007 pp 220).

M1: Online course work submission system requirement gathering and analysis

After finishing the feasibility study and establishing system goals, constraints and

boundaries the next step is to collect the system requirement and user requirements and

analyze them, therefore the actual work of the project development is beginning in here and it

is the most critical stage in the project

M2: Meet the clients with the proposed system and get their opinion about the system and

make any necessary changes upon their request

After the requirement analysis the next stage is to design the system, before go in to

the coding stage it is vital to get the approval to the system design from the clients showing

its functionalities.

M3: Construction of the system.

This is the stage where most of the resources are allocated and it is the actual building

of the system.

M4: System testing

After the successful coding of the system it is vital to test the system extensively, the project

teams’ sole intention is to deliver error free software to the client. After completion of this

stage the transition phase could begin

M5: install the developed system.

After coding and testing the first stage in the transition phase is to deliver and install

the system and also installing backup systems and afterwards the user training stage could

(UEL) Page 30

Page 31: Sample Workshop Report

begin after achieving this stage and complete all the requirements the team could move on to

the finalization phase

M6: Documentation and commission the system.

This is the final stage where the developed system, documentation of the system and

the user manual is handing over to the usser community. And it will mark the end of the

project.

Project deliverables

“A project deliverable is a product such as a report or part of software code which produced

as a part of the project”. Using these products it is possible to monitor productivity and the

quality of the performed. In some phases of the project developments there may be more than

one deliverable. (Bennet et al 2006 p 52) the following table display the deliverables in each

stage of the project.

PHASE DELIVERABLES

System engineering High-level architectural specification

Requirement analysis Requirement specification

Functional specification

Acceptance test specification

Design Software architecture specification

Design specification

Unit test specification

Sub-system test specification

System test specification

Construction Program code

Testing Unit test report

Sub-system test report

System test report

Acceptances test report

Completed system

Installation Installed system

Maintenance Change requests

(UEL) Page 31

Page 32: Sample Workshop Report

Change request report

Project time management and schedule development

Project time management involves the processes required to ensure timely completion of a

project. Especially in information technology it is very difficult to achieve a timely

completion that means the probability of being delayed is very high. There are five main

components involved in project time management

1. Activity definition: Identifying the specific activities which the team members and

stake holders of the project should perform.

2. Activity sequencing: identify and document the relationship between project activities

3. Activity duration estimating: estimate the number of work periods need to complete

the activity

4. Schedule development: create a project schedule after analyzing activity sequence,

activity duration estimates and resource requirements to create the project schedule

5. Schedule control: control and manage changes to the project schedule(Schwalbe 2004

p 182)

Schedule development and Gant charts

The main aim of the schedule development is to create a realistic project schedule which

provides a basis for monitoring the project progress for the time dimensions of the project.

There are some tools and techniques available to aid schedule development process Gant

chart is a common tools among them (Schwalbe 2004 p 191)

(UEL) Page 32

Page 33: Sample Workshop Report

Gantt chart

The Gantt chart was developed by Henry Gantt in 1917 and is used to display project

scheduled information. It displays the information in a calendar format by listing project

activities and starts as well as finish date (Schwalbe 2007 pp 30). (See Appendix E)

(UEL) Page 33

Page 34: Sample Workshop Report

Critical Path

The earliest time by which a project can be completed which is determined by a series of

tasks is called its critical path. It is determined as being the longest path through a network

diagram and has the least amount of slack. Slack is the amount of time by which an activity

can be delayed without having any effect on the preceding activity time or the project’s

completion date (Schwalbe 2007, pp 236). (See Appendix F)

Activity Network diagram

(UEL) Page 34

Page 35: Sample Workshop Report

Critical Path Of the project

(UEL) Page 35

Page 36: Sample Workshop Report

Risk Management

Risk management is a process that is inexorably linked to project management; it runs in

parallel with project management and follows a very similar process. Risk management

involves the identification of risks at the projects outset and the control of those risks as the

project progresses. (Schwalbe 2004 p390) Therefore, when developing the Course work

submission system for ‘School Of Technology And Management’, we have to take into

account various risks involved as those risks can lead to the project being delayed or over

spend.

The risk management process consists of 4 main activities

1. Risk identification- identification of the possible risks in the project

2. Risk analysis- analysing the probability of occurrence of the risk in the project and the

impact to the project.

3. Risk planning- planning to avoid the risk or reduce the impact on the project

4. Risk monitoring- evaluate the risks regularly and come up with the plans to re-direct it

The risks involved in the proposed ‘Course Work Submission System’ are as follows:

1. Communication errors

2. Time allocation errors

3. Staff sickness

4. Unavailability of software tools required to develop the system

5. Change in management and the structure of the organisation

6. Cost estimation errors

7. Terrorist activities

8. Bankruptcy of client

9. Change in the user requirements

10. Power failure

(UEL) Page 36

Page 37: Sample Workshop Report

Considering the impact caused by the risk to the project, we can classify them into

the following three broad categories.

Minor risks: will course inconvenience but not shut the project financially or in

time

Major risks: will hold up or increase the cost in one or more areas

Critical risks: will cause the total failure of one more parts of a project

(Maylor 2003 p195)

Project Risks and Their Categories

Minor risks Major risks Critical risks

Communication errors Time allocation errors Bankruptcy of client

Staff sickness Unavailability of software tools which are required to develop the proposed system

Terrorist activities

Power failure Change in management and the structure of the organisationChange in the user requirementsCost estimation errors

Quantifying the Risk

Though the risks are vary in importance, after the project team identified the possible risks in

the project, now the team is in a position to assess the identified risks in order to calculate the

impact of those risks to the project. The importance of a risk is known as the risk value or the

risk exposure. In this context there are several methods to calculate the risk exposure.

Risk factor calculation

Expected Mandatory Value

Decision Tree Analysis

Monte Carlo Analysis

Program Evaluation and review Technique (PERT)

(Schwalbe, 2004, p408-411)

(UEL) Page 37

Page 38: Sample Workshop Report

Risk factor calculation

Risk factor is a number which represent the overall risk of a specific event. There are two

things to consider when calculating the risk factor they are

1. Probability of risk occurring

2. Consequences to the project any occurrence of a risk

This technique makes use of probability/impact matrix that shows the probability of risk

occurring and the impact or the consequences of the risk. (Schwalbe 2004 p403)

Formula to calculate the risk factor

Risk Factor= (Impact of rick + consequences of risk) - (Impact of rick * consequences of risk)

(See Appendix G)

Expected mandatory value

The project team has planned to use the Expected Mandatory Value to quantify the risk. That

is calculated as;

Risk exposure (RE) = Risk likelihood × Risk impact

With the various risks indentified and described, it is necessary to make a risk management of

their impact and likelihood. Where risk likelihood is the probability of risk occurring and risk

impact is the effect the resulting problem will have on the project.

Risk exposures for the identified risks are as follows:

1. Communication Errors:

RE=0.02×£8000

RE=£160

2. Staff sickness:

RE=0.04×£12000

RE=£480

3. Time allocation errors:

RE=0.03×15000

RE=£450

4. Unavailability of software tools which required to develop the proposed system:

RE=0.02×£16000

RE=£320

(UEL) Page 38

Page 39: Sample Workshop Report

5. Change in the management and the structure of the organisation:

RE=0.028×£14000

RE=£392

6. Change in the user requirements:

RE=0.018×£14000

RE=£252

7. Cost estimation errors:

RE=0.03×£17000

RE=£510

8. Bankruptcy of client:

RE=0.01×£20000

RE=£200

9. Terrorist activities:

RE=0.01×£20000 RE=£200

10. Power failure:

RE=0.01×£15000

RE=150

Risk planning

After we identified and analysed the potential risks related to the project, our next step was to

come up with the plan to avoid the risk or minimise the impact on the project. There are three

strategies we can follow:

1. Avoidance strategies- reducing the probability of the risk occurring

2. Minimisation strategies- try to minimise the impact of the risk on the project

3. Contingency plan- early preparation in case the worst happens

“Contingency planning involved identifying the range of alternative options for providing

acceptable recovery strategies in the event of loss” (Field at el 1998, p120)

A failure can be one of the above identified risks which may cause total or partial shutdown

the project. Following table describes the contingency plan that we prepared for the project.

(UEL) Page 39

Page 40: Sample Workshop Report

Risk Strategy

Communication errors Keep back up communications systems

Unavailability of required training facilities and expertise to train staff

Start the training procedure well in advance

Staff sickness We will have at least 2 members per role so one can compensate for the other if absent.

Time allocation errors Use multiple estimation techniques

Unavailability of software tools required to develop the proposed system

Always keep alternative software tools for development and train the staff to use them

Change in the management and the structure of the organisation

State in the contract the any changes could delay the project and will incur a cost.

Change in the user requirements State in the contract the any changes could delay the project and will incur a cost.

Cost estimation errors Use multiple estimation techniques

Bankruptcy of client Divide the project into stages and state in contract that payment at each stage is required, as the project progresses.

Terrorist activities Include a clause in the contract, which states that the client will be liable to pay the cost of the project in case of such an event.

System breakdown Always keep alternative system.

Power failure Keep back up for power system.

(UEL) Page 40

Page 41: Sample Workshop Report

What is cost

“Accountants usually define cost as a resource sacrificed or foregone to achieve a specific

objective.”(Schwalbe 2004 p225) Costs are often measured in monetary amounts that must be

paid to acquire goods and services. It is very important for project managers to understand

project cost management.

Project cost management

Includes the process required to ensure that a project team completes a project within an

approved budget. There are two phrases in this definition.

A project and approved budget.

Project managers must make sure their projects are well defined, have accurate time and cost

estimate, and have a realistic budget that they were involving in approving. The project

manager’s job is to satisfy project stakeholders while continuously striving to reduce and

control the cost.

There are three project cost management process, there are

Resource planning: - involves determining what types of recourses the project team use in

order to perform project activities and qualities of each resource, the main output in this

process is a list of all resource requirements.

Cost estimating: - developing and approximation or estimate of the cost of the resources

needs to complete the project. The main output of the cost estimating process are activity

cost estimate, supporting details, requested changes, and updates to the cost management

plan.

Cost budgeting: - allocating the overall cost estimate to individual work items to establish a

baseline for measuring performance. The main output of the cost budgeting process are cost

baseline, project funding requirements, requested changes, and updates to the cost

management plan.

(UEL) Page 41

Page 42: Sample Workshop Report

Cost control: - Controlling changes to the project budget. The main output of the cost

control process are performance measurements, forecasted completion information, requested

changes, recommended corrective actions, and updates to the project management plan.

(Schwalbe 2004 p225)

Total cost for the project

The total cost for the human resources involved in the online course work submission system

Resource name Total hours worked Rate per Hour Amount (£)

304 13.00 3952.00

312 15.00 4680.00

208 13.00 4464.00

248 18.00 2704.00

Programmer 112 12.00 1344.00

Total 1184 17144.00

Project benefit:

By developing and implementing the online coursework submission system in the School of

Technology and Management there are following cost benefits:

For the organisation

Reduce the amount of paper usage e.g. assignment submission forms

Reduce the amount of storage usage cost

Reduce the number of manpower usage cost

It will reduce the stress levels of the staff

For Student

Eliminate assignment printing costs

Eliminate waiting in the queues to submit the assignments

(UEL) Page 42

Page 43: Sample Workshop Report

Strategic issues

By implementing the proposed system the Organisation can have the following long term

benefits

Profitability Because of the reduction of storage and managing costs of course works the

organisations profit margin will increase.

Scalability the new course work submission system is easily up scalable; because

organization is a rapidly expanding there will be increased number of assignments being

submitted. 3- Tier client server applications are very easily up scalable and also it will be

easy to increase the data storage facilities by simply adding a new Hard disk.

Marketing perspective according to our research we found out that these types of

applications are rarely used by other private education providers. Therefore the organization

can use these as a marketing strategy among their competitors. For example finger print

scanners.

Environment perspective this system will minimize the paper use, so in one hand it is good

for storage space and on the other hand for reducing the use of natural resources. Therefore

the organization and the environment both can be benefit from this system.

If the Organisation continues with the current manual system they will face the following

challenges in the future

Storage and management problems The organization has to face more challenges in the

future to store and manage the assignment.

Less profitability growth Expanding number of students will lead to large amount of

assignment. Therefore the college will need more number of staff and storage spaces.

Therefore profit margin will not go up as the rate of student enrolments.

(UEL) Page 43

Page 44: Sample Workshop Report

1.

Conclusion

After considering about the current manual system which exist in the organisation the project

team further examine about it by interviewing the few staff members in the organisation.

After gathering all necessary information the project team has decided the characteristics of

the proposed system. Which is a web based online course work submission system which is

based on the client server architecture.

Then the project team has engaged in a literature search in order to find out all the necessary

technological and project management to develop the proposed system. Therefore the project

team has found out details about client server architecture, database management systems,

server side and client side programming technologies, system modelling techniques, system

testing method and also project management techniques such as scope management, time

management, cost management and risk management.

After the literature search the project team has carefully analyse all the materials found and

choose the most appropriate technologies for the development of the proposed system. Such

as MYSQL database server, PHP programming, Relational rose for system modelling etc.

Furthermore the project team has analysed and calculate the project time, cost and project

risks by using most reliable and advanced methods that are found through the literature

search.

After considering all the facts the project team strong intention is to deliver the proposed

Online course work submission system within the planned budget and time period.

(UEL) Page 44

Page 45: Sample Workshop Report

Reference list

Stallings W (2005), Business Data Communications 5th Edition, Pearson education

USA.

Conallen J (2000) Building Web Applications with UML Pearson education USA

Elmasri R. and Navathe S. (2007), Fundamentals of Database Systems, Pearson

Education Inc. USA

Navathe E. (2004), Database Systems, 4th edition, USA, Pearson Education Inc.

Welling L. and Thompson L. (2004), MySQL Tutorial

India: Pearson Education

Preece J, et al (1994) Human computer Interaction Addison-Wesley England

Lash D. (2003), The Web Wizard’s Guide to PHP,

USA: Pearson Education

Meloni J. (2000), PHP Essentials,

USA: Prima Publishing

Schwalbe. K, 2004, Information Technology Project Management 3rd Edition

Thompson USA

Field. M and Keller. L, 1998, Project Management, Thompson USA

Maylor H, 2003, Project Management, 3rd edition Prentice Hall USA

Schwalbe K. (2007) Project Management 5th edition,

USA: Thompson Course Technology

Boggs W, Boggs M (1999) Mastering UML with Rational Rose Sybex. USA

Orfali R, Harkey D, Edwards J, (1999), Client/Server Survival Guide, Third edition,

John Wiley & sons, Inc, Canada.

Bennett S, et al (2006), Object Oriented System Analysis and Design 3rd edition

McGraw Hill England.

Sommerville I. (2001), Software Engineer 6th Edition,

USA: Addison-Wesley Publishers Ltd.

Connolly T. & Beg C. (2010) Database Systems, 5th Edition

USA: Addison-Wesley Publishers Ltd

(UEL) Page 45

Page 46: Sample Workshop Report

Appendices

Appendix A: Interview report with Mr. Denver Reynolds

Appendix B: Interview report with Mr. Boreki

Appendix C: Use case diagram for the On-line course work submission system

Appendix D: Prototypes of the System

Appendix E: Gantt chart for the system

Appendix F: Activity network diagram for the system

Appendix G: Critical path for the system

Appendix H: Task sheet with Risk factor calculations.

Appendix I: Literature search records

(UEL) Page 46

Page 47: Sample Workshop Report

Appendix A

Interview report with Mr. Denver Reynolds

(UEL) Page 47

Page 48: Sample Workshop Report

Appendix B

Interview report with Mr. Boreki

(UEL) Page 48

Page 49: Sample Workshop Report

Appendix C

Use case diagram for the On-line course work submission system

Login

Verify Login

upload course work

retrieve course work

Course work submission system

Instructor

send feed back and grade

Student

<<include>>

<<include>>

<<include>>

<<include>>

(UEL) Page 49

Page 50: Sample Workshop Report

Appendix D

Prototypes of the User interfaces

(UEL) Page 50

Page 51: Sample Workshop Report

Appendix E

Gantt chart for the system

(UEL) Page 51

Page 52: Sample Workshop Report

Appendix F

Activity network diagram for the system

(UEL) Page 52

Page 53: Sample Workshop Report

Appendix G

Critical path for the system

(UEL) Page 53

Page 54: Sample Workshop Report

Appendix H

Task sheet with Risk factor calculations

(UEL) Page 54

Page 55: Sample Workshop Report

Appendix I

Literature search records

(UEL) Page 55