sample workshop report
Post on 28-Nov-2014
309 Views
Preview:
TRANSCRIPT
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
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
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
Appendix F...........................................................................................................................52
Appendix G..........................................................................................................................53
Appendix H..........................................................................................................................54
Appendix I............................................................................................................................55
(UEL) Page 4
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
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
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
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
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
Oracle, My SQL
System testing tools
Project management aspects
Project planning
Risk management
Cost management
(UEL) Page 10
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Critical Path Of the project
(UEL) Page 35
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
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
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
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
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
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
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
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
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
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
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
Appendix A
Interview report with Mr. Denver Reynolds
(UEL) Page 47
Appendix B
Interview report with Mr. Boreki
(UEL) Page 48
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
Appendix D
Prototypes of the User interfaces
(UEL) Page 50
Appendix E
Gantt chart for the system
(UEL) Page 51
Appendix F
Activity network diagram for the system
(UEL) Page 52
Appendix G
Critical path for the system
(UEL) Page 53
Appendix H
Task sheet with Risk factor calculations
(UEL) Page 54
Appendix I
Literature search records
(UEL) Page 55
top related