148
Final Project University Information Portal (UIP) Federal Urdu University I FINAL PROJECT REPORT BACHELOR OF STUDIES IN COMPUTER SCIENCE (JAN 2005 DEC 2008) Evening Online University Information Portal Developed for: Universities, Institutes (project.alijaffri.com) Developed by: Syed Ali Muhammad Jaffri Saima Zaman Rao Naveed Khan Supervised by: Farhan Shafique Submitted Date: 30-03-2009

FINAL PROJECT REPORT BACHELOR OF STUDIES …project.esolweb.com/all-books/fyp/Online Uni info portal-BS-2008.pdfFinal Project University Information Portal (UIP) Federal Urdu University

Embed Size (px)

Citation preview

Final Project University Information Portal (UIP)

Federal Urdu University I

FINAL PROJECT REPORT

BACHELOR OF STUDIES IN COMPUTER SCIENCE

(JAN 2005 – DEC 2008)

Evening

Online University Information Portal

Developed for:

Universities, Institutes (project.alijaffri.com)

Developed by:

Syed Ali Muhammad Jaffri

Saima Zaman

Rao Naveed Khan

Supervised by:

Farhan Shafique

Submitted Date:

30-03-2009

Final Project University Information Portal (UIP)

Federal Urdu University II

Final Project University Information Portal (UIP)

Federal Urdu University III

Date:

This is certified that the following students

Syed Ali Muhammad Jaffri

Saima Zaman

Rao Naveed Khan

Of Computer Science Department have completed their Final Project

“UNIVERSITY INFORMATION PORTAL (UIP) Project report is

submitted by the students before the committee for its evaluation. The

Project is found according to the University Requirements.

Supervisor Incharge

Sir Farhan Shafique Sir Farhan Shafique

Certificate

Final Project University Information Portal (UIP)

Federal Urdu University IV

This Project is dedicated to

Our Parents & Teachers

Who support & provides resources for our project

and source of inspiration to us in the development of

our career

“Keep your dreams alive. Understand to achieve anything requires faith and belief in

yourself, vision, hard work, determination, and dedication. Remember all things are possible

for those who believe.”

Dedication

Final Project University Information Portal (UIP)

Federal Urdu University V

During the course of the professional degree like bachelor of computer

science, graduates students are supposed to gain extensive practical

knowledge as well as theoretical understanding of the encompassing

subjects. Final year project is supposed to be a major part of the

undergraduate degree. Student’s knowledge and level of understanding the

technologies, taught during course, course be judged by having a look on

their final year project.

In UIP, we (the group members) tried our best to develop user-friendly and

useful website. Development of project.alijaffri.com was carried out in such

a way that, all possible ways of a better-suited software development life

cycle may be implemented and experienced.

UIP is supposed to be a replacing of any university website to a dynamic

and updated website. It has all the features for any education system need

and covered the according to university aspect as well as student aspect.

Preface

Final Project University Information Portal (UIP)

Federal Urdu University VI

We want to thank god for giving us the ability to concentration in spite of all

difficulties.

Grateful acknowledgements are extended to all the people who made this

project possible with their enthusiastic support and encouragement.

Thanks to Sir Farhan Shafique who help us very much to complete this

project he give us lots technical information about the consultation website

and feature which we include in this website.

Finally, an honorable mention goes to our families and friends for their

understandings and supports on us in completing this project.

Acknowledgement

Final Project University Information Portal

Table of Contents

TITLE PAGE……………………………..…….……………………….I

CERTIFICARE….…………………………………...………….……...II

DEDICATION……………………….……………………….……..…III

PREFACE…………………….………..…….……………………..….V

ACKNOWLEDGEMENT………………………………………..…….VI

LIST OF TABLE………………………………………………………….VII

LIST OF FIGURES………………………………………………………VIII

1. Project Overview.……………..……………….………………...1

2. Introduction……………………..……………………….………2

2.1. Goals & Motivation…….…………..……..………….….…….2

2.2. What is Portal………………………………………….…......2

2.3. Characteristic of Portal…………………….……………….......4

2.4. Portal Overview.………………………...………………..…...7

2.5. Methodology……………….…….….……….………..…......7

2.6. University Portal Features………………………………………8

3. Project Scope…………………..…………..…………….………9

4. Project Analysis………………..…………..……………...……10

5. Feasibility Analysis…………..…………..…………..…...……14

5.1. Technical Feasibility…………………….....…………………14

5.2. Economical Feasibility……………...….......…………………15

5.3. COCOMO Analysis…………..…….………………………..20

Final Project University Information Portal

6. Requirement Gathering……………………….…………...…...24

6.1. Software Requirement ……..…….……...………………..…..24

6.1.1. User Requirement………..……………..……….……..24

6.1.2. Functional Requirement……..……..…………….……..24

6.1.3. Non Functional Requirement……...……………………..25

7. Project Management…………………………………………....25

7.1. Problem……………..………………………………….....25

7.2. Process Model …..………………………….………….....26

7.3. Team…………….……………………….…...……….....26

7.4. Management & Reporting…….…………………….….....27

8. Work Breakdown Structure………….………………………....28

9. Project Planning………….………………..…………………....30

9.1. Timeline Chart GANT…….…..………………..…….….30

9.2. Timeline Chart PERT…….…..……...…………..……....32

9.3. CPM…………………………………….……….……….34

10. Risk Management……….………………..………….………....36

10.1. Risk Identification……………………………….……….37

10.2. Risk Analysis……………...…………………….……….39

10.3. RMMM Table………….….…………………….……….43

10.4. RMMM Solution……….….…………………….……….45

10.5. Overview of Risk Monitoring, Mitigation, Management……………....53

10.6. PERT (Accepted Time).….……………………..……….54

10.7. PERT (Accepted Time CHART)…………...……………58

11. Technologies……………………………….……………..……59

12. Relationship Diagram……………………..……………....…....75

Final Project University Information Portal

13. Process Flow Diagram……………………..……………...…....76

14. Data Flow Diagram…………………..………………...………77

15. ERD Diagram….……………………..………………...………78

16. Schema Design.……………………....………………...………79

17. USE CASE Diagram …...…………....………………...………86

18. Implementation……………………………………………......109

18.1. Connecting to Database………...………………..………...109

18.2. Create Session……..……………………………………...109

18.3. Register User…...………………………………..…...…...110

18.4. Login User…...…………………...……………..…...…...111

18.5. Forget Password..………………………………..…...…...112

18.6. Approve User & Send Mail………...……………..…...…...113

18.7. Add in Database………………………..…………………115

18.8. Delete in Database……….………………..………………116

18.9. User Management Listing…….…………....………………117

18.10. Suggest Video Process………….……....…….……………120

19. Testing……………………….….…………………………….121

19.1. Introduction………….……....………………...…………120

20. Website Testing Checklist…….….……….………….……….122

21. Summary…………………………………………..…………..125

Final Project University Information Portal

LIST OF TABLE

TABLE 1.1: PROJECT OVERVIEW.................................................................................1

TABLE 5.1: SPECIFICATION………………………...…………………………….….15

TABLE 5.2: COCOMO FILE ATTRIBUTIES..........................................................…...18

TABLE 5.3: BENEFIT ANALYSIS………….………………………………………....26

TABLE 9.2: ACTIVITY CHART …..…………………………………………………..32

TABLE 10a: RIKS ANALYSIS …………….………………………………….……….42

TABLE 10b: RIKS CATEGORIES & IMACT….............................................................42

TABLE 10.3a: RMMM TABLE………………..……………………………….……….45

TABLE 10.6a: RMMM EXPECTED TIME ....................................................................54

TABLE 10.6b: RMMM STANDARD DEVIATION.......................................................57

TABLE 21.1: TESTING CHECKLIST...........................................................................124

LIST OF FIGURES / DIAGRAMS

DIAGRAM 8.1: PROCESS WBS…................................................................................29

DIAGRAM 9.1: TIMELINE CHART (GANT) ………………………………….…….31

DIAGRAM 9.2a: PERT CHART…..................................................................................28

DIAGRAM 9.2b: CPM…………………………………..................................................35

DIAGRAM 10.7: PERT EXPECTED TIME……………………………………………58

DIAGRAM.11.1: WEB PAGE WORKS….......................................................................59

DIAGRAM 11.2: TABLE OF SCRIPTING LANGUAGES…........................................70

DIAGRAM 12.1: RELATIONSHIP DIAGRAM.............................................................75

DIAGRAM 13.1: PROCES FLOW DIAGRAM..............................................................76

DIAGRAM 14.1: DFD......................................................................................................77

DIAGRAM 15.1: ERD......................................................................................................77

DIAGRAM 17.1: USE CASE...........................................................................................87

DIAGRAM 18: PROJECT GUI........................................................................................88

Final Project University Information Portal (UIP)

Federal Urdu University 75

Phase # 2

Design

12. Relationship Diagram

Diagram 12.1: Relationship Diagram

Final Project University Information Portal (UIP)

Federal Urdu University 76

13. Process Flow Diagram

Diagram 13.1: PFD

Final Project University Information Portal (UIP)

Federal Urdu University 77

14. Data Flow Diagram (DFD)

Portals allow designers to cross boundaries and seek user interactions that reflect more modern

business practices. It is this that our users now demand.

Figure: Data Flow Diagram

Diagram 14.1: DFD

Final Project University Information Portal (UIP)

Federal Urdu University 78

15. Entity Relation Ship Diagram (DFD)

This report focuses on the conceptual design of the database. In this section an enterprise

relationship diagram (ER diagram) helps convey how the entities of the database and their

attributes relate to each other. The ER Diagram was created using Visio software, and is the

framework from which the rest of the process is based on.

Diagram 15.1: ERD

Final Project University Information Portal (UIP)

Federal Urdu University 79

16. Schema Design (Data Dictionary)

blogs_replies

blogs_topics

books

events

fmfiles

fmfolder

news

news_category

lectures

results

testimonials

users

video_comments

videos_gallery

videos_gallery_category

visitors_gallery

Table 16.1: Books Schema

BOOKS

Field Type Collation Null Key Default Extra

BookId int(15) (NULL) NO PRI (NULL) auto_increment

BookName varchar(225) latin1_swedish_ci YES (NULL)

BookHeading varchar(225) latin1_swedish_ci YES (NULL)

BookWritter varchar(225) latin1_swedish_ci YES (NULL)

BookDescription blob (NULL) YES (NULL)

BookLink varchar(225) latin1_swedish_ci YES (NULL)

BookDate date (NULL) YES (NULL)

FileType varchar(50) latin1_swedish_ci NO none

Final Project University Information Portal (UIP)

Federal Urdu University 80

Table 16.2: News Category Schema

Table 16.3: Events Schema

Table 16.4: Events Schema

News Category

Field Type Collation Null Key Default Extra

NewsCatId int(11) (NULL) NO PRI (NULL) auto_increment

NewsCatName varchar(225) latin1_swedish_ci YES (NULL)

EVENTS

Field Type Collation Null Key Default Extra

EventId int(15) (NULL) NO PRI (NULL) auto_increment

EventName varbinary(225) (NULL) YES (NULL)

EventDescription blob (NULL) YES (NULL)

EventDate date (NULL) YES (NULL)

EventSartTime time (NULL) YES (NULL)

EventEndTime time (NULL) YES (NULL)

EventOrganizer varchar(225) latin1_swedish_ci YES (NULL)

Department varchar(225) latin1_swedish_ci YES (NULL)

File Manager (Files)

Field Type Collation Null Key Default Extra

fiId int(11) (NULL) NO PRI (NULL) auto_increment

fiFolderId int(11) (NULL) YES (NULL)

fldrName varchar(255) latin1_swedish_ci YES (NULL)

fiName varchar(225) latin1_swedish_ci NO un title

fileBgName varchar(225) latin1_swedish_ci NO (NULL)

fiDate date (NULL) NO 0000-00-00

fiStatus varchar(5) latin1_swedish_ci NO A

Final Project University Information Portal (UIP)

Federal Urdu University 81

Table 16.5: File Manager Schema

Table 16.6: News Schema

Table 16.7: Lecture Schema

File Manager (Folder)

Field Type Collation Null Ke

y

Default Extra

fmId int(11) (NULL) NO PRI (NULL) auto_increment

fmFolderName varchar(225) latin1_swedish_ci NO un_title

fmDate date (NULL) NO 0000-00-00

fm_fileType varchar(255) latin1_swedish_ci YES (NULL)

fm_fileSize varchar(255) latin1_swedish_ci YES (NULL)

fm_folderImag

e

varchar(255

)

latin1_swedish_c

i

YE

S

fm_folder.p

ng

NEWS

Field Type Collation Null Key Default Extra

NewsID int(11) (NULL) NO PRI (NULL) auto_increment

NewsCatId int(11) (NULL) YES (NULL)

NewsHeading varchar(225) latin1_swedish_ci YES (NULL)

NewsDescription blob (NULL) YES (NULL)

NewsDate date (NULL) YES 0000-00-00

Lectures

Field Type Collation Null Key Default Extra

LecId int(12) (NULL) NO PRI (NULL) auto_increment

Title varchar(255) latin1_swedish_ci YES (NULL)

Sub varchar(255) latin1_swedish_ci YES (NULL)

Teacher varchar(255) latin1_swedish_ci YES (NULL)

sts varchar(50) latin1_swedish_ci YES A

LecDesc blob (NULL) YES (NULL)

DateAdd date (NULL) YES (NULL)

Leclink varchar(255) latin1_swedish_ci YES (NULL)

FileType varchar(255) latin1_swedish_ci YES (NULL)

Final Project University Information Portal (UIP)

Federal Urdu University 82

Table 16.8: Result Schema

Testimonials

Field Type Collation Null Key Default Extra

TestiID int(15) (NULL) NO PRI (NULL) auto_increment

UserId int(25) (NULL) YES (NULL)

Date date (NULL) YES (NULL)

UsrEmail varchar(255) latin1_swedish_ci YES (NULL)

TestiDescription blob (NULL) YES (NULL)

Status char(1) latin1_swedish_ci YES w

Table 16.9: Testimonials Schema

Results

Field Type Collation Null Key Default Extra

ResId int(15) (NULL) NO PRI (NULL) auto_increment

ResHeading varchar(225) latin1_swedish_ci YES (NULL)

ResDescription blob (NULL) YES (NULL)

Reslink varchar(225) latin1_swedish_ci YES (NULL)

ReultDeaprt varchar(255) latin1_swedish_ci YES (NULL)

ResultDate date (NULL) YES (NULL)

ReultShift varchar(255) latin1_swedish_ci YES (NULL)

Final Project University Information Portal (UIP)

Federal Urdu University 83

Table 16.10: USER Schema

USER MANAGEMENT

Field Type Collation Null Key Default Extra

usrId int(25) (NULL) NO PRI (NULL) auto_increment

usrRegNo varchar(225) latin1_swedish_ci YES (NULL)

usrPwd varchar(225) latin1_swedish_ci YES (NULL)

usrEmail varchar(255) latin1_swedish_ci YES (NULL)

usrPosition varchar(50) latin1_swedish_ci YES Student

usrTitle varchar(5) latin1_swedish_ci YES -

usrFName varchar(50) latin1_swedish_ci YES N/A

usrLName varchar(50) latin1_swedish_ci YES N/A

usrAddress1 varchar(225) latin1_swedish_ci YES (NULL)

usrAddress2 varchar(225) latin1_swedish_ci YES (NULL)

Batch varchar(20) latin1_swedish_ci YES (NULL)

semester varchar(20) latin1_swedish_ci YES (NULL)

shift varchar(20) latin1_swedish_ci YES (NULL)

usrCity varchar(25) latin1_swedish_ci YES (NULL)

usrPhone varchar(10) latin1_swedish_ci YES (NULL)

usrMobile varchar(15) latin1_swedish_ci YES (NULL)

usrStatus char(2) latin1_swedish_ci YES A

usrType char(3) latin1_swedish_ci YES S

usrCDate date (NULL) YES 0000-00-00

img varchar(225) latin1_swedish_ci YES (NULL)

usrWarnings int(3) (NULL) NO 0

AboutMe blob (NULL) YES (NULL)

edu varchar(255) latin1_swedish_ci YES (NULL)

country varchar(255) latin1_swedish_ci YES (NULL)

gender varchar(255) latin1_swedish_ci YES (NULL)

pcode varchar(255) latin1_swedish_ci YES (NULL)

Bdate date (NULL) YES (NULL)

lang varchar(255) latin1_swedish_ci YES (NULL)

JobDesc varchar(255) latin1_swedish_ci YES (NULL)

CompName varchar(255) latin1_swedish_ci YES (NULL)

Field varchar(255) latin1_swedish_ci YES (NULL)

software varchar(255) latin1_swedish_ci YES (NULL)

gaming varchar(255) latin1_swedish_ci YES (NULL)

Movies varchar(255) latin1_swedish_ci YES (NULL)

others varchar(255) latin1_swedish_ci YES (NULL)

intUsage varchar(255) latin1_swedish_ci YES (NULL)

perUrl varchar(255) latin1_swedish_ci YES (NULL)

Final Project University Information Portal (UIP)

Federal Urdu University 84

Table 16.11: Video Comments Schema

Video Gallery

Field Type Collation Null Key Default Extra

VideoId int(25) (NULL) NO PRI (NULL) auto_increment

VideoUserId int(15) (NULL) NO (NULL)

VideoCatId varchar(255) latin1_swedish_ci YES (NULL)

VideoTitle varchar(225) latin1_swedish_ci YES UnTitle

VideoDescription blob (NULL) YES (NULL)

