You are on page 1of 58

Project

Report

for

the

Development of On-line Course work Submission System

Submitted by Student ID Lecturer Course

: Srikanthan Nishanth : S0335KDKD0410 : Dr Anand Walser & Dr Florence Agborna : (UEL) B.Sc. (Hons) Computing - Semester 6

(UEL) Page 1

Table of Contents Project Report for the Development of On-line Course work Submission System .................1 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......................................................................................................................15 Client/server architecture and web based client/server application.....................................15 Web applications..............................................................................................................15 Client/server architecture.................................................................................................16 Handling data and databases...............................................................................................18 Database Management System ........................................................................................18 Relational Database Management System.......................................................................19 MY SQL Database Server................................................................................................19 System modelling and prototyping......................................................................................21 System modeling..............................................................................................................21 Prototyping.......................................................................................................................22 Approaches to Integrating the Web and DBMS...................................................................23 Server-side scripting.........................................................................................................23 Client side scripting..........................................................................................................24 Hypertext pre-processor PHP and Java scripts....................................................................24 Web security.........................................................................................................................26 Secure socket layer (SSL)................................................................................................26 (UEL) Page 2

Secure HTTP....................................................................................................................26 Testing..................................................................................................................................27 Verification and validation testing...................................................................................28 Project Management.................................................................................................................30 Project scope management...................................................................................................30 Work breakdown structure...............................................................................................31 Milestones and Deliverables................................................................................................32 Milestones........................................................................................................................32 Project deliverables..........................................................................................................33 Project time management and schedule development..........................................................34 Schedule development and Gant charts............................................................................34 Risk Management.................................................................................................................38 Quantifying the Risk............................................................................................................39 Risk factor calculation..........................................................................................................40 Expected mandatory value...................................................................................................40 Risk planning........................................................................................................................41 What is cost..........................................................................................................................43 Project cost management..................................................................................................43 Total cost for the project......................................................................................................44 Project benefit: ....................................................................................................................44 Strategic issues.........................................................................................................................45 Conclusion................................................................................................................................46 Reference list............................................................................................................................47 Appendix A..........................................................................................................................50 Appendix B..........................................................................................................................51 Appendix C..........................................................................................................................52 Appendix D..........................................................................................................................53 (UEL) Page 3

Appendix E...........................................................................................................................54 Appendix F...........................................................................................................................55 Appendix G..........................................................................................................................56 Appendix H..........................................................................................................................57 Appendix I............................................................................................................................58

(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: Objective: An online coursework submission system for the School Of Technology 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: End date: Duration: 06th May 2011 10h NOV 2011 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 its 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 (UEL) Page 9 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 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

(UEL) Page 11

To implement the developed system in School of Technology and Management and train the staff. Finalise system documentations and commissioned the system

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 50006000 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.

(UEL) Page 12

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 13

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 14

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.

(UEL) Page 15

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 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 (UEL) Page 16

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 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 17

http://downloadllnw.oracle.com/docs/cd/E12531_01/tuxedo100/overview/wwimages/overview-2-11.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. Its a general purpose software system that (UEL) Page 18

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 1970s and the commercial relational database management systems introduced in the late 1980s 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 (UEL) Page 19

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 20

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 diagrams 2. Use case diagrams (See appendix c) 3. Collaboration diagrams 4. Class diagrams 5. State transition diagrams 6. Component diagrams 7. Deployment diagrams (Boggs et al 1999)

(UEL) Page 21

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 22

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 (UEL) Page 23

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 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

(UEL) Page 24

encrypt data user authentication generate content on-the-fly create images on the fly Manage multiple form applications

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 25

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 26

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.

(UEL) Page 27

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 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 28

TASK

TASK DESCRIPTION

DURATION

DEPENDENCIES

Inception T1 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 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) 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 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. 4 days T6, T7 4 days

7 days T1

T2

T3

4 days T2

T4

3 days

T2, T3

T5

12 days

T3,T4

T6

7 days T5

T7

Transition

6 days T6

T8 Documentation and Commissioning (M6) (UEL) Page 29 Finalise documentation and commissioning of the system

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 30

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

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 31

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 32

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
System engineering Requirement analysis DELIVERABLES High-level architectural specification Requirement specification Functional specification Design Acceptance test specification Software architecture specification Design specification Unit test specification Sub-system test specification Construction Testing System test specification Program code Unit test report Sub-system test report System test report Acceptances test report Installation Maintenance Completed system Installed system Change requests Change request report

(UEL) Page 33

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 34

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 35

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 projects completion date (Schwalbe 2007, pp 236). (See Appendix F)

Activity Network diagram

(UEL) Page 36

Critical Path Of the project

(UEL) Page 37

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 38

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 Communication errors Staff sickness Major risks Time allocation errors Critical risks Bankruptcy of client

Power failure

Unavailability of software Terrorist activities tools which are required to develop the proposed system Change in management and the structure of the organisation Change in the user requirements Cost 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 39

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.028000 RE=160 2. Staff sickness: RE=0.0412000 RE=480 3. Time allocation errors: RE=0.0315000 RE=450
4. Unavailability of software tools which required to develop the proposed system:

RE=0.0216000 RE=320 (UEL) Page 40

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

RE=0.02814000 RE=392
6. Change in the user requirements:

RE=0.01814000 RE=252
7. Cost estimation errors:

RE=0.0317000 RE=510
8. Bankruptcy of client:

RE=0.0120000 RE=200
9. Terrorist activities:

RE=0.0120000 RE=200 10. Power failure: RE=0.0115000 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 41

Risk Communication errors

Strategy Keep back up communications systems

Unavailability of required training facilities Start the training procedure well in advance and expertise to train staff 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 Change in the management and the structure of the organisation Change in the user requirements Cost estimation errors Bankruptcy of client Terrorist activities System breakdown Power failure Always keep alternative software tools for development and train the staff to use them State in the contract the any changes could delay the project and will incur a cost. State in the contract the any changes could delay the project and will incur a cost. Use multiple estimation techniques Divide the project into stages and state in contract that payment at each stage is required, as the project progresses. 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. Always keep alternative system. Keep back up for power system.

(UEL) Page 42

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 managers 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 43

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 304 312 208 248 112 1184 Rate per Hour 13.00 15.00 13.00 18.00 12.00 Amount () 3952.00 4680.00 4464.00 2704.00 1344.00 17144.00

Programmer Total

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 44

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 45

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 46

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 Wizards 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.

(UEL) Page 47

Connolly T. & Beg C. (2010) Database Systems, 5th Edition USA: Addison-Wesley Publishers Ltd

(UEL) Page 48

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 49

Appendix A

Interview report with Mr. Denver Reynolds

(UEL) Page 50

Appendix B

Interview report with Mr. Boreki

(UEL) Page 51

Appendix C

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

L o g in < < in c lu de > >

V e rify L o gin

< < in c lu de > >

S tu de n t

u p lo a d c o u rs e w o rk < < in c lu d e > > C o u rs e w o rk s u bm is s io n s y s te m

retrie ve c o urs e w o rk < < in c lu de > >

In s t ru c tor

s e n d fe e d b a c k a n d g ra d e

(UEL) Page 52

Appendix D

Prototypes of the User interfaces

(UEL) Page 53

Appendix E

Gantt chart for the system

(UEL) Page 54

Appendix F

Activity network diagram for the system

(UEL) Page 55

Appendix G

Critical path for the system

(UEL) Page 56

Appendix H

Task sheet with Risk factor calculations

(UEL) Page 57

Appendix I

Literature search records

(UEL) Page 58

You might also like