Upload
phungkhanh
View
217
Download
1
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 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 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"> </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"> </td>
<td width="56" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="121" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="101" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
Final Project University Information Portal (UIP)
Federal Urdu University 119
<td width="124" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="86" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="83" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="46" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td colspan="4" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
</tr>
</table></td>
</tr>
<tr>
<td> </td>
<td colspan="3"> </td>
<td> </td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td valign="top"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="163" height="18"> </td>
<td width="787" height="18" colspan="6"> </td>
</tr>
<tr>
<td height="18" colspan="7"> </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 ®
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"> </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"> </td>
<td width="56" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="121" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="101" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
Final Project University Information Portal (UIP)
Federal Urdu University 123
<td width="124" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="86" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="83" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td width="46" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
<td colspan="4" align="center" bgcolor="#F4F4F4"
class="bodyColor"> </td>
</tr>
</table></td>
</tr>
<tr>
<td> </td>
<td colspan="3"> </td>
<td> </td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td valign="top"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="163" height="18"> </td>
<td width="787" height="18" colspan="6"> </td>
</tr>
<tr>
<td height="18" colspan="7"> </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 ®
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.