Tags varchar(255) latin1_swedish_ci YES (NULL)

Uploadedby varchar(255) latin1_swedish_ci YES (NULL)

views int(11) (NULL) YES 1

VTimeDate varchar(25) latin1_swedish_ci YES (NULL)

VSimpleDate date (NULL) YES (NULL)

VideoURL blob (NULL) YES (NULL)

VideoLink varchar(225) latin1_swedish_ci YES (NULL)

VideoStatus char(2) latin1_swedish_ci YES I

Table 16.12: Video Gallerly Schema

Video Gallery Category

Field Type Collation Null Key Default Extra

VidCatId int(11) (NULL) NO PRI (NULL) auto_increment

VidCatName varchar(225) latin1_swedish_ci YES (NULL)

VidLink varchar(255) latin1_swedish_ci YES (NULL)

Table 16.13: Video Category Schema

Video Comments

Field Type Collation Null Key Default Extra

ComId int(12) (NULL) NO PRI (NULL) auto_increment

VideoId int(12) (NULL) YES (NULL)

VideoUserId int(10) (NULL) YES (NULL)

VideoTitle varchar(255) latin1_swedish_ci YES (NULL)

TStamp varchar(255) latin1_swedish_ci YES (NULL)

Comments blob (NULL) YES (NULL)

UserName varchar(255) latin1_swedish_ci YES (NULL)

Submitted varchar(255) latin1_swedish_ci YES (NULL)

ComStatus varchar(10) latin1_swedish_ci YES A

Final Project University Information Portal (UIP)

Federal Urdu University 85

Table 16.14: Blogs Topics Schema

Table 16.15: Blogs Replies Schema

BLOGS_TOPICS

Field Type Collation Null Key Default Extra

BlogParentId int(25) (NULL) NO PRI (NULL) auto_increment

BlogHeading varchar(225) latin1_swedish_ci YES (NULL)

BlogDescription blob (NULL) YES (NULL)

Timestamp varchar(255) latin1_swedish_ci YES (NULL)

Date date (NULL) YES 0000-00-00

BlogUserId int(11) (NULL) NO (NULL)

Views int(11) (NULL) YES 1

BLOGS_REPLIES

Field Type Collation Null Key Default Extra

BlogId int(25) (NULL) NO PRI (NULL) auto_increment

BlogParentId int(25) (NULL) YES (NULL)

UserId varchar(25) latin1_swedish_ci YES (NULL)

BlogDescription blob (NULL) YES (NULL)

Date date (NULL) YES 0000-00-00

Tstamp varchar(255) latin1_swedish_ci YES (NULL)

Final Project University Information Portal (UIP)

Federal Urdu University 86

17. USE CASE Diagram

UML Use Case Diagrams can be used to describe the functionality of a system in a horizontal

way. That is, rather than merely representing the details of individual features of your system,

Use Case Diagrams can be used to show all of its available functionality. It is important to note,

though, that Use Case Diagrams are fundamentally different from sequence diagrams or flow

charts because they do not make any attempt to represent the order or number of times that the

systems actions and sub-actions should be executed.

Use Case Diagrams have only 4 major elements: The actors that the system you are describing

interacts with, the system itself, the use cases, or services, that the system knows how to perform,

and the lines that represent relationships between these elements.

We should use „USE CASE‟ Diagrams to represent the functionality of our system from a top-

down perspective.

Description

Representing a project bank application, first, we would create a separate diagram for the top-

level services, and then we would add new use cases that make up the top-level ones. There is a

uses edge from “Department/ admin” have to “Manage Record” and “Department/admin” from

“Addition and Deletion” from the record also “Department/admin” perform “Search the from the

record.

Similarly, the diagram indicates that in order to add student detail of project to the system, the

student information is check and the project and group members‟ information must be recorded.

Final Project University Information Portal (UIP)

Federal Urdu University 87

USE CASE Diagram

Diagram 17.1: Use Case Diagram

Final Project University Information Portal (UIP)

Federal Urdu University 88

18. Prototype – Project GUI

Figure 18.1 - Index Page

Final Project University Information Portal (UIP)

Federal Urdu University 89

Figure 18.2 - Register Student Page

Final Project University Information Portal (UIP)

Federal Urdu University 90

Figure 18.3 - Register Student

Figure 18.4 – Competition view

Final Project University Information Portal (UIP)

Federal Urdu University 91

Figure 18.5 – Results Page

Figure 18.6 – Excel Sheet View in Browser

Final Project University Information Portal (UIP)

Federal Urdu University 92

Figure 18.5 – Events Page

Figure 18.6 – Testimonials

Final Project University Information Portal (UIP)

Federal Urdu University 93

Figure 18.7 –Video gallery

Figure 18.8 –Upload Videos

Final Project University Information Portal (UIP)

Federal Urdu University 94

Figure 18.9 –Uploaded Lectures

Figure 18.10 –Downloads EBooks

Figure 18.11 –Add Testimonials

Final Project University Information Portal (UIP)

Federal Urdu University 95

Figure 18.12 – Contact Form

Figure 18.13 – Blogs (discussion)

Final Project University Information Portal (UIP)

Federal Urdu University 96

Final Project University Information Portal (UIP)

Federal Urdu University 97

Figure 18.14 – Add Topic in Blogs (discussion)

Figure 18.15 – Post Reply in Blogs (discussion)

Figure 18.16 – Search Result

Final Project University Information Portal (UIP)

Federal Urdu University 98

ADMIN PANNEL

Figure 18.17– Admin Login

Final Project University Information Portal (UIP)

Federal Urdu University 99

Figure 18.18– Admin Logged In

Final Project University Information Portal (UIP)

Federal Urdu University 100

Figure 18.18– User management Page

Final Project University Information Portal (UIP)

Federal Urdu University 101

Figure 18.20– View Profile

Final Project University Information Portal (UIP)

Federal Urdu University 102

Figure 18.21 – Manage News

Final Project University Information Portal (UIP)

Federal Urdu University 103

Figure 18.22 – Manage Testimonials

Figure 18.23– Upload Results

Final Project University Information Portal (UIP)

Federal Urdu University 104

Figure 18.24– Manage EBooks

Figure 18.25– Manage Videos

Final Project University Information Portal (UIP)

Federal Urdu University 105

Figure 18.26– Blogs Management

Figure 18.27– Manage Lectures

Final Project University Information Portal (UIP)

Federal Urdu University 106

Figure 18.28– File Manager

Figure 18.29– USER Contact Email Sending

Final Project University Information Portal (UIP)

Federal Urdu University 107

Figure 18.30– USER Password Forget Email

Final Project University Information Portal (UIP)

Federal Urdu University 108

Figure 18.31– User Warning Email

Final Project University Information Portal (UIP)

Federal Urdu University 1

Phase # 1

Analysis

1. Project Overview

Table 1.1: Project Overview

Title of the Project

University Information Portal

Programming Environment

32-bits Window

Programming Methodology

Object Oriented (Modular)

Programming Language

PHP, Java, JavaScript, Ajax, Html, CSS

Software Tool

Adobe Photoshop CS3, Dreamweaver CS3, XAMP,

Ms Visio, MS Word

Project Scheduling Techniques

Gantt chart

Supporting Tools

Ms Project, Ms Visio

Start Date

1-08-2008

End Date

15-01-2009

Final Project University Information Portal (UIP)

Federal Urdu University 2

2. Introduction

2.1 Goals & Motivations

The main purpose of our project is to put in place a workable University Portal that would

facilitate ease of use and accessibility for both student and lecturer within a third level

environment. The team focused on any area that could be improved on, including:

collaboration between members, registration, posting of notes, lectures, eBooks, and time

changes for the lecturer, communication with the multipurpose facilities and a personalised

interactive site for the student. An on-line notice board/News alert for Students & all visitors

will become part of the personalised site for posting of events, times and offers available to

all students of the university, be it a register student or not.

The purpose of our portal is to provide people with the information they need – when they

need it, where they need it, and in a format that can easily be acted upon.

After researching in various technologies to develop our University Portal, the team decided

to proceed with advice gained by webmasters and interviews held with members of

development teams. In the beginning of our analysis, the choice of these technologies

proved to be a major obstacle but research was conducted on major portals building

technologies to see if trade-offs existed.

2.2 What is a Portal?

“Portal is a term, generally synonymous with gateway, for a World Wide Web site that is or

proposes to be a major starting site for users when they get connected to the Web or that

users tend to visit as an anchor site.”

A portal represents a Web site that provides a single point of access to applications and

information and may be one of many hosted within a single Portal server.

Final Project University Information Portal (UIP)

Federal Urdu University 3

Portals are becoming more and more important to companies, who have an ever-increasing

need to provide employees, partners, and customers with an integrated view of applications,

information, and business processes. Portal meets these needs, allowing companies to build

portals that combine functionality and resources into a single interface while enforcing

business policies, processes, and security requirements, and providing personalised views of

information to end users.

From an end user perspective, a portal is a Web site with pages that are organised by tabs or

some other form of navigation. Each page contains a nesting of sub-pages, or one or more

portlets—individual windows that display anything from static HTML content to complex

Web services. A page can contain multiple portlets, giving users access to different

information and tools in a single place. A Portal allows users to more effectively and

efficiently views, filter, and process data, and therefore act on what is important, and when

it is important.

The business problem that portals solve is illustrated in the following example:

A company has the need for several types of Web presence: an Intranet for its employees, a

secure site for interactions with partners, and a public Web site. Portal’s flexible portal

network architecture supports multiple implementation choices that allow re-use of

resources across portals.

The University portal is an advertising-free environment; where student, faculty and

administration can mange academic and social information on an automated web-based

organizer, it’s a community where students can even register for access all over.

Who Benefits?

Students utilize our web-based organizer to track automatically updated information

relating to courses, activities, events job opportunities, as well as to register for

Final Project University Information Portal (UIP)

Federal Urdu University 4

courses, check their course materials online and communicate with their university

community.

o Faculty members use the university portal to alert their students of important

schedule information, display course materials online

2.3 Characteristics of a Portal

1. Simple, user interface.

Any person with little web experience must be able to use the portal and its services without

training. This has to include an interface that the most inexperienced user can use without

any need for assistant from an IT professional.

2. Web-centric.

Both the portal user interface and all its services are accessible from any Web browser. The

portal is, therefore, cross-platform and accessible anywhere, anytime

3. Single secure sign-on.

The complexity of delivering information from multiple sources must be completely

transparent to the user. If back-end systems require authentication and/or authorization to

access, the portal, not the user, must perform that function. This will allow for multiple sites

to be accessed without the need for multiple logons.

4. Unified presentation of information from disparate sources.

The portal must present a consistent look and feel to the user regardless of the original

content source.

Final Project University Information Portal (UIP)

Federal Urdu University 5

5. A carefully constructed taxonomy.

6. Material is easier to navigate if it is arranged by content or function. Taxonomy is a

hierarchy of subjects or tasks, allowing such navigation.

7. Role-oriented.

The portal "recognises" a member at sign-in using either a profile submitted by the member

or information obtained from back-end systems.

Access to information is customised to the person's role. Information available to an

academic department head is different from that available to a lecturer; or a personal

calendar and address book may appear automatically, ready for use.

8. Copyright protection.

9. Current awareness.

News and time sensitive information must be delivered to the portal in real-time--and must

NOT be delivered past its time.

10. Collaboration tools.

Necessary for community building, collaboration tools such as workflow, discussion or chat

functions must be provided at the interface.

Advantages for User

Users receive targeted information.

Access to all resources in one place.

Site structure can mirror College structure.

Consistent look and feel.

Final Project University Information Portal (UIP)

Federal Urdu University 6

Simple and easy to use.

Advantages for University

Information channel to student population.

Templates provided centrally - relieves design issues workload.

Content owned by Schools and departments.

Can be maintained either by School/College or department or centrally.

Clear process for publishing and updating information.

Disadvantages of Portals as a Technology

Having too much or too little information and thereby either confusing or frustrating the

user.

A related issue to the above is having the latest information.

With all the powerful features and extensive content of a portal, why would anyone not

use one? A compelling reason is usability, or the lack thereof. For one thing, portal pages,

particularly un-customised home pages, take forever to load over the dialup connections

most people have. Also, many portals are not very friendly to blind users running a

screen reader. You must scroll down through a lot of ads and links to begin to read useful

content. While sighted surfers may find the look appealing, many blind users get

frustrated with the clutter and cumbersome nature of a portal.

Another reason why portals may not be the best choice for information has to do with the

way portals provide their specialised content. Portals are not the source of much of the

information found on their site. They contract with companies, which provide specialised

content--everything from driving directions to TV listings. In many cases, these

companies have their own sites where you can sometimes get more sophisticated

information. And of course, the portal's content provider may have competitors with a

better site or superior content.

Lack of accurate and up-to-date information, poor organization of information,

inadequate search and retrieval.

Final Project University Information Portal (UIP)

Federal Urdu University 7

Updates or modifications usually need to be made to the web pages themselves in the

case of non-dynamic web pages.

Administrators manually edit HTML files.

If the style of the website changes, it must be altered on all of the web pages.

No real data independence between the content of the portal and its style

2.4 Portal Overview

The basic model of our project is security (Logging on), information storage (MySQL

database) with a web-based front-end. Each user will have there own username and

password for log-on to the portal.

When a patron logs on to the portal he/she will have the option of accessing all the features.

This information will then be taken to the database where it will be stored. Based on the

user’s initial information, the portal will design a personalised web page to accommodate

the user information/profile.

The interface screen will be a multi page navigations allowing for Academic and Social

interests for our users. In the social page you will find many different selected interests from

relevant upcoming events, social interests (music, travel, food & drink, sport, film, etc) will

be displayed to the user.

The Academic page will allow our patrons to view university related activities. These could

include lectures, notes, course outline, course timetables, past exam papers, projects, etc.

Upcoming seminars, presentations and recruitment could also be displayed here. The

administrator will have access rights to the database and several other features.

2.5 Methodology

A methodology should provide a framework or procedure within which the analyst can

systemically and comprehensively investigate a business area, document the findings

Final Project University Information Portal (UIP)

Federal Urdu University 8

developed from that investigation, draw conclusions from those findings, and develop

recommendations on the basis of those conclusions.

As this was our first project to incorporate a methodology, we had to consider a whole range

to see which modelled our project the closest. For this we looked at many portals available

on net visiting them and identify information as our requirement.

2.6 University Portal Features

As Far our Consideration is to provide effective information we have implementing

following functionalities.

Registration

Student/Teacher Profile (User Management)

Login: different authority for teacher & user

Classes Scheduling: Static Time table for two main category BS & MS

Result Management: Result Can be Uploading in Excel File it will automatically

display the content of excel file. also Can searching a result.

Notice Board/News Alert: Display New result announcement, upcoming

result.(Changeable by admin)

EBooks: Computer Ebook for any category can be uploaded by admin or teacher

user/student can download the available books and also provide the available books.

File Manager: For Admin Use, it can be easily structure for uploading and managing

files, display a list of uploading files with functionality to add/delete the new files by

categorize.

Video Gallery: multiples videos, search video, recent videos. sign up & add video all

record can be customizable thorough admin panel approval/delete for posted video.

Controlling User: All the videos can be first approve by admin, but in case student

can post the unwanted video or comment it can be send a warning for the activity they

performed. (Send warning or Direct Blocked)

Final Project University Information Portal (UIP)

Federal Urdu University 9

Dynamic Photo Gallery: Interactive images gallery by categories. Admin can add

new photos in selected category, edit & delete the old photos. Student can post the

events photos, really fun.

Event Calendar: Upcoming Event & Seminars held in Department or University

with the details of date/timing/location. Also post the Information for other

University’s events

Training Videos: On the Video Section training videos can be uploaded for the

student as their beneficial for all.

Searching: Specific search for result & student.

Forms/Blogs: Update image/post/reply/delete messages looking good styling:

customizable for administration.

Dynamic Poll / Testimonials: Student/Teacher/Visitor post their views about the

websites, functionality of website can be displayed. (first approved by admin)

3. Project Scope

A one-stop client-oriented web site that personalizes the portal's tools and information to the

specific needs and characteristics of the person visiting the site, using information from

university databases..

Clear process for publishing and updating information.

Templates provided centrally - relieves design issues workload.

Can be maintained either by School/College or department or centrally.

The focus of a University portal is to provide information targeted at individuals. The focus of a

general web site is to show general on-line pamphlets to wide audiences. The two systems are

different, but complement each other. Neither is a replacement for the other.

Final Project University Information Portal (UIP)

Federal Urdu University 10

4. Analysis 4.1 System Overview

The system overview will give an understanding into who will use the system and

what kind of access each of these users will have.

4.2 Student

Students will be given a username and password; the password will be distributed to

students with the letter sent out at the beginning of the year, asking them to register to

their chosen program. This logon will allow the student to register with the university

on the portal. The student will also have limited access to services provided by the

portal until they have registered.

4.3 Lecturer

A lecturer will receive access to the portal once employed by the college, access to

send lecture notes, assignments and SMS messages to the students and course groups

will be given to the lecturers at the beginning of the college year.

4.4 Administrative Staff

Administrative staff will have the same access to the portal when they accept

employment from the university.

4.5 System Administration

The administrators of the portal server are in charge of managing the portal server and

after training; the system administrators receive their username and password.

Final Project University Information Portal (UIP)

Federal Urdu University 11

4.6 Service to Implement

The team has decided upon a few key areas and a number of smaller ones as

deliverables for our portal. These include: Student Registration, Result, Notice/Board,

News Alert, EBooks, Manager File, Gallery Video, Controlling User, Dynamic Photo

Gallery, Event Calendar, Training Videos, Searching, Testimonials Library facilities,

Lecture notes, Assignments and SMS facility for lecturers. We have elaborated

briefly on these to give scope to each of them.

4.7 Student Registration

Certain assumptions had to be taken into consideration to facilitate our on-line

registration.

Presently, the registration process causes many students pending for approval, it can

be approved after enrolment matching to our database.

The procedure of confirming registration means no other outsider student will access

to our r portal. As a way to resolve this unnecessary process it is our goal to come up

with an alternative, with a less time consuming time frame than presently exists.

4.8 Library EBooks

In the University library students have the option to search for eBooks, download the

eBooks, provides all the eBooks that available from library.

4.9 Lectures Notes

Lecturers are currently placing on the spate section it can be available by

teacher/date/program. These notes will be placed onto the university portal so that

users will have a common place to view or print-off their required notes.

Final Project University Information Portal (UIP)

Federal Urdu University 12

4.10 Assignments

Assignments set by lecturers will be placed by lecturers onto the portal depending on

the course and year of the student. Students can access the assignments from the site

and also place their solution to the assignment up to their lecturer. Once the

assignment is handed up the lecturer can see the name of the assignment, name of the

student who handed it up and what time the assignment was handed up at. From here

the lecturer can download the assignment and mark it accordingly.

There will also be a place for the lecturer to post up the marks of the students

assignments. Marks will be represented to students by use of their student number.

4.11 File Manager

For Admin Use, it can be easily structure for uploading and managing files, display a

list of uploading files with functionality to add/delete the new files by categorize.

4.12 Video Gallery

Multiples videos, search video, recent videos. sign up & add video all record can be

customizable thorough admin panel approval/delete for posted video. Video Gallery

is an easy and smart way to start your own Videos portal without the headaches or

high bills. It’s delivered with an incredible database of 500 videos, a member’s area

that allows visitors to join and start posting comments and so much more! Even more

exciting is the fact that you can import new videos in seconds. Any hosting account

you currently have is adequate for PHP Melody because you don’t have to host any

videos at all.

Final Project University Information Portal (UIP)

Federal Urdu University 13

4.13 Controlling User

All the videos can be first approve by admin, but in case student can post the

unwanted video or comment it can be send a warning for the activity they performed.

(Send warning or Direct Blocked)

4.14 Dynamic Photo Gallery

Whether you just want to browse our huge image gallery or want to share your own

photos with others, this is the site for you!

Browse through the categories of our gallery containing quality photos.

Share your photos with fellow designers! This is a friendly community of

photography addicts who generously offer their works to those who need them free of

charge. If you have some nice photos that you'd like to share with others, Not only it

feels great to share, you will also get a huge exposure for your work!

4.15 Event Calendar

Upcoming Event & Seminars held in Department or University with the details of

date/timing/location. Also post the Information for other University’s events

4.16 Testimonials

Student/Teacher/Visitor post their views about the websites, functionality of website can

be displayed. (First approved by admin)

Final Project University Information Portal (UIP)

Federal Urdu University 14

5. Feasibility Analysis

Feasibility analysis is the process by which feasibility is measured.

The goal of feasibility analysis

to enable the organization to determine whether or not to proceed with a project

to identify any important risks associated with the project

5.1 Technical Feasibility

Familiarity with the application

This project is similar to over previous projects as our team developed for small

commercial business. Our team has successfully used Prototype to provide basic

functionality for end-users, then incorporated additional features during each iteration

of the development process.

Familiarity with the technology

The application will be developed in PHP/ MYSQL that we have some familiarities

The employees have virtually no experience using PHP or JS/Ajax but all are

comfortable with using PC’s. Tanning should be sufficient to overcome their

inexperience.

Project size

Project size is relatively small. It will take 6 months to complete. Future expansion is

planned but will not affect this project, though business expansion may lead to

subsequent projects.

Final Project University Information Portal (UIP)

Federal Urdu University 15

Development Specification

Suggested Platform Platform Version

Windows All Windows

Browser Support Internet Explorer

Firefox

Suggested Development Tools Development Version

PHP, MySQL, (PHPMyAdmin) 5.0/5.1

JavaScript , Ajax

Dreamweaver CS3

Photoshop CS2/CS3

Table 5.1: Specification

5.2 Economical Feasibility

FP & COCOMO

Using the Basic COCOMO technique for estimation, we have found out that our project

that development time for similar projects was on average of 5 months, which is more

than what we have; however, it is close.

Estimation Technique for Function Points

For an initial estimation of project size, we used an Estimated Function Point Count. The

expected processes and files are listed and categorized by programming language and

component type: External Input (EI), External Output (EO), External Inquiry (EQ),

Internal Logical File (ILF), or External Interface File (EIF). Since this is an initial

estimation before formal specification, all files are considered to have low complexity

and processes are assumed to be of average complexity. The components are then

weighted, yielding the Unadjusted Function Points (UAF). The Value Adjustment Factor

(VAF) was determined by given requirements and general expectations of professional

ecommerce website capability. When the VAF is multiplied with the UAF, we are given

the Function Points (FP). Size, as measured in Source Lines of Code (SLOC), was then

calculated with median Function Point Gearing Factors (Quantitative Software

Management, Inc.). HTML and Javascript factors were averaged together, and C++ was

Final Project University Information Portal (UIP)

Federal Urdu University 16

used as a comparable language factor to PHP. It should be noted that this Function Point

Count does not make allowance for user interface necessities.

The function point –FP- metric can be used to measure the functionality delivered by the

system. It rates each factor on a scale from zero to five where zero stands for No

Influence and five for Essential. The following is what the scale looks like.

For each factor a number will be given and at the end all these numbers will be added and the

function point will be calculated according to the formula of,

FP = CT X [0.65 + 0.01 X ∑ Fi ],

Where FP = Function Points

CT = Count Total

∑ = Sum

Fi = (I = 1 to 14) are Value Added Factors (VAF).

To compute the function points, we need two major variables to be computed: One is the

Value Added Factors (VAF) which will be based on questions; the other is the Count

Total (CT)

Estimate for Function Point Technique

Table of VAF Results

We are going to summarize the results in a table so it will be easy to use and convenient to see

the results. The total number calculated will be used in the function point’s formula we have

mentioned FP = CT sX [0.65 + 0.01 X ∑ Fi ],

Final Project University Information Portal (UIP)

Federal Urdu University 17

Questions to Calculate VAF (Value Adjustment Factor)

1. Data Communications 4

2. Distributed Functions 2

3. Performance 4

4. Heavily Used Configuration 3

5. Transaction Rate 4

6. Online Data Entry 3

7. End User Efficiency 4

8. Online Update 4

9. Complex Processing 3

10. Reusability 2

11. Installation Ease 1

12. Operational Ease 1

13. Multiple Sites 1

14. Facilitate Change 3

VAF = 39

Process and File Attributes

Process / File Component Type Language

Files

Record Collection

Administration Data

User Accounts

Web Resources

Internal Logical File

Internal Logical File

Internal Logical File

External Interface File

SQL

SQL

SQL

SQL

Webpages

Homepage

Register Page

Administration Page

Categories Page

Gallery Page

Information Page

Result Pages

Contact Page

External Inquiry

External Inquiry

External Inquiry

External Inquiry

External Inquiry

External Inquiry

External Inquiry

External Inquiry

HTML / Javascript

HTML / Javascript

HTML / Javascript

HTML / Javascript

HTML / Javascript

HTML / Javascript

HTML / Javascript

PHP

Final Project University Information Portal (UIP)

Federal Urdu University 18

Search External Inquiry PHP

Personal Online Help

Request Help

Approve Queue

Send Message

Receive Message

External Input

External Inquiry

External Input

External Inquiry

PHP

PHP

PHP

PHP

Account

Login

Logout

New

New – Verification

Edit

Report

External Output

External Inquiry

External Input

External Input

External Input

External Inquiry

PHP

PHP

PHP

PHP

PHP

PHP

Administration

Login

Logout

Edit Password

Status Report

Users Report

External Output

External Inquiry

External Input

External Inquiry

External Output

PHP

PHP

PHP

PHP

PHP

Management

Display

Add

Edit

Clear

Warnings

Approval

Block

External Output

External Input

External Input

External Input

External Input

External Input

External Input

PHP

PHP

PHP

PHP

PHP

PHP

PHP

Table 5.2: File Attributes

Unadjusted Function Points

HTML / JavaScript

EI EO EQ ILF EIF

0 0 7 0 0

0 + 0 + 7 * 4 + 0 + 0 = 28

Final Project University Information Portal (UIP)

Federal Urdu University 19

PHP

EI EO EQ ILF EIF

10 4 5 0 0

12 * 4 + 4 * 5 + 6 * 4 + 0 + 0 = 92

SQL

EI EO EQ ILF EIF

0 0 0 3 1

0 + 0 + 0 + 3 * 7 + 1 * 5 = 26

Value Added Factor

VAF = 0.65 + 0.01 * ∑ (VAF)

= 0.65 + 0.01 * 39 = 1.04

Function Points

FP = Unadjusted Function Point * Value Adjustment Factor

Function Points = UAF * VAF

HTML / JavaScript

28 * 1.04 = 29.12 FP

PHP

92 * 1.04 = 95.68 FP

SQL

26 * 1.04 = 27.04 FP

FP and LOC Calculations

Estimates for Programming Languages

Java 63

PHP 67

Final Project University Information Portal (UIP)

Federal Urdu University 20

SQL 37

These estimates come from summer 2005 Software Engineering Projects where both FP and

lines of code were calculated.

Source Lines of Code

FP X LOC/FP

HTML / JavaScript

29.12 * avg(53) = 1543.36

29.12 * avg(63) = 1834.56

= 3378

PHP

95.68 * 67= 6410.56

SQL

27.04 * 37 = 1,000.48

Total SLOC = 10,790.36

This means that we need an average of 2478 lines of code in order to complete it.

5.3 COCOMO Analysis

The cost estimation of our project is handled by the Constructive Cost Model

(COCOMO). Though considered obsolete to the more advanced COCOMOII, the

original COCOMO remains a familiar and straightforward method of software cost

estimation.

The development mode is chosen to be Semidetached. Though the project team is small,

this development mode takes precedence due to the unfamiliar nature of the development

environment. The Thousands of Delivered Source Instructions (KDSI) is taken by the

division of 1,000 into the SLOC determined from the Function Point Count. Cost drivers

were selected to adjust the nominal effort: low applications experience, low virtual

Final Project University Information Portal (UIP)

Federal Urdu University 21

machine experience, and low programming language experience. Average Cost per

Person Month will be 10,000 (Sommerville 529). Additionally, basic hardware and

software costs are estimated at 1,000 with an annual maintenance cost of 200.

Taken as is, the high COCOMO estimations cannot be directly used to schedule within

the constraints of the short-term project goals and current resources. However, this early

COCOMO estimation does not take into account negotiated final specifications or the use

of pre-generated code and other available resources.

Effort = 3.0 * 10.79 ^ 1.12 = 49.13 Person Months

Adjusted Effort = 49.13 * 1.13 * 1.10 * 1.07 = 65.34

Development Costs = 65.34 * 10,000 = 653,400

Hardware and Software Costs = 1,000

Annual Maintenance Costs = 200

Software Cost

Total Development Costs = 654,400/-

Estimation Technique Software Engineering Environment

The software Engineering Environment or SEE can be divided into two categories: The software

and the hardware. Since we are using PHP Programming Which is Open Source language and

Adobe Dreamweaver provided by the library, we do not need to spend money on acquiring it.

Also MYSQL came with our systems when we bought our laptops and computers. However, to

learn programming with PHP and SAL, we had to require some training and buy some book to

use it as a reference. Below is a breakdown of the cost we carried out.

Cost of Software

PHP Programming Rs 6.000/-

MYSQL Rs 200/-

Microsoft Visio Rs 0.00/-

Final Project University Information Portal (UIP)

Federal Urdu University 22

Cost of Hardware

Own Laptops and computers Rs 0.00/-

Technique of Optimistic, likely, and Pessimistic LOC Estimates

Description Estimation

This technique deals with three conditions to calculate the Optimistic, likely, and

Pessimistic LOC Estimates. Usually the optimistic is 80%, likely is 100%, and

pessimistic is 120% of the total LOC. The formula used in this estimate is as follows:

Expected LOC = (a + 4m + 2b) / 7.

Where,

a = optimistic

m = likely

b = pessimistic

Estimate for Optimistic, likely, and Pessimistic LOC Technique

We need to calculate each LOC for each of the three conditions, so the numbers will be

as follows:

a = 10,790 X 80% = 8632

m = 10,790 X 100% = 10790

b = 10,790 X 120% = 12948

Expected LOC = [8632 + (4 X 10790) + (2 X 12948)] / 7

= (1982.4 + 43160 + 25896) / 7

= 77688

According to the answer that we have here, it is still close to 10790 which we obtained

from the FP section.

Cost per LOC

Cost per lines of code can be calculated using the formula:

Cost = Rs / LOC

Final Project University Information Portal (UIP)

Federal Urdu University 23

= 654400 / 10790

= Rs 60.648/- for each line of code.

Quality

Quality can be measures using the following equation:

Quality = Defects / KLOC

= 15 / 10.79

= 1.39

Defect‖ is defined as the number of non conformance to requirements per year. We are

planning not to have any defects in our product since we are following the highest quality

software engineering techniques; however, things happen, so we assume 15 defects might

exist in our product.

Benefit Analysis

Tangible benefits can be easily quantified. Measured in terms of monthly or annual

savings or of profit to organization.

Intangible benefits related to user side.

The Tangible & Intangible Benefits for our project is as follows

Tangible Benefits Intangible Benefits

Higher processing

Increased throughput

Decreased response time

Increased Values

Reduced expenses

Increased Department Moral

Increased Students Moral

Improved customer goodwill

Improved student morale

Better service to community

Table 5.3: Benefit Analysis

Final Project University Information Portal (UIP)

Federal Urdu University 24

6. Requirement Gathering

In software development, analysis is the process of studying and defining the problem to be

resolved. It involves discovering the requirements that the system must perform, the

underlying assumptions with which it must fit, and the criteria by which it will be judged a

success or failure.

6.1 Software Requirement

6.1.1 User Requirement

Intel Pentium based computer

Monitor Screen of 1024 X 768 is recommended

At least 512Mb Ram

Web Browser: FF , IE, OPERA

Internet Connection

Ms Project 2003

Microsoft Visio 2003

Windows [2000 professional, XP professional ]

6.1.2 Functional Requirement

Registration to the system

Login to the System

View News updates, results, Announcements...etc

Upload Lectures

Upload Videos

View Results

Admin Can Mange Whole Site

Add/Edit/Delete/Approve etc

Search Result/Videos/Images

Final Project University Information Portal (UIP)

Federal Urdu University 25

6.1.3 Non Functional Requirement

The application Can benefit multiple user at a time

The information is only for specific department & students

Only the administration can input/edit/delete record

7. Project Management

7.1 Problem

We can analyze our problem as it is Simple and our target is to display the

corresponding output

Project is a series of activities and a non-routine task the project related problem

that we face are as follows.

Task is dependence each other so we can wait until the dependent task is not

complete until next task

Quality skills are not available

Lack of team work.

Resources are not available

Trained people are not available

Product must have effective communication with customer & requirement; we can

analyze whole system and collecting data & information that required.

We established project objectives and scope

Considered alternatives solution

Estimates the cost

Considered the known risk

Final Project University Information Portal (UIP)

Federal Urdu University 26

7.2 Process Model

The model that we prefer is described as Prototype Model. In prototype Model the

customer defines a set of general objectives for software, but does not identifying

detailed input, processing, or output requirement. In other cases the developer may be

unsure of the efficiency of an algorithm.

Ideally the prototype serves as a mechanism for identifying software requirement. If a

working prototype is built, the developer attempts to make use of exiting program

fragments or applies tools (e.g., report generators, window managers, etc) that enable

working programs to be generated quickly.

In most projects, the first system built is barely usable. It may be too slow, too big,

and awkward in use or all three. There is no alternative but to start again, smarting but

smarter, and build a designed version in which these problems are solved.

Condition for Prototyping Model

When user and developer are not sure

Developer unsure of the efficiency of an algorithm.

Prototyping paradigm begins with communication.

Also called exploratory programming

Effort of prototype is not wasted

Faster than the Waterfall model

High level of user involvement from the start

Technical or other problems discovered early – risk reduced

7.3 Team

Team Structure

The way a project team is structured can play a major role in how it functions. Team

structure will probably be adjusted at each stage to meet the developing environment

of the project. Our project team structure is Controlled Decentralized (CD). This

team structure is combination of hierarchical (CC) and democratic (DD). The reason

Final Project University Information Portal (UIP)

Federal Urdu University 27

our group decided this team structure is every team members can respond very

quickly to changes as project develops. It is very important to have a team leader

which can monitor the progress of the team, keep all team members up-to-date on

project, and if required make adjustments to the team members' tasks. We will rotate

team leader until every team members get one opportunity to be a responsible and

gain skills.

This model can also be described as "Team of peers". To make this concept to work,

one needs to understand and support the roles and dynamics of the team members.

Rather than being directly responsible for the day-to-day project direction and

tracking, the project manager becomes a facilitator. This is the right choice for a

small, high-powered, business-design team, and it is unlikely to work for a large

applications development team. The reason for this is that smaller groups can be

managed more efficiently on a ―one-to-one‖ basis. This would be much harder to

achieve in a large development teams, which would more benefit communicating

through various committees and layers of management.

7.4 Management & Reporting

For the project there are three team members, which are responsible for everything.

There should be at least one team leader, which can monitor the progress on the team,

keep all team members up-to-date on project and if required make adjustments to the

teams members' tasks. Team leader roll should alternate once, where every team

member gain opportunity to be project management. Team members should attend

meeting twice a week with presence of team leader. The project must divide into

equally three team members. However, there should be weekly updates on the project

from each team member. Therefore, if one team member fall behinds on his/her

delivery date, there will be supplementary help available from other team members.

Team meeting is going to be schedule at the same time and days that are set according

to every ones available time. All team members should be responsible of reporting

individual tasks. During meeting there is going to be discussion about the design, the

Final Project University Information Portal (UIP)

Federal Urdu University 28

implementation, and concerns regarding the system. In case, if team leader is not able

to attend, then team members must report the team leader all the activities happened

during meeting. Every member of the team should report via e-mail, phone calls.

If there is any concern or problem regarding this project, the team members should

report it during meeting in personal, by e-mail or phone calls. If it can't solve within

team then team leader should contact with associated person. If any team member is

going to be absence, they should notify the team leader in two weeks advance.

8. Work Breakdown Structure (WBS)

8.1 Process WBS

The work breakdown structure of the UIP is as follows

Meeting with Relevant Person

Decide time for data collection

Design questions for interview

Develop Prototype Model

Design feasibility Analysis

Project Costing

Managed Risk

Design Prototype Screen

Design Algorithm/Pseudo Code

Design Data Flow Diagram (DFD)

Programming

Testing

Development & Help Guide

Final Project University Information Portal (UIP)

Federal Urdu University 29

Process (WBS)

Diagram 8.1: Process WBS

Final Project University Information Portal (UIP)

Federal Urdu University 30

9. Project Planning

The planning of our building application is as follows,

Step-1

Project DURATION (PD) = (Total duration decide by University) - 1

Total duration decide by University = 1st -October to 1

st - March

= 6 Months (180 days)

Project DURATION (PD) = 180days – 20 days (for risk)

= 160 Days

Total Number of weeks (TNW) PROJECT Duration (PD)

Total Number of DAYS (TND) in Project DURATION (PD)

Total Number of Days in Project Duration = 160 (including Sundays & Holidays)

Step-2

Total number of days (TND) = 160 days

Total number of holidays (TNH) = 10 days

(Sunday and others PUBLIC HOLIDAYS)

Actual Working Days (AWD)

AWD = total number of days (TND) –total number of holidays (TNH)

AWD= 160 - 10 Days

AWD = 150 (5 Months - 21 Week, 4 days)

Now distributes these 21 Weeks among team member equally or unequally as per team

organization.

9.1 Timeline Chart - GANT

A Gantt chart is a graphical representation of the duration of tasks against the

progression of time. A Gantt chart is a matrix.

The Gantt chart is constructed with a horizontal axis representing the total

time span of the project, broken down into increments (days, weeks, or

months).

Final Project University Information Portal (UIP)

Federal Urdu University 31

The Gantt chart is constructed with a vertical axis representing the tasks that

make up the project.

The Gantt chart is constructed with a graph area which contains horizontal

bars for each task connecting the period start and period ending symbols.

The Gant Chart for our project is given below

Figure 9.1: Timeline chart

Final Project University Information Portal (UIP)

Federal Urdu University 32

9.2 Timeline Chart - PERT

Program evaluation and review technique (PERT) charts depict task, duration, and

dependency information. Each chart starts with an initiation node from which the first

task, or tasks, originates. If multiple tasks begin at the same time, they are all started from

the node or branch, or fork out from the starting point. Each task is represented by a line

which states its name or other identifier, & its duration. The other end of the task line is

terminated by another node which identifies the start of another task, or the beginning of

any slack time, that is, waiting time between tasks. Each task is connected to its successor

tasks in this manner forming a network of nodes and connecting lines. The chart is

complete when all final tasks come together at the completion node. A PERT chart may

have multiple parallel or interconnecting networks of tasks.

Table 10.3: Activity Chart

Table 9.2: Activity Chart

Task Description Duration Dependencies Analysis 74days

T1 Meeting with Relevant Person 12 -

T2 Decide time for data collection 2 -

T3 Design questions for interview 5 T2

T4 Develop Prototype Model 28 T3

T5 Design feasibility Analysis 8 -

T6 Project Costing 10 T5

T7 Managed Risk 9 -

Design 21Days T8 Design Prototype Screen 15 -

T9 Design Algorithm/Pseudo Code 2 T8

T10 Design Data Flow Diagram (DFD) 2 T8

T11 Design ERD 2 T10

Implementation 30Days T12 Programming 30 T9

Testing 15Days T13 Alpha Testing 8 T12

Beta Testing 7

Design User manual 10Days T14 Design Installation Guide & User

manual

10 T13

Final Project University Information Portal (UIP)

Federal Urdu University 33

Pert Chart

Diagram 9.2: PERT Chart

Critical Path = Longest time period required to complete the project, in our project the

critical path is define as,

15 + 2 + 30 + 15 + 10 = 72days

Critical Time = 72days

Critical Activities = Critical activities are those activities that lies on Critical path. In

our project there are 5 critical activities that are T8, T9, T12, T13, and T14

Final Project University Information Portal (UIP)

Federal Urdu University 34

9.3 CPM

The Critical Path Method (CPM) is one of several related techniques for doing

project planning. CPM is for projects that are made up of a number of individual

"activities." If some of the activities require other activities to finish before they can

start, then the project becomes a complex web of activities.

CPM can help to figure out:

how long your complex project will take to complete

activities are "critical," meaning that they have to be done on time or else

the whole project will take longer

Step 1: List the activities

We can start CPM analysis when we have a table showing each activity in our

project. For each activity, we need to know which other activities must be done

before it starts, and how long the activity takes.

See Table 10.2: Activity Chart

Step 2: Draw the diagram

Now we draw a network diagram of the project that shows which activities follow

which other ones. This can be tricky. The analysis method we'll be using requires an

"activity-on-arc" (AOA) diagram. An AOA diagram has numbered "nodes" that

represent stages of project completion. You make up the nodes' numbers as you

construct the diagram. You connect the nodes with arrows or "arcs" that represent

the activities that are listed in the above table.

Final Project University Information Portal (UIP)

Federal Urdu University 35

CPM – Activity on Arrow

Diagram 9.2: CPM – Activity on Arrow

Critical Path = Longest time period required to complete the project, in our project the

critical path is define as,

15+ 2 + 30 + 15 + 10 = 72days

Critical Time = 72days

Critical Activities = Critical activities are those activities that lies on Critical path. In

our project there are 5 critical activities that are T8, T9, T12, T13, and T14

Final Project University Information Portal (UIP)

Federal Urdu University 36

10. Risk Management

The team decided to do a limited Risk Analysis to help us assess the risks that our project may

face and to help us gain an understanding into how to resolve these issues is it people, location,

time, hardware and software.

Logistics

Our project team is geographically spread around Karachi City and County providing us with a

logistic hurdle. University hours allow us to easily meet up during the day but after University

hours problems begin to arise. To deal with this issue the team decided that project work was

allocated to each member, which allowed him or her to complete it at home and at the members’

discretion.

Time Allocation

A specified amount of hours per week has been set aside to work on our final year project but

these timetables, which have been agreed upon, will be flexible to accommodate the numerous

other projects, which have to be undertaken this year. This will inevitably lead to problems

among the group resulting in possible overruns in the timeframe that the team had set. This also

applied to meetings with the teams’ supervisor. Although flexible in its structure, our timetable

meant putting in a minimum amount of hours to ensure a weekly level of work.

Technical Issues

Hardware and Software, while a major part of the risks involved, should prove to be the easiest

of hurdles to cross. The only problem with software is there inability to interact with each other.

By researching all necessary technologies as a group and the collaboration gained from regular

meetings we were able to identify suitable software. Our hardware concern is overshadowed by

the software concern but that is not to say that no risk exists. Hardware problems can be major

headache often resulting in lost work or files being corrupted. This headache can be elevated

when the team members perform regular backups.

Final Project University Information Portal (UIP)

Federal Urdu University 37

Illness

If one of the project members becomes ill, the tasks that that team member had would have to be

re-arranged. If the team member is not seriously ill, she could be given work to do at home, as

one of the team members has a laptop. However, if the member does become seriously ill, the

tasks would have to be divided up between the two remaining team members.

The main focus of risk management is to understand the risks that are likely to occur and develop

plans for dealing with them.

10.1 Risk Identification

Risk identification is a systematic attempt to specify the project plan, the following risk

occurs in our projects, product and business risks.

In which we can define what risks might occur, and then analyze them

Be able to tell when a risk has taken place (which sets the stage for risk monitoring and

mitigation)

Product size risks

Degree of confidence in estimated size estimate?

Estimated size of the product in LOC or FP?

Number of users of the product?

Estimated size of product in number of programs, files, transactions?

Business risks

Reasonableness of delivery deadlines?

Costs associated with late delivery?

Costs associated with a defective product?

Final Project University Information Portal (UIP)

Federal Urdu University 38

Development environment risks

Is a software project management tool available?

Is a software process management tool available?

Are tools for analysis and design available?

Are testing tools available and appropriate for the product to be built?

Have members of the project teams received training in each of the tools?

Is the software process used for other projects?

Process issue risks

Are formal technical reviews of the requirements specification, design, and code

conducted regularly?

Are formal technical reviews of test procedures and test cases conducted regularly?

Are the results of each formal technical review documented, including defects found

and resources used?

Staff size and experience

Are the best people available?

Do the people have the right combination of skills?

Are enough people available?

Are staffs committed for entire duration of the project?

Will some staff be working only part time on this project?

Do staffs have the right expectations about the job at hand?

Have staffs received necessary training?

Technical issue risks

Are specific methods used for software analysis?

Do you use a specific method for data and architecture designs?

Are tools used to create software prototypes?

Are software tools used to support the testing process?

Final Project University Information Portal (UIP)

Federal Urdu University 39

Technology risks

Is the technology to be built new to your company?

Do the customer requirements demand the creation of new algorithms, input or output

technology?

Additional Risks

Effort is greater than estimated (per line of code, function point, module, etc.)

Budget cuts upset project plans

Are the best people available

Planning is too poor to support the desired development speed

Facilities are crowded, noisy, or disruptive

Are local experts available to answer questions about the tools

Customer insists on new requirements

Does the customer have a solid idea of what is required

Additional requirements are added

Effect of this product on company revenue

Costs associated with late delivery

Team members do not work together efficiently

Problem team members are not removed from the team, damaging overall team

motivation

Personnel work slower than expected

10.2 Risk Analysis

Three main steps can be used to analyze the software risk

Probability of Risk:

First, a probability of the occurrence of a particular risk is estimated; i.e. risk as

very low, low, moderate, high or very high

Final Project University Information Portal (UIP)

Federal Urdu University 40

Impact:

Second, the impact of the project of the particular risk should be estimated; i.e.

risk as negligible, marginal, critical and catastrophic

Overall Risk:

In figuring out the overall risk, consider how this risk may impact other on the

project, and make a note of them (risks are rarely stand-alone, interrelationships

often exist).

Final Project University Information Portal (UIP)

Federal Urdu University 41

Risk Analysis Table

Risk Name Category Probability Impact

Product Size Risk

Degree of confidence in estimated size estimate? PS 50% 3

Estimated size of the product in LOC or FP? PS 30% 1

Number of users of the product? PS 25% 1

Estimated size of product in number of programs, files,

transactions?

PS 10% 3

Business Risk

Reasonableness of delivery deadlines? BU 20% 3

Costs associated with late delivery? BU 40% 2

Costs associated with a defective product? BU 40% 2

Development Risk

Is a software project management tool available? DE 60% 2

Is a software process management tool available? DE 55% 3

Are tools for analysis and design available? DE 50% 3

Are testing tools available and appropriate for the product

to be built?

DE 30% 2

Have members of the project teams received training in

each of the tools?

DE 65% 3

Is the software process used for other projects? DE 10% 2

Process issue risk Category Probability Impact

Are formal technical reviews of the requirements

specification, design, and code conducted regularly?

PD 25% 1

Are formal technical reviews of test procedures and test

cases conducted regularly?

PD 20% 1

Are the results of each formal technical review

documented, including defects found and resources used?

PD 20% 3

Staff Size and Experienced

Are the best people available? SS 50% 2

Do the people have the right combination of skills? SS 20% 3

Are enough people available? SS 15% 4

Is staff committed for entire duration of the project? SS 10% 4

Will some staff be working only part time on this project? SS 10% 3

Does staff have the right expectations about the job at

hand?

SS 15% 3

Have staffs received necessary training? SS 30% 2

Technical issue risk

Are specific methods used for software analysis? TI 25% 2

Are tools used to create software prototypes? TI 45% 2

Final Project University Information Portal (UIP)

Federal Urdu University 42

Are software tools used to support the testing process? TI 30% 3

Technology risks

Is the technology to be built new to your company? TE 55% 3

Do the customer requirements demand the creation of new

algorithms, input or output technology?

TE 20% 3

Additional Risks Category Probability Impact

Effort is greater than estimated (per line of code, function

point, module, etc.)

AD 40% 2

Budget cuts upset project plans AD 30% 2

Planning is too poor to support the desired development

speed

AD 20% 3

Facilities are crowded, noisy, or disruptive AD 10% 3

Are local experts available to answer questions about the

tools

AD 35% 3

Customer insists on new requirements AD 15% 2

Does the customer have a solid idea of what is required AD 50% 2

Additional requirements are added AD 40% 2

Effect of this product on company revenue AD 10% 1

Visibility of this product to senior management AD 20% 2

Costs associated with late delivery AD 5% 1

Team members do not work together efficiently AD 15% 2

Problem team members are not removed from the team,

damaging overall team motivation

AD 15% 2

Personnel work slower than expected AD 10% 2

Table 10(a): Risk Analysis

Categories Impact

PS - Product size risks

BU - Business risks

DE - Development environment risks

PI - Process issue risks

SS - Staff size and experience

TI - Technical issue risks

TE - Technology risks

AD - Additional Risks

1-Catastrophic

2-Critical

3-Marginal

4-Negligible

Table 10(b): Risk Categories & Impact

Final Project University Information Portal (UIP)

Federal Urdu University 43

10.3 RMMM Table

Risk Name Category Probability Impact RMMM

Product Size Risk

Degree of confidence in estimated size

estimate?

PS 50% 3 10.3.1-1

Estimated size of the product in LOC or FP? PS 30% 1 10.3.1-2

Number of users of the product? PS 25% 1 10.3.1-3

Estimated size of product in number of

programs, files, transactions?

PS 10% 3 10.3.1-4

Business Risk

Reasonableness of delivery deadlines? BU 20% 3 10.3.1-5

Costs associated with late delivery? BU 40% 2 10.3.1-6

Costs associated with a defective product? BU 40% 2 10.3.1-7

Development Risk

Is a software project management tool

available?

DE 60% 2 10.3.1-8

Is a software process management tool

available?

DE 55% 3 10.3.1-9

Are tools for analysis and design available? DE 50% 3 10.3.1-10

Are testing tools available and appropriate for

the product to be built?

DE 30% 2 10.3.1-11

Have members of the project teams received

training in each of the tools?

DE 65% 3 10.3.1-12

Is the software process used for other projects? DE 10% 2 10.3.1-13

Process issue risk Category Probability Impact RMMM

Are formal technical reviews of the

requirements specification, design, and code

PI 25% 1 10.3.1-14

Final Project University Information Portal (UIP)

Federal Urdu University 44

conducted regularly?

Are formal technical reviews of test

procedures and test cases conducted regularly?

PI 20% 1 10.3.1-15

Are the results of each formal technical review

documented, including defects found and

resources used?

PI 20% 3 10.3.1-16

Staff Size and Experienced Are the best people available? SS 50% 2 10.3.1-17

Do the people have the right combination of

skills?

SS 20% 3 10.3.1-18

Are enough people available? SS 15% 4 10.3.1-19

Is staff committed for entire duration of the

project?

SS 10% 4 10.3.1-20

Will some staff be working only part time on

this project?

SS 10% 3 10.3.1-21

Does staff have the right expectations about

the job at hand?

SS 15% 3 10.3.1-22

Have staffs received necessary training? SS 30% 2 10.3.1-24

Technical issue risk Are specific methods used for software

analysis?

TI 25% 2 10.3.1-25

Are tools used to create software prototypes? TI 45% 2 10.3.1-26

Are software tools used to support the testing

process?

TI 30% 3 10.3.1-27

Technology risks Is the technology to be built new to your

company?

TE 55% 3 10.3.1-28

Do the customer requirements demand the

creation of new algorithms, input or output

technology?

TE 20% 3 10.3.1-29

Additional Risks Category Probability Impact RMMM

Effort is greater than estimated (per line of

code, function point, module, etc.)

AD 40% 2 10.3.1-30

Budget cuts upset project plans AD 30% 2 10.3.1-31

Planning is too poor to support the desired

development speed

AD 20% 3 10.3.1-32

Facilities are crowded, noisy, or disruptive AD 10% 3 10.3.1-33

Are local experts available to answer questions

about the tools

AD 35% 3 10.3.1-34

Customer insists on new requirements AD 15% 2 10.3.1-34

Does the customer have a solid idea of what is

required

AD 50% 2 10.3.1-35

Final Project University Information Portal (UIP)

Federal Urdu University 45

Additional requirements are added AD 40% 2 10.3.1-36

Effect of this product on company revenue AD 10% 1 10.3.1-37

Visibility of this product to senior

management

AD 20% 2 10.3.1-38

Team members do not work together

efficiently

AD 15% 2 10.3.1-39

Problem team members are not removed from

the team, damaging overall team motivation

AD 15% 2 10.3.1-40

Personnel work slower than expected AD 10% 2 10.3.1-41

Table 10.3: RMMM Table

Category

PS - Product size risks BU - Business risks

DE - Development Environment risks PI - Process issue risks

SS - Staff size and experience TI - Technical issue risks

TE - Technology risks AD - Additional Risks

Impact

1-Catastrophic 2-Critical 3-Marginal 4-Negligible

Probability is the chance of the risk occurring. Impact is the effect of the risk occurring.

10.4 RMMM Solution

Reference Risk Name Solution

Product Size Risk

10.3.1-1 Degree of confidence in estimated

size estimate?

Project planner must understand

the scope of the software to be

built and generate a proper

estimate of its size.

The planner must estimate the

number and types (e.g. reuse,

adding code, changing code, and

deleting code) of modifications

that must be accomplished.

10.3.1-2 Estimated size of the product in

LOC or FP?

The planner has properly

estimated the size of the product

Final Project University Information Portal (UIP)

Federal Urdu University 46

to be built.

The ability to translate size

estimate into human effort and

calendar time

10.3.1-3 Number of users of the product? No restriction for numbers of user

of the product.

The market value of the product

should be increased.

10.3.1-4 Estimated size of product in

number of programs, files,

transactions?

To solve this we must follow the

testing at each level.

We have to make algorithm firstly

and also do prototyping to ensure

about no of programs.

Business Risk

10.3.1-5 Reasonableness of delivery

deadlines?

Before starting the project

analyzes all aspect that deadline

occur easily.

Plan better strategy and review the

whole work in daily bases.

10.3.1-6 Costs associated with late delivery? Every team members will not

connected to any other projects.

Do proper scheduling so the

delivery date cannot be exceeded.

10.3.1-7 Costs associated with a defective

product?

Testing product in each phase,

before delivery test the product.

Before delivering, test the

products and remove all the errors

so that no defect should occur.

Final Project University Information Portal (UIP)

Federal Urdu University 47

Development Risk

10.3.1-8 Is a software project management

tool available?

Experience and Trained Team

Selection.

The project team has experience

with the technology to be

implemented.

10.3.1-9 Is a software process management

tool available?

Every team members must have

the tools awareness.

Software team has the right mix

of skills.

10.3.1-10 Are tools for analysis and design

available?

Analyze what you need then hire

the project.

Arrange all the tools before

starting the analysis phase.

10.3.1-11 Are testing tools available and

appropriate for the product to be

built?

Hire the Outer team for inspection

or test the product.

The testing tools are according to

the product to be built and for this

the project domain is accurate.

10.3.1-12 Have members of the project teams

received training in each of the

tools?

Every team member must have

the tool awareness.

The number of people on the

project team must be adequate to

do the job.

10.3.1-13 Is the software process used for

other projects?

Selecting Process Model on the

Past project Experience.

Decide the process model

according to project duration.

Process issue risk

10.3.1-14 Are formal technical reviews of the

requirements specification, design,

and code conducted regularly?

Formal Technical Review

conducted regularly thought the

project. All issues are recorded

Final Project University Information Portal (UIP)

Federal Urdu University 48

and tracked.

Formal technical methods are

applied to uncover the errors in

the design.

10.3.1-15 Are formal technical reviews of test

procedures and test cases conducted

regularly?

Formal Technical Review for test

procedures is conducted.

Reviews are taken on daily basis.

10.3.1-16 Are the results of each formal

technical review documented,

including defects found and

resources used?

Each formal technical review

documented including defects

found and resources used.

Staff Size and Experienced

10.3.1-17 Are the best people available? Required more Trained &

experienced Peoples on Tools.

Conduct interviews before

selecting the team members.

10.3.1-18 Do the people have the right

combination of skills?

People with different skills make

good combination.

The team that is chosen has the

experience in different fields of

software engineering.

10.3.1-19 Are enough people available? According to the project enough

people is available.

Assign a backup staff member for

every critical problem.

10.3.1-20 Is staff committed for entire

duration of the project?

All team members work

according to the project planning.

Organize project team so that they

work effectively.

10.3.1-21 Will some staff be working only

part time on this project?

Every team members will not

Final Project University Information Portal (UIP)

Federal Urdu University 49

connected to any other projects.

The part time workers are not

allowed in doing the project.

10.3.1-22 Does staff have the right

expectations about the job at hand?

Staffs have right expectations

about the job; clear the

responsibilities about the job.

Meet with staff and conduct

reviews of all work and give them

motivation about their job.

10.3.1-23 Have staffs received necessary

training?

Every team members must have

the tools awareness.

Conduct 2 to 3 months training if

required necessary.

Technical issue risk

10.3.1-24 Are specific methods used for

software analysis?

Used method for analysis is

appropriate

For better analyzing conduct

interviews and meeting with the

customer and analyze his need.

10.3.1-25 Are tools used to create software

prototypes?

Multiples tools used to create

good looking prototypes.

10.3.1-26 Are software tools used to support

the testing process?

Testing tools are not available,

test by manually.

We must arrange these before

starting the testing phase.

Technology risks

10.3.1-27 Is the technology to be built new to

your company?

Using technology is not new.

If the technology used is new then

Final Project University Information Portal (UIP)

Federal Urdu University 50

trained the staff.

10.3.1-28 Do the customer requirements

demand the creation of new

algorithms, input or output

technology?

Customer doesn’t require any

algorithm and either input or

output.

Communicate with the customer

in a timely manner so that he is

fully involved in the definition of

requirement.

Additional Risks

10.3.1-29 Effort is greater than estimated (per

line of code, function point,

module, etc.)

If Effort is greater then estimated

then required increase HR.

Increase the working days by

including holidays to reach the

estimate.

10.3.1-30 Budget cuts upset project plans Analyze the budget before starting

the project.

If project requirements are stable

than budget can not be increase.

10.3.1-31 Planning is too poor to support the

desired development speed

Members are fully involved in the

project and work according to the

plan.

Experience person must plan the

project because if the project

schedule slips the cost will

increase.

10.3.1-32 Facilities are crowded, noisy, or

disruptive

Environment is well maintained,

crowded environment effect the

project.

Interpersonal relationship among

team members is also good.

10.3.1-33 Are local experts available to

answer questions about the tools

Local Expert must available.

Final Project University Information Portal (UIP)

Federal Urdu University 51

We have to make help by local

experts.

10.3.1-34 Customer insists on new

requirements

Requirement are analyzed and

signed by customer before start

the project.

Every document must be sign off

by the customer so that he is

satisfy with the development of

the project.

10.3.1-35 Does the customer have a solid idea

of what is required

Customer has some idea what is

required.

Communicate with the customer

in a timely manner so that he is

fully involved in the definition of

requirement.

10.3.1-36 Additional requirements are added To fulfill the customer needs the

team members must communicate

with the customer in a timely

manner.

Satisfy the end user with the

product so that no additional

requirements are needed.

10.3.1-37 Effect of this product on company

revenue

Company revenue is partially

increased.

The return of investment for

project can give better effect to

company revenue.

10.3.1-38 Visibility of this product to senior

management

It is the responsibility of the

project manager to involve the

senior management in the whole

progress.

Senior management’s support and

involvement is must in the

Final Project University Information Portal (UIP)

Federal Urdu University 52

product success.

10.3.1-39 Team members do not work

together efficiently

All team members will

communicate with each other

after the completion of each

function

Interpersonal relationship among

team members is also good.

10.3.1-40 Problem team members are not

removed from the team, damaging

overall team motivation

Discussion, analyze the problem

and motivation is required to

solve the problem.

The team leader has the ability to

solve the problem of the team

members.

10.3.1-41 Personnel work slower than

expected

Establish methods to monitor and

control work defined by plan.

Give instructions and check the

progress on daily basis.

Table 10.3b: RMMM Solution/Alternatives

Final Project University Information Portal (UIP)

Federal Urdu University 53

10.5 Overview of Risk Monitoring, Mitigation, Management

Risk mitigation, monitoring, and management help us pre-determine any possible major risks

that may occur during development of this software. The Requirements Specification and the

System Specification will be reviewed and analyzed to determine the major risks of

developing this software. Each major risk found will be further analyzed to determine its

overall impact upon the system. These risks will be recorded and a method will be devised to

determine the best course of action if the risk should occur. Certain risks will have

preventative measures devised for them. This is to reduce the possibility of more severe risks

from occurring. All risks that could occur will have a specified method to handle the risk.

This is to ensure that if a risk does occur, there is predetermined path to follow when

attempting to manage the risk.

T8 Design Prototype Screen

T9 Design Algorithm/Pseudo Code

T10 Design Data Flow Diagram (DFD)

T11 Design ERD

T12 Programming

T13 Testing

T14 Design Guide & User manual

T1 Meeting with Relevant Person

T2 Decide time for data collection

T3 Design questions for interview

T4 Develop Prototype Model

T5 Design feasibility Analysis

T6 Project Costing

T7 Managed Risk

Final Project University Information Portal (UIP)

Federal Urdu University 54

10.6 PERT According to Expected Time

PERT is a network analysis technique used to estimate project duration when there is a high

degree of uncertainty about the individual activity duration estimates.

Activity/Task Optimistic

(a)

Most likely

(m)

Pessimistic

(b)

Expected time

te T1 12 11 12 10

T2 2 2 2 2

T3 5 5 6 5.11

T4 28 27 29 27.50

T5 8 8 8 8

T6 10 9 11 9.5

T7 9 8 10 8.5

T8 15 15 15 15

T9 2 2 3 2.16

T10 2 2 2 2

T11 2 2 2 2

T12 30 27 30 28

T13 15 14 16 14.50

T14 10 8 10 8.66

Table 10.6a: RMMM Expected Time Calculation

PERT uses probabilistic time estimates:

Duration estimates based on using optimistic, most likely, and pessimistic

estimates of activity durations, or a three-point estimate.

Formula to calculate the expecting time

PERT weighted average = optimistic time + 4X most likely time + pessimistic time

6

te= a + 4m + b

6

Final Project University Information Portal (UIP)

Federal Urdu University 55

Calculations – Expected Time

For T1: For T2:

te =12+(4*11)+12/6 te =2+(4*2)+2/6

te =11.33 te = 2

For T3: For T4:

te =5+(5*4)+6/6 te =28+(27*4)+29/6

te =5.11 te =27.50

For T5: For T6:

te =8+(4*8)+8/6 te =10+(9*4)+11/6

te =8 te =9.5

For T7: For T8:

te =9+(8*4)+10/6 te =15+(15*4)+15/6

te =8.5 te =5.33

For T9: For T10:

te =2+(2*4)+3/6 te =2+(2*2)+2/6

te =2.16 te =2

For T11: For T12:

te =2+(2*2)+2/6 te =30+(4*27)+30/6

te =2 te =28

Final Project University Information Portal (UIP)

Federal Urdu University 56

For T13: For T14:

te =15+(14*4)+16/6 te =10+(4*8)+10/6

te =14.50 te =8.66

Formula to calculate the Standard Deviation

PERT weighted average = pessimistic time - optimistic time => b – a / 6

6

Denoted by capital S

Calculations – Standard deviation

For T1: For T2:

S = b – a / 6 S = b – a / 6

S = 12 – 12 / 6 S = 2 – 2 / 6

S= 0 S= 0

For T3: For T4:

S = b – a / 6 S = b –a / 6

S = 6– 5 / 6 S = 29 – 28 / 6

S= 0.16 S= 0.16

For T5: For T6:

S = b – a / 6 S = b – a / 6

S = 8 – 8 / 6 S = 10 – 9 / 6

S= 0 S= 0.16

For T7: For T8:

S = b – a / 6 S = b – a / 6

S = 10 – 9 / 6 S = 15 – 15 / 6

S= 0.16 S= 0

Final Project University Information Portal (UIP)

Federal Urdu University 57

For T9: For T10:

S = b – a / 6 S = b –a / 6

S = 3 – 2 / 6 S = 2 – 2 / 6

S= 0.16 S= 0

For T11: For T12:

S = b – a / 6 S = b – a / 6

S = 2 – 2 / 6 S = 30 – 30 / 6

S= 0 S= 0.16

For T13: For T14:

S = b – a / 6 S = b – a / 6

S = 16 – 15 / 6 S =10 – 10 / 6

S= 0.16 S= 0

Activity/Task Optimistic

(a)

Most likely

(m)

Pessimistic

(b)

Standard deviation

S = b – a / 6 T1 12 11 12 0

T2 2 2 2 0

T3 5 5 6 0.16

T4 28 27 29 0.16

T5 8 8 8 0

T6 10 9 11 01.6

T7 9 8 10 01.6

T8 15 15 15 0

T9 2 2 3 01.6

T10 2 2 2 0

T11 2 2 2 0

T12 30 27 30 01.6

T13 15 14 16 01.6

T14 10 8 10 0

Table 10.6b: RMMM Standard deviation Calculation

Final Project University Information Portal (UIP)

Federal Urdu University 58

10.7 PERT CHART (According to Expected time)

Diagram 10.7: PERT (Accepted Time)

Critical Path = 15 + 2 + 28 + 14 + 8 = 67 days

Critical Time = 67 days

Critical Activities = Critical activities are those that lies in Critical path. In our project

there are 5 critical activities that are T8, T9, T12, T13, and T14

Final Project University Information Portal (UIP)

Federal Urdu University 59

11. Technologies

The Team analysed a wide variety of possible technologies that could be used to effectively

produce our Portal. As mentioned earlier, regarding our on-line interviews, the group questioned

several webmasters on their existing portals to get an understanding of what the web master

used, why and how they found using them.

In the following section, we will list all technologies, which the team researched, and the

technologies that eventually were decided upon.

Web Servers

A Web Server is software application that uses the HyperText Transfer Protocol (HTTP). A Web

Server is usually run on a computer that is connected to the Internet. There are many Web Server

software applications, including public domain software from Apache, and commercial

applications from Microsoft, Oracle, Netscape and others. A Web Server may host or provide

access to content and responds to requests received from Web browsers. Every Web Server has

an IP address and usually a domain name, e.g. www.example.ie.

At the most basic level possible, the following diagram shows the steps that brought a web page

to your screen:

Figure 11.1: How a web page is returned to your screen

Final Project University Information Portal (UIP)

Federal Urdu University 60

Although in a recent survey achieved by www.netcraft.com Oracle seems to be the leading web

server on the Internet at this time or most used as shown below.

Figure 11.2: Market Share for Top Servers Across All Domains August 1995 - April 2004

Top Developers

Developer March 2004 Percent April 2004 Percent Change

Apache 32280582 67.20 33329879 66.99 -0.21

Microsoft 10099760 21.02 10691683 21.49 0.47

SunONE 1651575 3.44 1661229 3.34 -0.10

Zeus 762716 1.59 763302 1.53 -0.06

Table 11.1: Developers Technology

This has been the case for some time now. However, we looked into the most suitable web server

to support our portal service. The following is a list of the Web Servers currently being adopted

worldwide.

Final Project University Information Portal (UIP)

Federal Urdu University 61

Microsoft IIS

IIS (Internet Information Server) is a group of Internet servers (including a Web or HyperText

Transfer Protocol server and a File Transfer Protocol (FTP) server with additional capabilities

for Microsoft's Windows NT and Windows Server operating systems. IIS is Microsoft's entry to

compete in the Internet server market that is also addressed by Apache, Sun Microsystems,

O'Reilly, and others. With IIS, Microsoft includes a set of programs for building and

administering Web sites, a search engine, and support for writing Web-based applications that

access databases. Microsoft points out that IIS is tightly integrated with the Windows NT and

2000 Servers in a number of ways, resulting in faster Web page serving.

Advantages

Good for people who like to use Microsoft products

Free with Windows Server

Supports ASP, ASP.NET, CGI, Python, PHP

Has Microsoft money to keep market share

Disadvantages

Only runs on Windows 2000, XP

Most frequent criticism: stability and security

If 3rd

party code fails, then you’re done

Moves a lot of web server kernel, which increases the chance the OS will fail

Smaller community for support compared to Apache

Continued to be targeted for viruses and worms

Have to pay for administrators to keep up with patches

Every developer needs a copy of IIS to test things properly

Have to upload test server and surf site

Security holes make users scared

Final Project University Information Portal (UIP)

Federal Urdu University 62

Apache Tomcat

Apache is know throughout the world for its stability, speed and downloadable free from the

web. Apache is continually improving. This open sourced software allows vendors to modify and

add functions to the source code, repackaging and selling the source code with their own

applications. Although this can be problematic for companies which would like to reduce the

cost of ownership and also the cost impact on the developers in the company who must stay

current with these updates.

Feature rich Apache is ideal however, for low-volume applications that do not require enterprise

performance or for situations when community based support is sufficient for the needs of the

project.

Advantages of Apache

Extensible - Apache server and API source code are open to public. If there is any feature

that you want but does not exist in Apache, you can write your own server module to

implement it.

Efficient - A lot of effort has been put into optimising the Apache's C code for

performance. As a result, it runs faster and consumes less systems resources than many

other servers.

Portability -Apache runs on a wide variety of operating systems, including all variants of

UNIX, Windows 9x/NT, Mac OS (on PowerPC), and various others.

Stability/Reliability - Apache's source code is open to public. When any bugs are found,

they are often quickly communicated, and rapidly fixed. Updates are made and

announced thereafter. This has resulted in Apache becoming more and more stable, and

hence reliable, server over the time.

Final Project University Information Portal (UIP)

Federal Urdu University 63

Disadvantages of Apache

Tomcat presents the following commonly regarded disadvantages:

Product Support - Open-source products lack a formal organization structured to provide the

following:

24x7 Phone Support - No live around-the-clock phone support.

Internet-based e-Support - Web-based self-help resources, coupled with processes

allowing users to log support cases when issue cannot be resolved with self-help.

Product Documentation - Open-source product documentation often is not as well

organized, thorough, or up-to-date as the product documentation from commercial

vendors.

Maintenance - Individual team dedicated to quickly generating software patches

when necessary.

Training - There are relatively few training resources available to help educate

developers new to the Tomcat environment. Developers are forced to learn best

practices through trial and error - an inefficient and oftentimes frustrating process.

Apache V Microsoft IIS

It is the most secure, reliable, and scalable platform for web-enabled enterprises, far ahead of

Microsoft's competing offering named IIS (for Internet Information Server). With the latest

round of major security flaws impacting Microsoft platforms, many organizations are re-

evaluating whether they can afford to risk their business on Microsoft products like IIS.

The nature of Open Source software provides a major advantage to Apache over IIS: namely that

Open Source software is developed to fit users needs, while packaged software is created to fit

market segments, and product categories. With Apache, you can install it, configure it, and use it.

Final Project University Information Portal (UIP)

Federal Urdu University 64

Should you find out later that there is a better solution for your needs, you are not stuck with

unused licenses, or add-on product fees.

Apache is more secure (less vulnerable to hackers), more reliable (runs non-stop for months

without crashing), more scalable (powers the Amazon.com website), and it is FREE (you can

download it free at the Apache Tomcat website).

Security

MD5

The MD5 algorithm takes as an input a message of arbitrary length and produces as an output a

128-bit "fingerprint" or "message digest" of the input. It is said that it is computationally

infeasible to produce two messages having the same message digest, or to produce any message

having a given pre-specified target message digest. The MD5 algorithm is intended for digital

signature applications, where a large file must be "compressed" in a secure manner before being

encrypted with a private (secret) key under a public-key cryptosystem such as RSA.

In essence, MD5 is a way to verify data integrity, and is much more reliable than checksum and

many other commonly used methods. The MD5 algorithm is designed to be quite fast on 32-bit

machines. In addition, the MD5 algorithm does not require any large substitution tables; the

algorithm can be coded quite compactly.

SSL

SSL (Secure Sockets Layer) is a security technology that is commonly used to secure server to

browser transactions. This generally includes the securing of any information passed by a

browser (such as a customer's credit card number or password) to a web server (such as an online

store). SSL protects data submitted over the Internet from being intercepted and viewed by

unintended recipients.

Whenever a browser connects to a webserver (website) over https:// - this signifies that the

communication will be encrypted and secure. In order to get SSL for the website we will need an

SSL Certificate. Your SSL Certificate is installed onto the webserver and allows the team to

Final Project University Information Portal (UIP)

Federal Urdu University 65

access the security functionality of the webserver and ultimately let your customers know that

your site is secure.

Digital certificates encrypt the data using Secure Sockets Layer (SSL) technology, the industry-

standard method for protecting web communications developed by Netscape Communications

Corporation. The SSL security protocol provides data encryption, server authentication, message

integrity, and optional client authentication for a TCP/IP connection. Because SSL is built into

all major browsers and web servers, simply installing a digital certificate turns on their SSL

capabilities.

SSL comes in two strengths, 40-bit and 128-bit, which refer to the length of the "session key"

generated by every encrypted transaction. The longer the key, the more difficult it is to break the

encryption code. Global companies that require international transactions over the web can use

global server certificates program to offer strong encryption to their customers.

Cookies

Cookies make use of user-specific information transmitted by the Web server onto the user's

computer so that the information can be available for later access by itself or by other servers.

Generally, not only does the storage of personal information into a cookie go unnoticed but does

access to it.

Web servers automatically gain access to cookies whenever the user establishes a connection to

them; this is usually in the form of web requests. Cookies are based on a two-stage process. First

the cookie is stored in the user's computer without their knowledge. For example, with

customisable Web search engines like My Yahoo, a user selects categories of interest from the

Web page, the server then creates a specific cookie, which is essentially a tagged string of text

containing the user's preferences, and it transmits this cookie to the user's computer. The user's

Web browser, if cookie enabled, receives the cookie and stores it in a special file called a cookie

list. This happens without any notification or user consent. As a result, personal information (in

this case the user's category preferences) is formatted by the Web server, transmitted, and saved

by the user's computer.

Final Project University Information Portal (UIP)

Federal Urdu University 66

During the second stage, the cookie is automatically transferred from the user's machine to a

Web server. Whenever a user directs her Web browser to display a certain Web page from the

server, the browser will without the user's knowledge, transmit the cookie containing personal

information to the Web server.

Breakdown of Cookie Parameters

In fact, a cookie has 6 parameters that can be passed to it:

1. The name of the cookie,

2. The value of the cookie,

3. The expiration date of the cookie,

4. The path the cookie is valid for,

5. The domain the cookie is valid for,

6. The need for a secure connection to exist to use the cookie.

Two of these are mandatory (its name and its value). The other four can be set manually or

automatically. A semicolon when set explicitly separates each parameter.

Web Site Development

A Web Service refers to an architecture that facilitates the interoperation of software through

common protocols. Examples of web services are XML, SOAP, UDDI, WSDL, XSLT,

XHTML, etc.

CSS

Cascading stylesheets (CSS) are a new-ish technology that has greatly helped current Web

developers to control layout,resulting in pages becoming smaller, faster and easy to maintain

many pages at once.

Stylesheets give control over how words, characters and lines can be spaced relative to one

another. Stylesheet are a tool for calling fonts by name, controlling text size, specifying all

manner of bolds and italics, and adding special effects. CSS properties give you power over the

Final Project University Information Portal (UIP)

Federal Urdu University 67

space between words and letters, the leading between lines of text, the alignment of text, margins

and padding, borders, and floating elements.

Why should I use CSS?

Web pages should separate content from appearance. As a developer this means that the

information in your web site should go into your HTML files, but HTML files should not contain

information about how that information is displayed.

To put CSS into perspective we will have to consider the way in which traditional HTML pages

were ―hard coded‖ together. Now lets say that you had to change the properties of a page, for

every heading, in every page, set the font size and face properties. You have more than 100

pages to change. That’s a lot of editing time and working time wasted. With CSS, you can decide

how headings should appear, and enter that information once.

Adobe Dreamweaver CS3

Dreamweaver CS3 is a sleek, well-rounded tool that covers all aspects of professional Web

design and Web application development. Dreamweaver CS3 is set up to handle everything —

blogs, shopping carts, surveys, message boards, .NET applications, media sites, and just about

anything involving mark-up languages.

Sleek interface

Support for most operating systems, including Mac OS X

Dockable panels improve workspace management

Support for almost all major programming languages

Integration with other MX applications

Built-in FTP and content management

Application development tools are stellar

Support for DTD and accessibility standards

Extendable with Macromedia Exchange

Final Project University Information Portal (UIP)

Federal Urdu University 68

Frontpage

FrontPage is a software program from Microsoft that can be used to create HTML documents,

which are used in Website development. FrontPage uses WYSIWYG, what you see is what you

get, technology to allow editors to see the actual document that they are creating. HTML has

become somewhat superseded by today’

Dreamweaver MX V Frontpage

FrontPage has clunky site management and requires an NT server to use some of its best

features. The biggest reason Dreamweaver has been one of the best visual editors on the market

for several years are simple: usability.

FrontPage is said to be something of a security disaster on anything but NT servers and on non-

NT boxes involves the work of setting up server extensions. Dreamweaver will not touch any

code after it is changed, FrontPage, Netscape Composer and others will. When you need to edit

HTML graphically, Dreamweaver proves much better than FrontPage because it visually shows

you where your HTML errors are without modifying your code.

Scripting Language

JSP

Java Server Pages (JSP) technology provides a simplified, fast way to create dynamic web

content. JSP technology enables rapid development of web-based applications that are server and

platform independent. JSP technology separates the user interface from content generation,

enabling designers to change the overall page layout without altering the underlying dynamic

content.

JSP pages are dynamically assembled into Servlets, which are simply Java classes. This means

JSP supports the same modularity, reusability, platform-independence, and access to Java APIs

that Java programming supports. The benefits of using JSP are well documented and include:

1. Write Once, Run Anywhere properties

Final Project University Information Portal (UIP)

Federal Urdu University 69

2. High quality tool support

3. Separation of roles

4. Reuse of components and tag libraries

5. Separation of dynamic and static content

6. Support for actions, expressions and scripts

ASP

ASPs are server-generated pages, which can call other programs to do things like access

databases, serve different pages to different. ASP is almost as efficient as writing code directly to

the server's application program interface, and it's a lot more efficient than CGI because it runs as

a service and can take advantage of multithreaded architectures.

Here's the official word from the Microsoft site: "Active Server Pages is an open, compile-free

application environment in which you can combine HTML, scripts, and reusable ActiveX server

components to create dynamic and powerful Web-based business solutions. Active Server Pages

enables server-side scripting for IIS with native support for both VBScript and Jscript."

PHP

PHP (Hypertext Pre-processor) is an open source scripting language, which is embedded in

HTML. Both Web Servers described previously, Apache and Microsoft’s IIS, support PHP. The

development of PHP has been influenced by a number of other languages such as Perl, C, Java,

and even to some extend ASP (Active Server Pages).

The goal of PHP is to allow Web developers to write dynamically generated pages quickly. One

of the advantages of PHP is its extensibility and a number of extension modules have been

provided to support such things as database connectivity, mail and XML.

Final Project University Information Portal (UIP)

Federal Urdu University 70

Table 11.2: Table of Scripting Languages

_ PHP ASP JSP Cold

Fusion

General PHP

Hypertext

Pre-processor

Active Server

Pages

Java Server Pages Cold

Fusion

Supported

language(s)

Own script

language

JScript, VBScript

or

25 different

Java CFML

Specifications Runs on

almost any

platform

Web-server

extension (IIS)

No platform

restrictions

Functionality Functionality

by modules

Modularly built of

COM-objects

Reusable

components and

tags

Security Complex

code ->

complex

security;

open source

Complex code ->

complex security;

no open source

Complex code ->

complex security;

open source

Performance Interpreted

language

Precompiled

code(?)

Compiled to

Servlets in bytecode

(interpreted)

Database

connectivity

MySQL-

drivers

included

ActiveX data

objects(ADO)

by "JDBC" (MSQL,

Oracle, Sybase)

Miscellaneous caching

possible, etc.

configureable

caching, etc.

Caching compiled

servlets, etc.

Misc.

Final Project University Information Portal (UIP)

Federal Urdu University 71

JSP V ASP

JSP and ASP do have some basic concepts in common. They both make use of simple sever-side

scripting to provide access to Web server information and functionality. They both do so using

object oriented scripting. And they both started out with similar styles of delimiting this scripting

from a page's content.

While ASP gives you an efficient way to return dynamic content, it essentially limits you to

Microsoft platforms, and even the simplest of scripting mistakes can cause the server to crash or

hang, effectively bringing down your website.

JSP has an advantage over ASP in three key areas:

1. Extensibility: although both technologies are a combination of scripting and tagging to

create dynamic Web pages, JSP allows developers to extend these tags. This extension of

tags allows developers to create tag libraries, which can be used, by other developers,

thus simplifying the development process and reducing development timescales.

2. Reusability: JSP components are reusable across many platforms.

3. Security & Reliability: JSP has the added advantage of benefiting from in-built Java

security model and the inherent java type safety, making JSP potentially more reliable.

XML

Advantages of XML

1. Data reliability - single source- multiple output

2. Targeted retrieval documents authored by, not about

3. Flexibility

4. Accessibility

5. Portability

XML and HTML

HTML tells you how the data should look, but the XML tells you what it means XML applies

context to the data and separates data content from data presentation XML provides a

hierarchical structure.

Final Project University Information Portal (UIP)

Federal Urdu University 72

SOAP

SOAP (Simple Object Access Protocol) is a simple XML based protocol to let applications

exchange information over HTTP. SOAP is a communications protocol, which allows for a

defined format in sending messages between applications via the Internet. This protocol is

platform and language independent which is based around XML.

RSS

RSS is an XML-based format known as Rich Site Summary. This is used as a means of

circulating headlines and links to new stories on other sites. RSS is a way of sharing data

between different web sites. Under the RSS model, each site publishes a file describing the

contents of its "channel." Other sites can subscribe to that channel and grab its contents. The RSS

file could be converted to HTML and displayed directly on a subscriber site, or it might be edited

first to select only those items that are appropriate for the site's audience. The nice thing about

RSS is that once you've built the system to subscribe to one RSS channel, you can subscribe to

thousands of them.

Database Server

MySQL

The main advantage of MySQL is the fact that it is free and available at www.mysql.com. The

college have also provided MySQL, giving us another option. The download is relatively small

(13 MB), and installation is very straightforward. The JDBC driver for MySQL can be

downloaded separately from the website but installation is a little more tricky.

The main features of MYSQL are:

1. Portability

2. Many Column types

3. Full support for SQL statements

4. Security

5. Connectivity

Final Project University Information Portal (UIP)

Federal Urdu University 73

Oracle 8i Database

Oracle8i is the only database specifically designed as an Internet development and deployment

platform, extending Oracle's long-standing technology leadership in the areas of data

management, transaction processing and data warehousing to the new medium of the Internet.

Oracle 8i - with "i" standing for the Internet- database. These Internet features help companies

and developers build Internet applications that lower costs, enhance customer and supplier

interaction, and provide global information access across platforms and across the enterprise.

Oracle 8i introduces multiple new features that extend the power, performance, and flexibility of

PL/SQL. It also locates bottlenecks. Oracle supports all major UNIX platforms, including

Linux, Microsoft operating systems and a variety of other systems.

Microsoft Access

This is the most widely used relational DBMS for Microsoft windows environment. It is a typical

PC-based DBMS capable of storing, sorting, and retrieving data for a variety of applications. It

provides a GUI to create tables, queries, forms and reports, and tools to develop customized

database applications using the Microsoft Access macro language or visual basic for applications

(VBA) language. Access provides a wizard to simplify many of the processes of building a

database application by taking the user through a series of question-and-answer dialog boxes. It

also provides builders to help the user build syntactically correct expressions, such as those

required in SQL statements and macros. Access supports much of the SQL standards and

Microsoft Open Database Connectivity (ODBC) standard.

MySQL V Oracle

The comparison doesn’t make for good reading. Oracle is a superior database but we had to base

our selection around what would suit our needs for implementing the portal. As stated above,

MySQL is at hand for our use. We had tried to download an Oracle application, which would

have taken up to a day to complete. The college library had an older version but when

downloaded on home PCs problems arose.

Final Project University Information Portal (UIP)

Federal Urdu University 74

On completion of our database, we will have to consider converting certain areas of our database

from MySQL to Oracle. We will undertake this as a means of mimicking a real world set-up

where generally different areas of a system may be running on different data storage facilities.

MySQL V Access

Microsoft Access is a low capacity database system. It is designed to efficiently manage

relatively small numbers of database records. Microsoft Access 2000 has a 2-gigabyte file sise

limit for an entire database (MDB file). Although you may be able to append hundreds of

thousands of records into MS Access database tables, performance will noticeably began to

decrease when you reach a volume of approximately 25,000 records. Performance will decrease

even further as you add more records and/or additional concurrent users.

Microsoft Access runs best as a singer-user system or a small multi-user system. Although, there

are claims that 50 or more users can use Microsoft Access concurrently with no problems, this is

not always recommended. This has proved to be the major hurdle that Access cannot address for

our needs. The College Portal will have a considerable amount of people accessing it, which

MySQL can handle.

Final Project University Information Portal (UIP)

Federal Urdu University 109

Phase # 3

Implementation

19. Implementation

19.1 Connecting to Database

<?php

$server="localhost";

$user="root";

$pass="";

$database = "uip";

$ser=mysql_connect($server, $user, $pass) or die (mysql_error());

$db=mysql_select_db($database,$ser) or die ("error :" . mysql_error());

?>

19.2 Create Session

<?php

session_start();

if(!isset($_SESSION['AUSER_ID']) || $_SESSION['AUSER_ID']<=0 ||

!isset($_SESSION['ALOGIN']) || $_SESSION['ALOGIN']=="false"){

unset($_SESSION['AUSER_ID']);

unset($_SESSION['ALOGIN']);

echo "<script>location.href='login.php';</script>";

}

$select_user = "Select * from users where usrId =

'".$_SESSION['AUSER_ID']."'";

$selUser = mysql_query($select_user);

$feUser = mysql_fetch_array($selUser);

?>

Final Project University Information Portal (UIP)

Federal Urdu University 110

19.3 Register User

<?php

include("include/config.php");

$eno=$_POST["usrRegNo"];

$pass=$_POST["usrPwd"];

$fname=$_POST["usrFName"];

$lname=$_POST["usrLName"];

$add1=$_POST["usrAddress1"];

$add2=$_POST["usrAddress2"];

$usrEmail = $_POST["usrEmail"];

$batch=$_POST["Batch"];

$semester=$_POST["semester"];

$shift=$_POST["shift"];

$city=$_POST["usrCity"];

$ph=$_POST["usrPhone"];

$mobile=$_POST["usrMobile"];

$currentdate=$_POST["usrCDate"];

$img=$_FILES["img"]["name"];

$ftype = explode('.',$_FILES['img']['name']);

// Check if the Enrollemnt exists

$userid = mysql_query("SELECT * FROM enrollment WHERE eid = '$eno'");

$sqlNum = mysql_num_rows($userid);

$Emuserid = mysql_query("SELECT * FROM users WHERE usrEmail =

'$usrEmail' OR usrRegNo = '$eno' ");

$EmsqlNum = mysql_num_rows($Emuserid);

// Check if the Email exists

//$usremial = mysql_query("SELECT * FROM users WHERE usrEmail =

'$usrEmail"); //

// If username exists then print error message

if ($sqlNum <= 0) {

$msg = 44;

}

else if ($EmsqlNum > 0) {

$msg = 1;

}

else {

$CDate = date("Y-m-d");

$img = strtotime("now").'.'.$ftype[1];

Final Project University Information Portal (UIP)

Federal Urdu University 111

move_uploaded_file($_FILES['img']['tmp_name'], "images/users/". $img);

$in = "INSERT INTO users

(usrRegNo,usrPwd,usrEmail,usrPosition,usrTitle,usrFName,usrLName,usrAddres

s1,

usrAddress2,Batch,semester,shift,usrCity,usrPhone,usrMobile,usrStatus,

usrType,usrCDate,img)

VALUES

('$eno','$pass','$usrEmail','Student','Student','$fname','$lname','$add1',

'$add2','$batch','$semester','$shift','$city','$ph','$mobile','I','S','$CDate','$img')";

mysql_query($in);

$msg = 0;

}

?>

19.4 Login User

<?php

session_start();

include("include/config.php");

$uid = $_POST['uid'];

$upwd = $_POST['upwd'];

if(!empty($_POST['uid']) && !empty($_POST['upwd'])){

$select = "Select * from users where usrRegNo = '$uid' AND usrPwd =

'$upwd' AND usrStatus='A' || usrStatus='T' AND usrType='S'";

$exe = mysql_query($select);

if(mysql_num_rows($exe)>0){

$select = "Select * from users where usrRegNo = '$uid' AND

usrPwd = '$upwd' ";

$exe_a = mysql_query($select);

$fetch = mysql_fetch_array($exe_a);

$_SESSION['USER_ID'] = $fetch['usrId'];

$_SESSION['LOGIN'] = "true";

$msg = 0;

header('location:home.php');

}

else{

$msg = 1;

header('location:login.php?msg='.$msg);

}

}

else {

$msg = 2;

Final Project University Information Portal (UIP)

Federal Urdu University 112

header('location:login.php?msg='.$msg);

}

//echo "<script>location.href='';</ script>";

?>

19.5 Forget password

<?php

include("include/config.php");

if(!empty($_POST['usrEmail'])){

$sql = "select * from `users` where `usrEmail` = '$_POST[usrEmail]'";

$result = mysql_query($sql);

$count = mysql_fetch_array($result);

if($count < 1)

{

header("Location:forgetpass.php?msg=1");

}

else

{

$emailid = $count['usrEmail'];

$usrRegNo = $count['usrRegNo'];

$pwd = $count['usrPwd'];

//$msg = "Your Account Password is ".$pwd;

$to = $emailid;

$sub = "Your UIP Account Information (www.alijaffri.com)";

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= 'From: UIP Admin <[email protected]>' . "\r\n";

$message = '<HTML><BODY>';

$message .= '<br><b>Login Information of UIP :</b><br><br>';

$message .= '<b>Your Email is = </b>'.$emailid.' ';

$message .= '<br><b>Your Password is = </b>'.$pwd.' ';

$message .= '<br><b>Login www.alijaffri.com';

$message .= '<br><br>Thankyou ..';

$message .= '</BODY></HTML>' ;

mail($to,$sub,$message,$headers);

//echo $message;

?>

<script type="text/javascript">

window.alert("Now you can check your password in your e-mail account

")

Final Project University Information Portal (UIP)

Federal Urdu University 113

location.href="login.php";

</script>

<?

}

}

else{

header("Location:forgetpass.php?msg=2");

}

?>

19.6 Approve User & Send Email for Activation

<?PHP

include("../include/config.php");

include('include/incl.php');

$sid = $_GET['statusID'];

$st = $_GET['st'];

$status = "UPDATE users SET usrStatus='$st' WHERE usrId='$sid'";

mysql_query($status);

//echo $status;

$sql = "select * from `users` where `usrId`

= '$sid'";

$result = mysql_query($sql);

$count = mysql_fetch_array($result);

if($count < 1)

{

header("Location:user_history.php?msg=1");

}

else

{

$emailid =

$count['usrEmail'];

$usrRegNo =

$count['usrRegNo'];

$pwd = $count['usrPwd'];

Final Project University Information Portal (UIP)

Federal Urdu University 114

//$msg = "Your Account

Password is ".$pwd;

$to = $emailid;

$sub = "Your Request

Confirmation on UIP";

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= 'From: UIP Admin <[email protected]>' . "\r\n";

$message = '<HTML><BODY>';

$message .= '<br><b>Your Account have benn Confirmed You Can now

login:</b></b>';

$message .= '<br><b>Login Information of UIP :</b><br>';

$message .= '<b>Your Email is = </b>'.$emailid.' ';

$message .= '<b><br>Your Registration is (username) =

</b>'.$usrRegNo.' ';

$message .= '<br><b>Your Password is = </b>'.$pwd.' ';

$message .= '<br><br>Thankyou ..';

$message .= '</BODY></HTML>' ;

mail($to,$sub,$message,$headers);

//mail($_POST['usrEmail'],$headers,$message,'From:ADMIN UIP

<[email protected]>');

//echo $message;

?>

<script type="text/javascript">

window.alert("Approval Email Sent

Successfully")

location.href="user_history.php";

</script>

<?

Final Project University Information Portal (UIP)

Federal Urdu University 115

}

//header('location:user_history.php');

?>

<script>

location.href="user_history.php";

</script>

19.7 Add in Databases (Lectures addition)

<?PHP

include("include/config.php");

include("include/incl.php");

$LecId=$_POST['LecId'];

$Title=$_POST['Title'];

$Sub=$_POST['Sub'];

$Teacher=$_POST['Teacher'];

$LecDesc=$_POST['LecDesc'];

$DateAdd=$_POST['DateAdd'];

$Leclink=$_FILES["Leclink"]["name"];

$Btype = explode('.',$_FILES['Leclink']['name']);

$arr = sizeof($Btype);

if($_FILES['Leclink']['type']=='application/zip'){

$ty = 'zip';

}

else if($_FILES['Leclink']['type']=='application/octet-stream'){

if($Btype[$arr-1]=='pdf'){

$ty = 'pdf';

}

else if($Btype[$arr-1]=='chm'){

$ty = 'chm';

}

}

else if($_FILES['Leclink']['type']=='application/msword'){

$ty = 'doc';

}

else if($_FILES['Leclink']['type']=='application/vnd.ms-powerpoint'){

$ty = 'ppt';

Final Project University Information Portal (UIP)

Federal Urdu University 116

}

else if($_FILES['Leclink']['type']=='application/x-rar-compressed'){

$ty = 'rar';

}

$BookLink = strtotime("now").'.'.$Btype[$arr-1];

move_uploaded_file($_FILES['Leclink']['tmp_name'], "admin/lectures/".$Leclink

);

$result = "INSERT into lectures (Title, Sub, Teacher, LecDesc, Leclink,

DateAdd, FileType)

VALUES ('$Title', '$Sub', '$Teacher', '$LecDesc',

'$Leclink', '$DateAdd', '$ty')";

mysql_query($result);

?>

<script>

location.href="lectures.php";

</script>

19.8 Delete in Databases (News)

<?PHP

include("../include/config.php");

include('include/incl.php');

$deid = $_GET['did'];

$delete = "delete from `news` where `NewsID` = '$deid' ";

mysql_query($delete);

echo $deid;

//header('location:user_history.php');

?>

<script>

location.href="manage_news.php";

</script>

Final Project University Information Portal (UIP)

Federal Urdu University 117

19.9 USER Management Listing

<table width="769" border="0" cellpadding="0" cellspacing="0"

bgcolor="#E1E1E1">

<tr>

<td height="5" colspan="12" align="center" bgcolor="#EAEAEA"

class="bodyColor"></td>

</tr>

<?php

$i = 0;

$SEL = "SELECT * from users where usrType ='S'";

$exe = mysql_query($SEL);

while($re = mysql_fetch_array($exe)){

if($i==0){

$i = 1;

$bg = '#F4F4F4';

}

else {

$i = 0;

$bg = '#EAEAEA';

}

$count_Img = " Select * from image_gallery where ImgUserId =

'".$re['usrId']."' ";

$COuIMGexe = mysql_query($count_Img);

$IMGnum = mysql_num_rows($COuIMGexe);

$count_Vid = " Select * from videos_gallery where VideoUserId =

'".$re['usrId']."' ";

$COuVIDexe = mysql_query($count_Vid);

$VIDnum = mysql_num_rows($COuVIDexe);

?>

<tr>

<td height="20" align="center" bgcolor="<?php echo $bg;?>"

class="bodyColor">&nbsp;</td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrRegNo'];?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrFName'];?> <?php echo

$re['usrLName'];?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrCDate'];?></td>

Final Project University Information Portal (UIP)

Federal Urdu University 118

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrEmail'];?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $VIDnum;?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $IMGnum;?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="register"><?php echo $re['usrWarnings'];?></td>

<td width="34" align="center" bgcolor="<?php echo $bg;?>">

<a href="view_profile.php?vu=1&uid=<?php echo $re['usrId'];?>"

class="other">View</a></td>

<td width="34" align="center" bgcolor="<?php echo $bg;?>">

<a href="edit_user.php?edid=1&ToEd=<?php echo $re['usrId'];?>"

class="other">Edit</a></td>

<td width="41" align="center" bgcolor="<?php echo $bg;?>">

<?php

if($re['usrStatus']=='A'){

?>

<a href="status_change.php?yes=1&statusID=<?php echo

$re['usrId'];?>&st=I" class="edit">Block</a>

<?php

} else {

?>

<a href="status_change.php?yes=1&statusID=<?php echo

$re['usrId'];?>&st=A" class="edit">Active</a>

<?php

}

?> </td>

<td width="35" align="center" bgcolor="<?php echo $bg;?>">

<!-- <a href="usrdelete.php?del=1&did=<?php echo $re['usrId'];?>"

class="delete">Dlete</a></td>-->

<a href="javascript:del(<?php echo $re['usrId'];?>);"

class="delete">Dlete</a></td>

</tr>

<?php

}

?>

<td width="8" height="20" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="56" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="121" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="101" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

Final Project University Information Portal (UIP)

Federal Urdu University 119

<td width="124" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="86" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="83" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="46" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td colspan="4" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

</tr>

</table></td>

</tr>

<tr>

<td>&nbsp;</td>

<td colspan="3">&nbsp;</td>

<td>&nbsp;</td>

</tr>

</table>

</form></td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

<tr>

<td valign="top">&nbsp;</td>

</tr>

</table></td>

</tr>

<tr>

<td width="163" height="18">&nbsp;</td>

<td width="787" height="18" colspan="6">&nbsp;</td>

</tr>

<tr>

<td height="18" colspan="7">&nbsp;</td>

</tr>

<tr>

<td height="18" colspan="7"></td>

</tr>

<tr>

<td height="18" colspan="7"></td>

</tr>

<tr>

<td height="2" colspan="2" bgcolor="#990000"></td>

</tr>

Final Project University Information Portal (UIP)

Federal Urdu University 120

<tr>

<td height="5" colspan="2" align="center" class="navgation"></td>

</tr>

<tr>

<td height="10" colspan="2" align="center" class="navgation">Admin &reg;

UIP - 2010</td>

</tr>

<tr>

<td colspan="2"></td>

</tr>

</table>

19.10 Suggests Video

<?php

include("../include/config.php");

include('include/incl.php');

include('include/function.php');

$VideoCatId=$_POST['VideoCat'];

$VideoTitle=$_POST['VideoTitle'];

$VideoDescription=$_POST['VideoDescription'];

$Tags=$_POST['Tags'];

$VideoStatus=$_POST['VideoStatus'];

$VideoURL = $_POST["VideoURL"];

$VideoLink=$_FILES["VideoLink"]["name"];

$Uploadedby=$feUser['usrType'];

$VTimeDate = makeTimeStamp();

if($VideoLink!='' && $VideoLink!=' ' && !empty($VideoLink)){

move_uploaded_file($_FILES["VideoLink"]["tmp_name"],"../videos/".$V

ideoLink);

}

$sql = "Insert into videos_gallery (VideoUserId, VideoCatId, VideoTitle,

VideoDescription, Tags, Uploadedby,

VTimeDate, VideoURL, VideoLink)

values

('".$_SESSION['USER_ID']."','$VideoCatId', '$VideoTitle',

'$VideoDescription', '$Tags', '$Uploadedby',

'$VTimeDate', '$VideoURL', '$VideoLink')";

mysql_query($sql);

header('location:manage_video.php');

?>

Final Project University Information Portal (UIP)

Federal Urdu University 121

Phase # 4

Testing

20. Introduction

20.1 What and why you are testing?

Know what you hope to discover each time you test.

With all tests you want to discover whether the user:

gets the point of the page(s)

understands the navigation system

can guess where to find things.

In a general test you want to know:

how do users interact with the web site you are testing?

what is difficult for people to do?

where do they get lost?

what makes sense to them?

what makes them feel distrustful or insecure?

what do they like and what do they hate?

In a specific test you might want to know, for example:

can the user accomplish a key task?

can the user find something specific?

Final Project University Information Portal (UIP)

Federal Urdu University 122

21. Website Testing Checklist

CRITERIA Full Filed Remarks

General

Are all tests being run on “clean” machines?

Does the system do what it is intended to do?

Does it provide the correct results?

Does the system provide all the functions and

features expected?

Can the typical user run the system without

aggravation?

Is it easy to learn and use?

Does the system provide or facilitate customer

service? i.e. responsive, helpful, accurate?

Can the system easily be modified or fixed?

Are the developers able to deliver or modify the

system within the timeframe when it is needed?

Does the system make efficient use of hardware,

network, and human resources?

Does the system comply with the relevant technical

standards?

Does the system comply with the appropriate

regulatory requirements?

Can the system be validated to prove it works in an

acceptable manner?

Can some of the components be re-used in other

systems?

Can the system be quickly and easily installed on a

variety of platforms by a variety of users?

Is information archived and easily retrievable?

Is the Web site searchable?

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

No

Yes

No

Yes

Yes

Yes

95%

80%

Usability, Interface and Navigation Can the system work effectively for one user, ten

users or a thousand?

Does the home page load quickly?

Are the instructions on how to use the site clear to

the user?

If you follow each instruction does the expected

result occur?

Is a navigational bar present on every screen?

Is the navigation bar consistently located?

Can a user navigate without the use of a mouse?

Does tabbing work consistently, in a uniform

Yes

Yes

Yes

Yes

Yes

Yes

No

Yes

99%

Final Project University Information Portal (UIP)

Federal Urdu University 123

manner?

Is there a link to home on every single page?

Is page layout consistent from page to page?

Is each page organized in an intuitive manner?

Are graphics used consistently?

Are graphics optimized for quick downloads?

Do all the images add value to each page, or do

they simply waste bandwidth?

Are graphics being used the most efficient use of

file size?

Are all referenced web sites or email addresses

hyperlinked?

Does the site look good on 640 x 480, 600x800

etc.?

Is all text properly aligned?

Are all graphics properly aligned?

Do pages print legibly without cutting off text?

Are there any broken links?

Does a link bring you to the page it said it would?

Does the page you are linking to exist?

Is contact information for the site owner readily

visible and available (name, telephone number,

email address, mailing address, fax number)?

Does the status bar on each Web page accurately

reflect the progress of page loading, information,

etc.?

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

1024 * 768

External Interfaces

Does the system interface correctly with related

external systems?

Have all possible interfaces been identified?

Have all supported browsers been tested?

Have all error conditions related to external

interfaces been tested when external application

is unavailable or server inaccessible?

Has proxy caching been tested?

Yes

Yes

Yes

Yes

No

No

Internal Interfaces

Can the Web site support users who cannot perform

download?

Can the Web site work with firewalls?

If the site uses plug-ins, can the site still be used

without them?

Can the site support all plug-ins that are needed for

the Web site at various modem and PC speeds?

Will all versions of plug-ins work together?

Can all linked documents be supported/opened on

all platforms (i.e. can Microsoft Word be opened on

Yes

Yes

Yes

Yes

Yes

No

Final Project University Information Portal (UIP)

Federal Urdu University 124

Table 21.1: Testing Checklist

Solaris)?

Do all plug-ins work with all Browsers?

Does the site lose usability, if Java is not enabled?

Do all plug-ins load properly?

Are failures handled if there are errors in

download?

Does the site function with the use of “non-

standard” hardware (speakers, cable modems,

etc.)

Does your solution work even if users disable

cookies?

Does your solution require special fonts?

No!

Yes

Yes

No

Yes

Yes

Yes

No

Not Tested

Final Project University Information Portal (UIP)

Federal Urdu University 125

21. Conclusion

The answer to information technology is a theoretical and an empirical, hands-on

discipline. The objective of this project, which aims to expose Bachelor’s Final Year

Program undergraduate student through the practical experience of working on a large

project, has given us a chance to put into practice of the software development concepts

that we have only been studied in theories. We are trained to work effectively as part of

team, interacting with users, developing specification and documents developing

prototypes and improving our writing and oral presentation skills.

Throughout this last semester, we have developed a UIP (University Information

System). The system is proposed during title selection of projects. The Online

(project.alijaffri.com) is developed to bean organize website for any institute. During this

project, we expect a chance to sharpen our skills on technical, analysis or interpersonal

skills. This project is finished according to software development life cycle approach and

through this approach we were able to learn more on practically how to work in a project

whether individually or in a group.

On the early stage, we developed the problem project scope and objective to determine

requirements to make the project successfully. While developing the system, we

encountered some problems in PHP programming. It is the most problematic part of the

entire project. There were errors in programming and coding. We find references from

websites and library. Then, we discuss with our project’s supervisor to have the solutions.

Through the process, we have expanded our knowledge in visual basic programming. We

have also known on connectivity between the PHP languages to the databases

(PHPMyAdmin).

Finally the project is completed with the effort of all group members working together

relentlessly. A good teamwork is contributed in this project where group members were

co-operated and well hold their responsibility. Special thanks to as our supervisor Sir

Farhan Shafiques of this project who taught us important criteria and skills needed to

successfully fulfils the course requirement.

Final Project University Information Portal (UIP)

Federal Urdu University 113

21. Implementation

21.1 Connecting to Database

<?php

$server="localhost";

$user="root";

$pass="";

$database = "uip";

$ser=mysql_connect($server, $user, $pass) or die (mysql_error());

$db=mysql_select_db($database,$ser) or die ("error :" . mysql_error());

?>

21.2 Create Session

<?php

session_start();

if(!isset($_SESSION['AUSER_ID']) || $_SESSION['AUSER_ID']<=0 ||

!isset($_SESSION['ALOGIN']) || $_SESSION['ALOGIN']=="false"){

unset($_SESSION['AUSER_ID']);

unset($_SESSION['ALOGIN']);

echo "<script>location.href='login.php';</script>";

}

$select_user = "Select * from users where usrId =

'".$_SESSION['AUSER_ID']."'";

$selUser = mysql_query($select_user);

$feUser = mysql_fetch_array($selUser);

?>

Final Project University Information Portal (UIP)

Federal Urdu University 114

21.3 Register User

<?php

include("include/config.php");

$eno=$_POST["usrRegNo"];

$pass=$_POST["usrPwd"];

$fname=$_POST["usrFName"];

$lname=$_POST["usrLName"];

$add1=$_POST["usrAddress1"];

$add2=$_POST["usrAddress2"];

$usrEmail = $_POST["usrEmail"];

$batch=$_POST["Batch"];

$semester=$_POST["semester"];

$shift=$_POST["shift"];

$city=$_POST["usrCity"];

$ph=$_POST["usrPhone"];

$mobile=$_POST["usrMobile"];

$currentdate=$_POST["usrCDate"];

$img=$_FILES["img"]["name"];

$ftype = explode('.',$_FILES['img']['name']);

// Check if the Enrollemnt exists

$userid = mysql_query("SELECT * FROM enrollment WHERE eid = '$eno'");

$sqlNum = mysql_num_rows($userid);

$Emuserid = mysql_query("SELECT * FROM users WHERE usrEmail =

'$usrEmail' OR usrRegNo = '$eno' ");

$EmsqlNum = mysql_num_rows($Emuserid);

// Check if the Email exists

//$usremial = mysql_query("SELECT * FROM users WHERE usrEmail =

'$usrEmail"); //

// If username exists then print error message

if ($sqlNum <= 0) {

$msg = 44;

}

else if ($EmsqlNum > 0) {

$msg = 1;

}

else {

$CDate = date("Y-m-d");

$img = strtotime("now").'.'.$ftype[1];

move_uploaded_file($_FILES['img']['tmp_name'], "images/users/". $img);

Final Project University Information Portal (UIP)

Federal Urdu University 115

$in = "INSERT INTO users

(usrRegNo,usrPwd,usrEmail,usrPosition,usrTitle,usrFName,usrLName,usrAddres

s1,

usrAddress2,Batch,semester,shift,usrCity,usrPhone,usrMobile,usrStatus,

usrType,usrCDate,img)

VALUES

('$eno','$pass','$usrEmail','Student','Student','$fname','$lname','$add1',

'$add2','$batch','$semester','$shift','$city','$ph','$mobile','I','S','$CDate','$img')";

mysql_query($in);

$msg = 0;

}

?>

21.4 Login User

<?php

session_start();

include("include/config.php");

$uid = $_POST['uid'];

$upwd = $_POST['upwd'];

if(!empty($_POST['uid']) && !empty($_POST['upwd'])){

$select = "Select * from users where usrRegNo = '$uid' AND usrPwd =

'$upwd' AND usrStatus='A' || usrStatus='T' AND usrType='S'";

$exe = mysql_query($select);

if(mysql_num_rows($exe)>0){

$select = "Select * from users where usrRegNo = '$uid' AND

usrPwd = '$upwd' ";

$exe_a = mysql_query($select);

$fetch = mysql_fetch_array($exe_a);

$_SESSION['USER_ID'] = $fetch['usrId'];

$_SESSION['LOGIN'] = "true";

$msg = 0;

header('location:home.php');

}

else{

$msg = 1;

header('location:login.php?msg='.$msg);

}

}

else {

$msg = 2;

header('location:login.php?msg='.$msg);

Final Project University Information Portal (UIP)

Federal Urdu University 116

}

//echo "<script>location.href='';</ script>";

?>

21.5 Forget password

<?php

include("include/config.php");

if(!empty($_POST['usrEmail'])){

$sql = "select * from `users` where `usrEmail` = '$_POST[usrEmail]'";

$result = mysql_query($sql);

$count = mysql_fetch_array($result);

if($count < 1)

{

header("Location:forgetpass.php?msg=1");

}

else

{

$emailid = $count['usrEmail'];

$usrRegNo = $count['usrRegNo'];

$pwd = $count['usrPwd'];

//$msg = "Your Account Password is ".$pwd;

$to = $emailid;

$sub = "Your UIP Account Information (www.alijaffri.com)";

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= 'From: UIP Admin <[email protected]>' . "\r\n";

$message = '<HTML><BODY>';

$message .= '<br><b>Login Information of UIP :</b><br><br>';

$message .= '<b>Your Email is = </b>'.$emailid.' ';

$message .= '<br><b>Your Password is = </b>'.$pwd.' ';

$message .= '<br><b>Login www.alijaffri.com';

$message .= '<br><br>Thankyou ..';

$message .= '</BODY></HTML>' ;

mail($to,$sub,$message,$headers);

//echo $message;

?>

<script type="text/javascript">

window.alert("Now you can check your password in your e-mail account

")

location.href="login.php";

Final Project University Information Portal (UIP)

Federal Urdu University 117

</script>

<?

}

}

else{

header("Location:forgetpass.php?msg=2");

}

?>

21.6 Approve User & Send Email for Activation

<?PHP

include("../include/config.php");

include('include/incl.php');

$sid = $_GET['statusID'];

$st = $_GET['st'];

$status = "UPDATE users SET usrStatus='$st' WHERE usrId='$sid'";

mysql_query($status);

//echo $status;

$sql = "select * from `users` where `usrId`

= '$sid'";

$result = mysql_query($sql);

$count = mysql_fetch_array($result);

if($count < 1)

{

header("Location:user_history.php?msg=1");

}

else

{

$emailid =

$count['usrEmail'];

$usrRegNo =

$count['usrRegNo'];

$pwd = $count['usrPwd'];

Final Project University Information Portal (UIP)

Federal Urdu University 118

//$msg = "Your Account

Password is ".$pwd;

$to = $emailid;

$sub = "Your Request

Confirmation on UIP";

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= 'From: UIP Admin <[email protected]>' . "\r\n";

$message = '<HTML><BODY>';

$message .= '<br><b>Your Account have benn Confirmed You Can now

login:</b></b>';

$message .= '<br><b>Login Information of UIP :</b><br>';

$message .= '<b>Your Email is = </b>'.$emailid.' ';

$message .= '<b><br>Your Registration is (username) =

</b>'.$usrRegNo.' ';

$message .= '<br><b>Your Password is = </b>'.$pwd.' ';

$message .= '<br><br>Thankyou ..';

$message .= '</BODY></HTML>' ;

mail($to,$sub,$message,$headers);

//mail($_POST['usrEmail'],$headers,$message,'From:ADMIN UIP

<[email protected]>');

//echo $message;

?>

<script type="text/javascript">

window.alert("Approval Email Sent

Successfully")

location.href="user_history.php";

</script>

<?

Final Project University Information Portal (UIP)

Federal Urdu University 119

}

//header('location:user_history.php');

?>

<script>

location.href="user_history.php";

</script>

21.7 Add in Databases (Lectures addition)

<?PHP

include("include/config.php");

include("include/incl.php");

$LecId=$_POST['LecId'];

$Title=$_POST['Title'];

$Sub=$_POST['Sub'];

$Teacher=$_POST['Teacher'];

$LecDesc=$_POST['LecDesc'];

$DateAdd=$_POST['DateAdd'];

$Leclink=$_FILES["Leclink"]["name"];

$Btype = explode('.',$_FILES['Leclink']['name']);

$arr = sizeof($Btype);

if($_FILES['Leclink']['type']=='application/zip'){

$ty = 'zip';

}

else if($_FILES['Leclink']['type']=='application/octet-stream'){

if($Btype[$arr-1]=='pdf'){

$ty = 'pdf';

}

else if($Btype[$arr-1]=='chm'){

$ty = 'chm';

}

}

else if($_FILES['Leclink']['type']=='application/msword'){

$ty = 'doc';

}

else if($_FILES['Leclink']['type']=='application/vnd.ms-powerpoint'){

$ty = 'ppt';

Final Project University Information Portal (UIP)

Federal Urdu University 120

}

else if($_FILES['Leclink']['type']=='application/x-rar-compressed'){

$ty = 'rar';

}

$BookLink = strtotime("now").'.'.$Btype[$arr-1];

move_uploaded_file($_FILES['Leclink']['tmp_name'], "admin/lectures/".$Leclink

);

$result = "INSERT into lectures (Title, Sub, Teacher, LecDesc, Leclink,

DateAdd, FileType)

VALUES ('$Title', '$Sub', '$Teacher', '$LecDesc',

'$Leclink', '$DateAdd', '$ty')";

mysql_query($result);

?>

<script>

location.href="lectures.php";

</script>

21.8 Delete in Databases (News)

<?PHP

include("../include/config.php");

include('include/incl.php');

$deid = $_GET['did'];

$delete = "delete from `news` where `NewsID` = '$deid' ";

mysql_query($delete);

echo $deid;

//header('location:user_history.php');

?>

<script>

location.href="manage_news.php";

</script>

Final Project University Information Portal (UIP)

Federal Urdu University 121

21.9 USER Management Listing

<table width="769" border="0" cellpadding="0" cellspacing="0"

bgcolor="#E1E1E1">

<tr>

<td height="5" colspan="12" align="center" bgcolor="#EAEAEA"

class="bodyColor"></td>

</tr>

<?php

$i = 0;

$SEL = "SELECT * from users where usrType ='S'";

$exe = mysql_query($SEL);

while($re = mysql_fetch_array($exe)){

if($i==0){

$i = 1;

$bg = '#F4F4F4';

}

else {

$i = 0;

$bg = '#EAEAEA';

}

$count_Img = " Select * from image_gallery where ImgUserId =

'".$re['usrId']."' ";

$COuIMGexe = mysql_query($count_Img);

$IMGnum = mysql_num_rows($COuIMGexe);

$count_Vid = " Select * from videos_gallery where VideoUserId =

'".$re['usrId']."' ";

$COuVIDexe = mysql_query($count_Vid);

$VIDnum = mysql_num_rows($COuVIDexe);

?>

<tr>

<td height="20" align="center" bgcolor="<?php echo $bg;?>"

class="bodyColor">&nbsp;</td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrRegNo'];?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrFName'];?> <?php echo

$re['usrLName'];?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrCDate'];?></td>

Final Project University Information Portal (UIP)

Federal Urdu University 122

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $re['usrEmail'];?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $VIDnum;?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="Bodytext"><?php echo $IMGnum;?></td>

<td align="center" bgcolor="<?php echo $bg;?>"

class="register"><?php echo $re['usrWarnings'];?></td>

<td width="34" align="center" bgcolor="<?php echo $bg;?>">

<a href="view_profile.php?vu=1&uid=<?php echo $re['usrId'];?>"

class="other">View</a></td>

<td width="34" align="center" bgcolor="<?php echo $bg;?>">

<a href="edit_user.php?edid=1&ToEd=<?php echo $re['usrId'];?>"

class="other">Edit</a></td>

<td width="41" align="center" bgcolor="<?php echo $bg;?>">

<?php

if($re['usrStatus']=='A'){

?>

<a href="status_change.php?yes=1&statusID=<?php echo

$re['usrId'];?>&st=I" class="edit">Block</a>

<?php

} else {

?>

<a href="status_change.php?yes=1&statusID=<?php echo

$re['usrId'];?>&st=A" class="edit">Active</a>

<?php

}

?> </td>

<td width="35" align="center" bgcolor="<?php echo $bg;?>">

<!-- <a href="usrdelete.php?del=1&did=<?php echo $re['usrId'];?>"

class="delete">Dlete</a></td>-->

<a href="javascript:del(<?php echo $re['usrId'];?>);"

class="delete">Dlete</a></td>

</tr>

<?php

}

?>

<td width="8" height="20" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="56" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="121" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="101" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

Final Project University Information Portal (UIP)

Federal Urdu University 123

<td width="124" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="86" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="83" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td width="46" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

<td colspan="4" align="center" bgcolor="#F4F4F4"

class="bodyColor">&nbsp;</td>

</tr>

</table></td>

</tr>

<tr>

<td>&nbsp;</td>

<td colspan="3">&nbsp;</td>

<td>&nbsp;</td>

</tr>

</table>

</form></td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

<tr>

<td valign="top">&nbsp;</td>

</tr>

</table></td>

</tr>

<tr>

<td width="163" height="18">&nbsp;</td>

<td width="787" height="18" colspan="6">&nbsp;</td>

</tr>

<tr>

<td height="18" colspan="7">&nbsp;</td>

</tr>

<tr>

<td height="18" colspan="7"></td>

</tr>

<tr>

<td height="18" colspan="7"></td>

</tr>

<tr>

<td height="2" colspan="2" bgcolor="#990000"></td>

</tr>

Final Project University Information Portal (UIP)

Federal Urdu University 124

<tr>

<td height="5" colspan="2" align="center" class="navgation"></td>

</tr>

<tr>

<td height="10" colspan="2" align="center" class="navgation">Admin &reg;

UIP - 2010</td>

</tr>

<tr>

<td colspan="2"></td>

</tr>

</table>

21.10 Suggests Video

<?php

include("../include/config.php");

include('include/incl.php');

include('include/function.php');

$VideoCatId=$_POST['VideoCat'];

$VideoTitle=$_POST['VideoTitle'];

$VideoDescription=$_POST['VideoDescription'];

$Tags=$_POST['Tags'];

$VideoStatus=$_POST['VideoStatus'];

$VideoURL = $_POST["VideoURL"];

$VideoLink=$_FILES["VideoLink"]["name"];

$Uploadedby=$feUser['usrType'];

$VTimeDate = makeTimeStamp();

if($VideoLink!='' && $VideoLink!=' ' && !empty($VideoLink)){

move_uploaded_file($_FILES["VideoLink"]["tmp_name"],"../videos/".$V

ideoLink);

}

$sql = "Insert into videos_gallery (VideoUserId, VideoCatId, VideoTitle,

VideoDescription, Tags, Uploadedby,

VTimeDate, VideoURL, VideoLink)

values

('".$_SESSION['USER_ID']."','$VideoCatId', '$VideoTitle',

'$VideoDescription', '$Tags', '$Uploadedby',

'$VTimeDate', '$VideoURL', '$VideoLink')";

mysql_query($sql);

header('location:manage_video.php');

?>

Final Project University Information Portal (UIP)

Federal Urdu University 125

21. Conclusion

The answer to information technology is a theoretical and an empirical, hands-on

discipline. The objective of this project, which aims to expose Bachelor’s Final Year

Program undergraduate student through the practical experience of working on a large

project, has given us a chance to put into practice of the software development concepts

that we have only been studied in theories. We are trained to work effectively as part of

team, interacting with users, developing specification and documents developing

prototypes and improving our writing and oral presentation skills.

Throughout this last semester, we have developed a UIP (University Information

System). The system is proposed during title selection of projects. The Online

(project.alijaffri.com) is developed to bean organize website for any institute. During this

project, we expect a chance to sharpen our skills on technical, analysis or interpersonal

skills. This project is finished according to software development life cycle approach and

through this approach we were able to learn more on practically how to work in a project

whether individually or in a group.

On the early stage, we developed the problem project scope and objective to determine

requirements to make the project successfully. While developing the system, we

encountered some problems in PHP programming. It is the most problematic part of the

entire project. There were errors in programming and coding. We find references from

websites and library. Then, we discuss with our project’s supervisor to have the solutions.

Through the process, we have expanded our knowledge in visual basic programming. We

have also known on connectivity between the PHP languages to the databases

(PHPMyAdmin).

Finally the project is completed with the effort of all group members working together

relentlessly. A good teamwork is contributed in this project where group members were

co-operated and well hold their responsibility. Special thanks to as our supervisor Sir

Farhan Shafiques of this project who taught us important criteria and skills needed to

successfully fulfils the course requirement.