Вы находитесь на странице: 1из 98

PROJECT MANAGEMENT SYSTEM

B.S. (CS & IT) Final year Project Report

Submitted by: Sidra Mehfooz AsmaGhori Yasmin Khan 2009/COMP/BS (CS)/9999 2009/COMP/BS (IT)/10011 2009/COMP/BS (CS)/10007 2910101 2910113 2910109

December 2012

DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY

JINNAH UNIVERSITY FOR WOMEN


5-C NAZIMABAD, KARACHI 74600

PROJECT MANAGEMENT SYSTEM

B.S. (CS &IT) Final Project Report

Submitted by: Sidra Mehfooz AsmaGhori Yasmin Khan 2009/COMP/BS (CS)/9999 2009/COMP/BS (IT)/10011 2009/COMP/BS (CS)/10007 2910101 2910113 2910109

Project Advisors Internal Advisor: External Advisor: Ms. Saboohi Naeem Mr. Uzair Hashmi

December 2012 DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY

JINNAH UNIVERSITY FOR WOMEN


5-C NAZIMABAD, KARACHI 74600

DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY

Jinnah University For Women PROJECT APPROVAL

Project Title:

Project Management System

By: Sidra Mehfooz Asma Ghori Yasmin Khan 2009/COMP/BS (CS)/9999 2009/COMP/BS (IT)/10011 2009/COMP/BS (CS)/10007 2910101 2910113 2910109

Approval Committee:

___________________________

____________________________

Name: Ms. Saboohi Naeem Designation: Lecturer in CS & IT dept (Internal Advisor)

Name: Mr. Uzair Hashmi Designation: Data Analyst Organization Soft Fit Tech (External Advisor)

___________________________ (Head of the Department)

ABSTRACT
An online project management system is designed to help you keep your business more organized and have a better communication with your clients. So with this, you will start looking more professional and your work will reflect that. By incorporating project management tools you can get things done (GTD) with better quality. Web based project management system is an online project management that allows teams to collaborate and get the work done faster. Planning and Tracking helps you keep the project on schedule while collaboration improves the communication and overall productivity of your team. Help your team to stay focused, plan effectively and get the work done much faster with tasks and subtasks. Manage working hours of team members. Timesheets will help to maximize your productive hours and track time with ease. Gain deep insights about your project progress with project report in form of different charts. Track how much time is spent on what tasks and for which user.

TABLE OF CONTENTS
PROJECT APPROVAL ABSTRACT Bookmark not defined. TABLE OF CONTENTS LIST OF FIGURES LIST OF TABLES ACKNOWLEDGEMENT Chapter 1 INTRODUCTION iii vi vii ix Error! i Error!

Bookmark not defined. 1.1 Project Overview Bookmark not defined. 1.2 Proposed System Bookmark not defined. Chapter 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 PHP MySQL Apache WAMP Server Komodo Edit Html5 Zend FrameWork Adobe Photoshop CS3 Adobe Dreamweaver CS5 Microsoft Visio 2010 Ajax ANALYSIS Error! Error!

3 3 4 5 6 6 7 9 9 10 12 12 15 15 15 16 ii

Chapter 3 3.1 3.2

Analysis Of a PMS Importance Of PMS 3.2.1 Cost Effectiveness

3.2.2 Better Productivity 3.2.3 Minimization Of Risk 3.2.4 Accomplishing Predertermined Goals 3.2.5 Unique Database 3.3 General Requirements Of PMS 3.3.1 Registration of Users 3.3.2 Project Management 3.3.3 Generation Of Graphical Reports 3.3.4 Business Requirement s 3.3.5 User Friendly 3.3.6 Security Error! Bookmark not defined. Chapter 4 4.1 4.2 SOFTWARE REQUIREMENT SPECIFICATION

16 16 16 17 17 17 17 18 18 18

19 19 19 19 20 21 22 22 22 23 23 23 23 23 24 24 24 24 25 25 25 25 26

4.3

4.4

4.5 4.6 4.7 4.8 4.9

Purpose Project Scope And Product Features 4.2.1 Administrator Features 4.2.2 Manager Features 4.2.3 Leader Features 4.2.3 MemberFeatures Overall Description 4.3.1 Project Perspective 4.3.2 User Classes and Characteristics 4.3.3 Operating Environment 4.3.4 Design and Implementation Constraints 4.3.5 User Documentation 4.3.6 Assumptions and Dependencies System Requirements 4.4.1 Software Requirement 4.4.2 Hardware Requirement System Design Constraints Performance Requirements Security Requirements External Interface Requirements 4.8.1 User Interface Software Quality Attributes SYSTEM DESIGN

Chapter 5

Error! Bookmark not defined. 5.1 Spiral Model 5.2 Database ERROR! BOOKMARK NOT DEFINED. 5.2.1 ER- Diagram iii 28 Design 28

5.3 5.4 5.5 5.6

5.2.2 Relational- Model Activity Diagrams Usecase Diagrams Architecture Diagram Sequence Diagrams SYSTEM IMPLEMENTATION

29 30 34 38 39 40 40 41 41 41 41 42 42 42 42 43 43 43 43 43 44 44 45 58 61 62 64 68 75 75 76 Error! 84 87 iv

Chapter 6 6.1

6.2

PMS Directory Structure 6.1.1 Config.php 6.1.2 DbOperations.php 6.1.3 Dbconnection.php Session Management SYSTEM TESTING

Chapter 7 7.1 7.2 7.3 7.4 7.5

7.6 7.7

Software Testing: Types of Software Testing Processes: Testing Objectives Testing Strategy Types of Testing 7.5.1 White-Box Testing 7.5.2 Black-Box Testing 7.5.3 Unit Testing 7.5.4 Integration Testing 7.5.5 Function Testing Test Cases Validation Log Abbreviations Glossary Data Dictionary Snap Shots Code

Appendix A Appendix B Appendix C Appendix D Appendix E

1. index.php 2. Login.php 3. Register.php Bookmark not defined. 4. Admin.php References

LIST OF FIGURES
Figure 2.1: Ajax Cycle ..................................................................................................... 14 Figure 5.1: Spiral Model .................................................................................................. 27 Figure 5.2: ER- Diagram ................................................................................................. 28 Figure 5.3: Relational Model ........................................................................................... 29 Figure 5.4: Activity Diagram of User .............................................................................. 30 Figure 5.5: Activity Diagram for project creation mechanism ........................................ 31 Figure 5.6: Activity Diagram of user Account verification ............................................. 32 Figure 5.7: Activity Diagram of blocking user Account ................................................. 33 Figure 5.8: Admin Use case Diagram .............................................................................. 34 Figure 5.9: Manager Use case Diagram........................................................................... 35 Figure 5.10: Leader Use case Diagram ............................................................................ 36 Figure 5.11: Member Use case Diagram ......................................................................... 37 Figure 5.12: Architecture Diagram .................................................................................. 38 Figure 5.13: Sequence Diagram....................................................................................... 39

vi

LIST OF TABLES
Table 7.1; Title of home page check ................................................................................ 45 Table 7.2: Login Test Success ......................................................................................... 45 Table 7.3; Login Test Failure ........................................................................................... 46 Table 7.4: Login Test Failure ........................................................................................... 46 Table 7.5; Login Test Failure ........................................................................................... 47 Table 7.6: Title of Administrator home page check. ....................................................... 47 Table 7.7: Verify Activate User link check ..................................................................... 48 Table 7.8; Title of Activate User page check................................................................... 48 Table 7.9: Verify Button check ........................................................................................ 49 Table 7.10: Unverified User account login check............................................................ 49 Table 7.11: Verified User account login check................................................................ 50 Table 7.12: Bock Account link check .............................................................................. 50 Table 7.13:Title of the Deactivate User page check . ...................................................... 51 Table 7.14: Block button check ....................................................................................... 51 Table 7.15: Blocked User account login check................................................................ 52 Table 7.16: Verify Users List link check. ....................................................................... 52 Table 7.17: Title of the User list page check. .................................................................. 53 Table 7.18: Verify User List link check .................................................................................. 53 Table 7.19: Title of the Delete User List Page check. ..................................................... 54 Table 7.20: Verify delete button check. ........................................................................... 54 Table 7.21: No link check ................................................................................................ 55 Table 7.22: Yes link check ............................................................................................... 55 Table 7.23: Title of the Change Password page check. ................................................... 56 Table 7.24: Verify Change Password link check. ............................................................ 56 Table 7.25: Title of the Confirm Delete page check. ....................................................... 57 Table 7.26: Verify Edit User link check. ......................................................................... 57 Table 7.24: Validation Log .......................................................................................... 58

vii

ACKNOWLEDGEMENT
On successful completion of the project, we would like to take the opportunity to acknowledge the contributions of a number of people who helped in making this project a reality. Foremost, to Almighty who blessed me the with strength and ability to complete the project, Further I wish to express my gratitude and appreciation to Jinnah University for Women and my great worthy teachers, who taught us in the most structured way. I would like to appreciate the valuable contribution of our advisor, Mr. Uzair who instilled in us the knowledge and concepts throughout the period and for his useful guidance and expertise which helped us put our best foot forward. I am also thankful to the people who helped during the report, for sharing valuable time.

Thank you all!

viii

Chapter 1: Introduction

Chapter 1
INTRODUCTION
1.1
PROJECT

OVERVIEW

A Project Management System (PMS) is a web based solution for the project manger to deliver the project successfully. User can easily create their projects, schedule and monitor them. The main purpose for planning a project is for cost expediency. Proper project planning will insure that the amount of work to be accomplished, time allotted to satisfactory complete the work. Proper planning allows for the assessment of the impact of change prior to implementing the change. One of the most common purposes is to schedule a series of tasks for completion of a project and the schedule can vary considerably depending on how much time is allotted for a project completion. It is a perfect mix of project management with collaboration. Plan, track and collaborate on projects. Keep everyone in the loop. A centralized place where project reports are stored, which will give idea of faster completion of project on time.

Through the development of PMS following targets are intended to be achieved: You can easily see where your projects stand. Whenever changes in the plan are made, they are instantly visible to all team members. To organize tasks and track project status, allocate responsibilities, and plan project progress. It makes the working level more and more efficient and reliable. Projects can spend less time for completion. The main objective of this solution is to make easy the project management and scheduling process of any organization. Projects can spend less time for completion. Project management, prior to launching a project, identifies the irrelevant costs, reduces wastage of resources and thus ensures cost-effectiveness in the longer run. Project management keeps the quality of products in constant check, thus ensuring better productivity in terms of quality and quantity. The project is developed using HTML5, JavaScript CSS, PHP, MySQL, Photoshop, Zend IDE for php professionals and SQLyog Enterprise. 1

Chapter 1: Introduction

1.2

PROPOSED SYSTEM
Four types of users are involved in the PMS:

1. Project Manager: Only Manager can create projects, Create team, Select leader of that team, Select members in that team, Assign Major tasks to leader of that team, Edit projects, Delete project, edit project tasks, delete tasks, View projects statistical & graphical reports, and view user list with respect to team. Managers can also their password. 2. Team Leader: Leader view assigned tasks on their dashboard that has been assigned by manager. Assign sub tasks to members, Delete subtask, edit subtask information, view user list of his team, View subtasks statistical & graphical reports and leader can also change their password. 3. Member: View current assigned subtasks on their dashboard that has been assigned by leader. User cannot edit subtask information nor delete it. Users add subtask progress. User can also view individual subtask progress on their dashboard 4. Admin: Admin approve login request activate deactivate users., view user list, edit users information and delete users, 5. Guest - Any user or actor of a system for which he/she does not have to login for using it. This type of user has the least rights to use the system. Each person on the project plan has their own task lists, calendars functionality associated with their projects. Each user can be granted different privileges to access only the areas of the program specified and may also have "Read Only" or "Read Write" access. Leader can assign subtasks for a completion of a single task. Manager can view the actual project progress against planned. Assign people to tasks faster than before and view reports of project progress in form of graphs.

Chapter 2: Tools And Technology

Chapter 2

TOOLS AND TECHNOLOGIES


Project Management System is made using both open and close source technologies.

2.1 PHP
Stand for Hypertext Preprocessor. PHP is a server side scripting language; server side scripting language is one, which has the capability of executing the script on the server and serving the output as a HTML File, server side script has the main advantage of interacting with the databases and to perform all types of server manipulations directly. Server side scripting language is responsible for manipulating the data which is filled in the entire web forms, anywhere in the net. [3]. It is one of the first developed server-side scripting languages to be embedded into an HTML source document rather than calling an external file to process data. The code is interpreted by a Web server with a PHP processor module which generates the resulting Web page. It also has evolved to include a command-line interface capability and can be used in standalone graphical applications.[2] PHP can be deployed on most Web servers and also as a standalone shell on almost every operating system and platform, free of charge.[3] A competitor to Microsoft's Active Server Pages (ASP) server-side script engine[4] and similar languages, PHP is installed on more than 20 million Web sites and 1 million Web servers.[5] Software that uses PHP includes Drupal, Joomla, MediaWiki, and WordPress.

PHP was originally created by Rasmus Lerdorf in 1995. The main implementation of PHP is now produced by The PHP Group and serves as the formal reference to the PHP language. [6] PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the usage of the term PHP. [7]

Chapter 2: Tools And Technology

2.2 MYSQL
The MySQL database is an open source database and is highly popular because of its high performance, high reliability and ease of use. It is also the database of choice for a new generation of applications built on the LAMP stack (Linux, Apache, MySQL, PHP / Perl / Python.) MySQL runs on more than 20 platforms including Linux, Windows, Mac OS, Solaris, HP-UX, IBM AIX, giving you the kind of flexibility that puts you in control. Whether you're new to database technology or an experienced developer or DBA, MySQL offers a comprehensive range of database tools, support, training and consulting services to make you successful. [4]

Structured Query Language (SQL) is a specialized language for updating, deleting, and requesting information from databases. SQL is an ANSI and ISO standard, and is the de facto standard database query language. A variety of established database products support SQL, including products from Oracle and Microsoft SQL Server. It is widely used in both industry and academia, often for enormous, complex databases. In a distributed database system, a program often referred to as the database's "back end" runs constantly on a server, interpreting data files on the server as a standard relational database. Programs on client computers allow users to manipulate that data, using tables, columns, rows, and fields. To do this, client programs send SQL statements to the server. The server then processes these statements and returns replies to the client program.

The origins of the SQL take us back to the 1970s, when in the IBM laboratories, new database software was created - System R. And to manage the data stored in System R, the SQL language was created. At first it was called SEQUEL, a name which is still used as an alternative pronunciation for SQL, but was later renamed to just SQL. In 1979, a company called Relational Software, which later became Oracle, saw the commercial potential of SQL and released its own modified version, named Oracle V2. Now into its third decade of existence, SQL offers great flexibility to users by supporting distributed databases, i.e. databases that can be run on several computer networks at a time. Certified by ANSI and ISO, SQL has become a database query language standard, lying in the basis of a variety of well established database applications on the Internet 4

Chapter 2: Tools And Technology

today. It serves both industry-level and academic needs and is used on both individual computers and corporate servers. With the progress in database technology SQL-based applications have become increasingly affordable for the regular user. This is due to the introduction of various open-source SQL database solutions such as MySQL, PostgreSQL, SQLite, Firebird, and many more. [7]

2.3

APACHE
Web applications with Apache, PHP and the MySQL database. It also comes with

PHPMyAdmin to easily manage your databases. It is an open source tool for database development. [5] The Apache HTTP Server, commonly referred to as Apache is web server software notable for playing a key role in the initial growth of the World Wide Web. The application is available for a wide variety of operating systems, including Unix, GNU, FreeBSD, Linux, Solaris, Novell NetWare, AmigaOS, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation. Released under the Apache License, Apache is opensource software. Apache supports a variety of server-side programming languages. Some common language interfaces support Perl, Python, Tcl, and PHP. Virtual hosting allows one Apache installation to serve many different actual websites. For example, one machine with one Apache installation could simultaneously serve www.example.com, www.example.org, test47.test-server.example.edu, etc. Apache features configurable error messages, DBMS-based authentication databases, and content negotiation. It is also supported by several graphical user interfaces (GUIs). It supports password authentication and digital certificate authentication. Apache has a built in search engine and an HTML authorizing tool and supports FTP. [11]

Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Some common language interfaces support Perl, Python, Tcl, and PHP. Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest, the successor to mod_digest. A sample of other 5

Chapter 2: Tools And Technology

features include Secure Sockets Layer and Transport Layer Security support (mod_ssl), a proxy module (mod_proxy), a URL rewriter (mod_rewrite), custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter).

Popular compression methods on Apache include the external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP. ModSecurity is an open source intrusion detection and prevention engine for web applications. Apache logs can be analyzed through a web browser using free scripts such as AWStats/W3Perl or Visitors. [11]

2.4

WAMP SERVER
WAMP Server is a Windows web development environment. It allows you to

create web applications with Apache, PHP and the MySQL database. It also comes with PHPMyAdmin to easily manage your databases. It is an open source tool for database development. [5] WAMPs are packages of independently-created programs installed on computers that use a Microsoft Windows operating system. WAMP is an acronym formed from the initials of the operating system Microsoft Windows and the principal components of the package: Apache, MySQL and one of PHP, Perl or Python. Apache is a web server. MySQL is an open-source database. PHP is a scripting language that can manipulate information held in a database and generate web pages dynamically each time content is requested by a browser. Other programs may also be included in a package, such as phpMyAdmin which provides a graphical user interface for the MySQL database manager, or the alternative scripting languages Python or Perl. On the other hand we have LAMP which is same as WAMP but for Linux operating system and MAMP for MAC. [6]

2.5

KOMODO EDIT
Komodo Edit from ActiveState is a free, open source, multi-platform, multi-

language editor (PHP, Python, Ruby, Perl and Tcl, JavaScript, CSS, HTML and template

Chapter 2: Tools And Technology

languages like RHTML, Template-Toolkit, and HTML-Smarty). Background syntax checking and syntax coloring catch errors immediately, while auto complete and call tips guide you as you write. Available on Windows, Mac OS X and Linux. Other features include Vi emulation, Emacs key bindings, code folding and code snippets. [6] Komodo Edit is a fast, smart, free and open-source code editor. Komodo Edit is a free text editor for dynamic programming languages. It was introduced in January 2007 to complement Active State's commercial Komodo IDE product. With the release of version 4.3, Komodo Edit is built on top of the Open Komodo project. Many of Komodo's features are derived from an embedded Python interpreter [2] Open Komodo uses the Mozilla code base, along with Scintilla, and the two products share many features and support the same languages (including Python, Perl, PHP, Ruby, Tcl, SQL, Smarty, CSS, HTML and XML) and computer platforms (Linux, Mac OS X, and Windows). The editor component is implemented using the NPAPI, with the Scintilla view embedded in the XUL interface in the same manner as a web browser plugin. Both Komodo Edit and Komodo IDE support user customization through plug-in and macros. Komodo plug-ins are based on Mozilla Add-ons and extensions can be searched for, downloaded, configured, installed and updated from within the application. Available extensions include a functions list, pipe features, additional language support and user interface enhancements. [6]

Komodo IDE has features found in an IDE, such as integrated debugger support, DOM viewer, interactive shells, and source code control integration, as well as the ability to select the engine used to run regular expressions, in order to ensure compatibility with the final deployment target. The commercial version also adds code browsing, a database explorer and support for many popular source code control systems.Independent implementations of some of these features, such as the database editor and remote FTP file access, are available in the free version through the plugin system. [3]

2.6 HTML5
HTML5 is a markup language for structuring and presenting content for the World Wide Web, and is a core technology of the Internet originally proposed by Opera 7

Chapter 2: Tools And Technology

Software. It is the fifth revision of the HTML standard (created in 1990 and standardized as HTML4 as of 1997) and, as of August 2012, is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers, etc.). [4] For the same reasons, HTML5 is also applications. Many features of HTML5 have been built with the consideration of being able to run on low-powered devices such as smart phones and tablets. [7] HTML5 is a markup language for structuring and presenting content for the World Wide Web and a core technology of the Internet. It is the fifth revision of the HTML standard (created in 1990 and standardized as HTML4 as of 1997)[2] and, as of December 2012, is a W3C Candidate Recommendation. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers, etc.). HTML5 is intended to subsume not only HTML 4, but XHTML 1 and DOM Level 2 HTML as well. [2] Following its immediate predecessors HTML 4.01 and XHTML 1.1, HTML5 is a response to the observation that the HTML and XHTML in common use on the World Wide Web are a mixture of features introduced by various specifications, along with those introduced by software products such as web browsers, those established by common practice, and the many syntax errors in existing web documents.[3] It is also an attempt to define a single markup language that can be written in either HTML or XHTML syntax. It includes detailed processing models to encourage more interoperable implementations; it extends, improves and rationalizes the markup available for documents, and introduces markup and application programming interfaces (APIs) for complex web applications.[4] For the same reasons, HTML5 is also a potential candidate for cross-platform mobile applications. Many features of HTML5 have been built with the consideration of being able to run on low-powered devices such as smart phones and tablets. In December 2011 research firm Strategy Analytics forecast sales of HTML5 compatible phones will top 1 billion in 2013[2]

Chapter 2: Tools And Technology

2.7 ZEND FRAMEWORK (ZF)


Zend Framework (ZF) is the leading open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. It is use for developing web applications and services using PHP 5.3+. Zend Framework uses 100% object-oriented code and utilizes most of the new features of PHP 5.3, namely namespaces, late static binding, lambda functions and closures. It is made up of many different libraries and classes. This is a double-edged sword for one; it makes it easier for developers to cherry-pick libraries if they only need some. [7] It is designed to eliminate the tedious details of coding and let you focus on the big picture. Its strength is in its highly-modular MVC design, making your code more reusable and easier to maintain. [7]

Zend_Acl provides lightweight and flexible access control list (ACL) functionality and privileges management includes basic implementations for roles and resources, role and resource objects may be instances of user-defined classes, resource tree supports rule inheritance supports multiple inheritance of access control rules among roles supports conditional rule applicability via an assertion interface. [7]

2.8

ADOBE PHOTOSHOP CS3


Adobe Photoshop, or simply Photoshop, is a graphics editing program developed

and published by Adobe Systems. It is the current market leader for commercial bitmap and image manipulation software, and is the flagship product of Adobe Systems. [9] It is a graphics editing application popular for its extensive amount of features. Photoshop is also, currently, the leading graphics editing application. Photo shop is also image creation software as well as an editor. Photo shop can create any effect or style needed in a drawing or painting or layout. There are graphic software that can do specialized work faster and more efficient than Photo shop (such as painter for realistic paint effects), but Photo shop can do it all in one program.

Chapter 2: Tools And Technology

The basics of Photo shop are easy to learn, even the CS versions. They are very intuitive, and there are several ways to do almost everything to work with an individual's style of drawing and skill level yet you can spend years learning all the pro level features. Photo shop works by altering individual pixels in an image as opposed to a vector drawing program that draws with points, lines and objects mathematically. Photo shop is best with images that have complex textures, blends and photo realism, but Photo shop is also very good at vector drawing as long as the image doesn't need to be scaled and you don't need specialized CAD drawing tools. [9]

Photoshop was released as a commercial graphic editing program in 1990. Since its first release, it has become more and more complex. Every new version comes with new powerful features. The current version of Photoshop - CS4, is much more than an editing program for your digital images. It supports a huge number of tools for creating graphics for your website. With Photoshop, web designers can easily create a website's layout using a set of vector based tools - different shapes, styles, gradients and masks are available. Once the website design is finished, Photoshop allows you to slice up your image for use in your website. Also, you can 'Save for web' all your .PSD projects in various web optimized formats including the popular .JPG and .GIF. [9]

2.9 ADOBE DREAMWEAVER CS5


Dreamweaver allows users to preview websites in locally installed web browsers. It provides transfer and synchronization features, the ability to find and replace lines of text or code by search terms and regular expressions across the entire site, and a templating feature that allows single-source update of shared code and layout across entire sites without server-side includes or scripting. Dreamweaver can use third-party "Extensions" to extend core functionality of the application, which any web developer can write (largely in HTML and JavaScript). Dreamweaver is supported by a large community of extension developers who make extensions available (both commercial and free) for most web development tasks from simple rollover effects to full-featured shopping carts. Dreamweaver, like other HTML

10

Chapter 2: Tools And Technology

editors, edits files locally then uploads them to the remote web server using FTP, SFTP, or WebDAV. [8]

Adobe's Dreamweaver is far more than a simple HTML editor. With its support for a great number of scripting languages (PHP, ASP, CSS and more), Dreamweaver is the most powerful, most fully featured web developer tool. Available for both Mac and Windows operating systems, this cross platform development tool allows users to preview websites in their web browsers. It combines a great WYSIWYG editor, an FTP client, and a convenient scripting environment, which supports advanced auto complete and script formatting options. Also, the latest CS4 version features a Live View mode which allows the designers and the developers to view their changes in real time - whenever they make a change to their website's code, the Live View will give an instant feedback to their changes. This is a great time-saving feature, which can help the professionals avoid errors and which allows them to easily experiment with different sets of code. [8]

Dreamweaver is an industry standard for a web development environment. It allows any type of users, from beginners to professionals, from designers to developers, to easily and conveniently create simple or complex dynamic websites.

The skilled professionals usually use the Script Mode of the Dreamweaver. That way they can access the code and take advantage of the auto complete, error checking and script formatting features. For the users with zero knowledge of HTML, the Design View mode provides an advanced WYSIWYG editor which can generate all the HTML code.

For the designers and the developers with more advanced skills there is a Split View functionality, which allows them to edit the code directly in the scripting window and to see the changes in the WYSIWYG editor in Design View mode without the need to switch between the two. [8]

11

Chapter 2: Tools And Technology

2.10 MICROSOFT VISIO 2010


The Visio Professional 2010 Software (32/64-bit) from Microsoft is a Windows application that can be used to create diagrams and charts. Visio takes a data-driven approach to chart creation, automatically adjusting visuals based on changes in data. With a dramatically improved user experience and intelligent drawing tools and templates, Visio 2010 makes every step in creating diagrams easier. [5] It is a diagramming tool that can be used to visually communicate technical as well as non-technical representations of ideas, processes, concepts, structures, layouts, software models, blueprints, etc. Microsoft Visio eliminates the laborious process of creating diagrams by providing the tools to create complex diagrams in a user friendly manner. Whether you want to create an office layout, a basic flowchart or an organizational structure, you can do it with minimal effort using Microsoft Visio. The latest version is Visio 2010 which simplifies complexity with dynamic, data-driven visuals and new ways to share on the Web. [5] The current version, Microsoft Visio 2010 for Windows, is available in three editions: Standard, Professional and Premium. The Standard and Professional editions both share the same interface, but the latter has additional templates for more advanced diagrams and layouts as well as unique functionality that intends to make it easy for users to connect their diagrams to a number of data sources and display the information graphically. [1][2] The Premium edition has three additional diagram types with intelligent rules support, validation and sub process (diagram breakdown) support. [3]

2.11 AJAX
AJAX is an Asynchronous JavaScript and XML.AJAX is not a new programming language but a new way to use existing standards. AJAX is the art of exchanging data with a server, and updating parts of a web page - without reloading the whole page. AJAX is a technique for creating fast and dynamic web pages. [4]

AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a

12

Chapter 2: Tools And Technology

web page, without reloading the whole page. Classic web pages, (which do not use AJAX) must reload the entire page if the content should change. Examples of applications using AJAX: Google Maps, Gmail, YouTube, and Facebook tabs. [4]

Ajax is not a single technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM is accessed with JavaScript to dynamically display, and to allow the user to interact with the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.

Ajax is a technique whereby a website can update part of a page without refreshing the whole content. This saves bandwidth and provides for a more interactive user experience. In other words, changes that a user makes appear quicker on the screen and the website seem to respond much faster. The improved action increases the interactivity of websites and makes the user experience much more enjoyable. It should be noted that Ajax is not a technology in its own right; rather, it is a technique that utilizes other technologies. Ajax is considered one of the core techniques behind Web 2.0 applications.

The main components behind Ajax are XHTML, the DOM model, JavaScript, XML, and CSS. Websites coded in XHTML have very accessible Document Object Models, by definition. JavaScript can be used to interact with the DOM, and to manipulate it. As the JavaScript can also make HTTP requests, it is a convenient bridge for requesting new data from the webserver, and for replacing part of the webpage with the new content. Usually, the new content is transferred in XML, as XML is relatively easy to parse. Finally, CSS is used to define page markup. Note that the webserver in question must be running a programming language capable of serving XML requests to Ajax applications, such as PHP or Perl. [3]

While the use of Ajax generally makes web surfing more enjoyable for the user, the programmer must be careful not to break accepted website behavior with Ajax. A common problem with Ajax applications is the disability of the web browser's Back 13

Chapter 2: Tools And Technology

button. In a normal non-Ajax application, every webpage has a unique URL. Thus, a user can hit the Back button to take him back to the previous URL, which would be the state that the browser was in before the user's last action. This can be seen as a sort of Undo operation. However, with Ajax the URL of the webpage does not change every time the state of the web application changes. Therefore a press of the back button will bring the user to a state much further back than he might have intended. Also, page bookmarking is dependent upon the URL of the page in question. Therefore, pages created by Ajax will not be bookmarkable. Professional programmers have in fact developed techniques to circumvent these issues; however, they are far from perfect. [6]

Figure 2.1 Ajax Cycle

14

Chapter 3: Analysis

CHAPTER 3
ANALYSIS
3.1
ANALYSIS OF A PMS
Project Management System (PMS) is web based tool. The intention of project management is making the working level more and more efficient and reliable. Projects can spend less time for completion. It is used at every project level to organize tasks and track project status, allocate responsibilities, and plan project progress. Especially in the fast growing IT market technologies are changing fast, depending upon the fast growing technologies trend Organizations has to manage their projects. This process will make project management process very easy and fast. The main objective of this solution is to make easy the project management and scheduling process of any organization.

3. 2 IMPORTANCE OF PMS
The number of people and organization start using Project Management System is growing every day. It is surely not without a reason that the popularity of PMS is rising. Their numerous benefits and easy access help people in utilizing their advantages. All organizations use projects as the way to translate strategies into actions and objectives into realities. Many companies are project-intensive they live and breathe project management because they are in that kind of business, such as construction, aerospace, engineering design, engineer-procure-construct (EPC), general contractors, consulting, software, and so on. For them, organizing around projects is a natural way of life as almost all senior staff have "come up through the ranks", and top management understands what it takes to be successful in project work. On the other hand are less project-intensive organizations such as food, retailing and textiles. But even such companies have projects, e.g., setting up a new distribution depot or a new plant. Even in public sector, it is effective project management that translates politicians' visions of new roads, schools and hospitals into gleaming new constructions that improve everyday life. The various benefits of Project Management System (PMS) are:

15

Chapter 3: Analysis

3.2.1 COST-EFFECTIVENESS
Project management provides a roadmap for the journey of success. It is the greatest resource that allows the manager to understand the available resources and the methods to use them with the demands. Thus, with a plan in hand, it is easy to utilize the resources in the optimum possible way. Project management, prior to launching a project, identifies the irrelevant costs, reduces wastage of resources and thus ensures cost-effectiveness in the longer run.

3.2.2 BETTER PRODUCTIVITY


Trustworthy quality of products is a way of retaining the existing clientele and adding to the same. Project management keeps the quality of products in constant check, thus ensuring better productivity in terms of quality and quantity. This not only helps the company in earning goodwill for a lifetime. Project management plans use tools such as six sigma to improve its processes and eliminate the defects, to enhance their productivity.

3.2.3 MINIMIZATION OF RISKS


Every business is faced with risks of loses due to various reasons. However, with a strategy in place, gauging the risks is easier and making diversions from the same is easier as well. This maintains stable work in progress. By planning and analyzing, a project manager can mitigate risks and be a part of fair business competition. Project management helps in identification of loopholes and potential threats. Once these are singled out, the management can then take decisions to change strategies to erase risks that can negatively affect the productivity and business interests at large.

3.2.4 ACCOMPLISHING PREDETERMINED GOALS


Every organization sketches its goals and objectives, which is the basis of earning profits and making a way towards growth. Project management is the key tool for achieving predetermined targets in a structured way. It decides the strategies that will be used to reach the goal in the fastest way. It is a structured way of getting to your objectives.

16

Chapter 3: Analysis

Project management goes through five stages which are; initiation, planning and design, executing, monitoring and controlling, closing and project control systems. After the allocation of the task, the project manager is responsible for drawing out a project management plan in the aforementioned order. He must also hire a team for delegation of work and to supervise the work thereafter. Project management is a branch of management which uses various management tools such as budgeting, allocating and optimization to fulfill a defined goal for a shorter period of time. The importance of project management in organizations is seen through quality of products, customer satisfaction, employee satisfaction, efficiency in business, mitigation of risks involved and a successful business in totality. The positive nature of all these factors of an organization explains why project management is important. Management of any kind always helps in painting a clear picture of what is available, what is required and what is the way to get there, and a true leader will always know it.

3.3.5 UNIQUE DATABASE


The unique database of a PMS portal helps hundreds of leading companies in a short time, which may not be possible otherwise. You can be acquainted with the leading companies in your field and apply with just a click. It ends periodic notifications and mails regarding the opening in various companies that helps you stay updated. [1][2]

3.3
3.3.1

GENERAL REQUIREMENTS OF PMS


REGISTRATION OF USERS

System supports a facility of registering users. The forms are in the format which the users have to submit in the prescribed formats

3.3.2

PROJECT MANAGEMENT

Manager can schedule and monitor project progress. Create projects. Assign tasks to leader .Manager can also create his team. So it reduces the chance of a project failing, ensure a minimum level of quality and that results meet requirements and expectations. 17

Chapter 3: Analysis

3.3.3

GENERATION OF GRAPHICAL REPORTS

By the time of project creation actual date is allotted for project completion. This will enables the user to get the progress of project any time which is observed by the report. Reports of a project progress are viewed in form of graph with the difference of expected and actual result for completion of project.PMS will allow Manager and leader to generate reports of overall project based on the progress of tasks and subtasks. Manager and leader can also view individual task and individual subtask progress.

3.3.4

BUSINESS REQUIREMENTS

The main objective of the PMS is to provide cost and time effective solutions for organizations in maintaining and scheduling their projects. Project management is mainly targeted for achieving predetermined targets in a structured way.

3.3.5

USER FRIENDLY

The solution provides very simple and modified features, which are very easy to view and operate various features. The said project is designed and organized in very simplified manner to suit the current requirements of the organization and peoples.

3.3.6

SECURITY

The Project Management System deals with a lot of proprietary information for its users, which are confidential. It is therefore imperative to provide a means though which information can be kept confidential. This is also ensures that the data that is put into the system maintains its integrity because malicious or unauthorized individual will not have access to alter them. The security is maintained at different levels.

18

Chapter 4: Software Requirement Specification

Chapter 4
SOFTWARE REQUIREMENT SPECIFICATION
4.1 PURPOSE
The main purpose for planning a project is for cost expediency. Proper project planning will insure that the amount of work to be accomplished, the time allotted to satisfactory complete the work scope, and the resources required to complete the work scope are equally balanced. Proper planning allows for the assessment of the impact of change prior to implementing the change. One of the most common purposes is to schedule a series of events or tasks and the complexity of the schedule can vary considerably depending on how the tool is used.

4.2

PROJECT SCOPE AND PRODUCT FEATURES


The scope of PMS is to provide a platform where: The users will easily manage and schedule their projects. The major purpose is to make the project management process very easy and fast Complete the targeted tasks on time.

4.2.1 ADMINISTRATOR FEATURES


1. Login. PMS Administrator can log into the administrator section of Project Management System. Every user has its own dashboard according to role and project administrator has a unique environment. 2. Verify Managers Account. PMS Administrator can verify the unverified Managers who have applied for registration. 3. Verify Leaders account. PMS Administrator can verify the unverified Leaders who have applied for registration. 4. Verify Members account. PMS Administrator can verify the unverified Members who have applied for registration.

19

Chapter 4: Software Requirement Specification

5. Block Users PMS Administrator can block Manager, Leaders and Members accounts after which they cannot be login to PMS. 6. Delete Users. PMS Administrator can delete users. 7. Edit User Information PMS Administrator can edit user information 5. Receive Messages from users. PMS Administrator can receive complains and messages about account related problems from the Users through messaging system.

4.2.2 MANAGER FEATURES


1. Online registration for a Manager account. Manual Verification Manager can register online to PMS afterwards PMS administrator can verify the Manager account. 2. Login. Manager that has been verified and has not been blocked by the administrator can login to PMS Portal. 3. Dashboard. Manager will also have his/her own dashboard which can be used after logging in. Projects names will be visible on managers dashboard in which he/she is manager 4. Create Project Only Manager can create and delete projects 5. Create Team Manager can create their own project team and assign member leader in that team 6. Assign Major Task Manager can assign and delete major task to leader 7. Edit Project Manager can also edit project information 8. View Calendar

20

Chapter 4: Software Requirement Specification

Manager can view calendar 9. View Project progress Manager can also view progress of project any time which is observed by the graphical report 10. Change Password. Manager can also change password. 11. Complain box. Manager can also send messages to leader, member and admin about job seeker.

4.2.3

LEADER FEATURES

1. Online registration for Leader account. Manual Verification Leader can register online to PMS afterwards PMS administrator can verify the leader account. 2. Login. Leader that has been verified and has not been blocked by the administrator can login to PMS Portal. 3. Dashboard. Leader will also have his/her own dashboard which can be used after logging in. Assigned tasks are visible on leader dashboard that has been assigned by manager 4. Assign Subtask Leader can assign subtask to members in his team 5. Delete subtask Leader can delete subtask. 6. Edit Subtask Leader can edit assigned subtask information. 7. View Calendar Leader can view calendar. 8. View Subtasks progress Leader can also view progress of subtasks any time which is observed by the graphical report. 9. Change Password. Leader can also change password. 10. Complain box. 21

Chapter 4: Software Requirement Specification

Leader can also send messages to leader, member and admin about job seeker.

4.2.4

MEMBER FEATURES

1. Online registration for a Member account. Manual Verification Member can register online to PMS afterwards PMS administrator can verify the Member account. 2. Login. Manager that has been verified and has not been blocked by the administrator can login to PMS Portal. 3. Dashboard. Member will also have his/her own dashboard which can be used after logging in. Assigned subtasks are visible on members dashboard that has been assigned by leader 4. Add Progress of Individual Subtask Member can add progress of subtask 5. View Calendar Leader can view calendar. 6. Change Password. Leader can also change password. 7. Complain box. Leader can also send messages to leader, member and admin about job seeker.

4.3 OVERALL DESCRIPTION


4.3.1 PROJECT PERSPECTIVE
The development of online Project Management System (PMS) is advantageous for the organization since Project management are being increasingly adopted by organizations in order to successfully complete their projects on time . In the fast growing era where everything is either already automated or being automated, Proper planning of projects makes easy the project management and scheduling process of any organization. 22

Chapter 4: Software Requirement Specification

4.3.2 USER CLASSES AND CHARACTERISTICS


Administrator Manages all the administrative tasks of PMS including verification and blocking of accounts, manage users, receiving messages and complains. Manager Manager can create projects and monitor them. Assigned tasks to Leader Leader Member Leader assigned subtasks to member and monitor them. Member view subtasks complete them and add progress.

4.3.3 OPERATING ENVIRONMENT


OE-1: PMS shall operate with all browsers but is best operated with latest version of Mozilla Firefox ,Chrome any other browser that support html5 OE-2: PMS shall be on a server running the current corporate approved version of Apache Server. OE-3: If the System gets hosted, it shall run on any PHP and MySQL based web hosting. The Web hosting service will be selected by project owner.

4.3.4 DESIGN AND IMPLEMENTATION CONSTRAINTS


CO-1: The system shall use the MySQL database. CO-2: All coding shall be written in PHP and HTML and HTML5. G55CO-3: All scripts shall be written in JavaScript and Jquery

4.3.5 USER DOCUMENTATION


UD-1: The system shall provide a complete hard copy of the guide in the form of report to users. UD-2: The system shall provide a CD along with the documentation for installation and other guidelines.

4.3.6 ASSUMPTIONS AND DEPENDENCIES


No specific assumption or dependencies 23

Chapter 4: Software Requirement Specification

4.4 SYSTEM REQUIREMENTS


Following hardware and software are used in developing and testing this project:

4.4.1 SOFTWARE REQUIREMENTS


The system should have these software requirements: Eclipse PHP Integrated Development Environment PHP for webserver Any Browser that support html5 (e.g. Mozilla Firefox etc) MYSQL for database. WampServer for hosting

4.4.2 HARDWARE REQUIREMENTS


The system should have these hardware requirements: Laptop or desktop Wifi connection

4.5 SYSTEM DESIGN CONSTRAINTS


The following supports are needed for client Any Browser that support html5 (e.g. Mozilla Firefox etc) Wifi enabled for network connectivity and access portal Network consistency and reliability for sending/receiving the data Laptop or desktop

The following components are needed for web server: Web server like WampServer Web services programming support like PHP Database support like Mysql AT enabled Phone or GSM modem (USB/Serial port support)

The following constraints have to achieve in the web portal 24

Chapter 4: Software Requirement Specification

User-friendly GUI form Web portal must have security

4.6 PERFORMANCE REQUIREMENTS


The performance shall depend upon hardware components of the client. The application shall display confirmation messages to users after the user request to the server.

4.7 SECURITY REQUIREMENTS


The client screen shall never display a clients password. It shall always be echoed with special characters representing typed characters. The systems back-end ser vers shall never display a clients password. The customers password may be reset but never shown. System shall permit assign member to view their assign task they cannot make changes to them. The systems back-end databases shall be encrypted.

4.8 EXTERNAL INTERFACE REQUIREMENTS


4.8.1 USER INTERFACES
The web pages shall permit complete navigation and selection using the keyboard alone, in addition to using mouse and keyboard combinations for following forms: Login Screens Registration Form Add Project Form Create team Form Add Task Form Add users in team Form Change Password Form Edit Task Form 25

Chapter 4: Software Requirement Specification

Edit Project Form

4.9 SOFTWARE QUALITY ATTRIBUTES


Availability: The System and portal shall be available to users any time. Usability: The system will be used by individuals. The system shall be easily adoptive to users through the operations they are trying to perform. Reliability: Data, as entered, must be correctly stored in the database. In addition, the database should use transactions so that partial entries are not stored in the database. Because the user of the system may be inexperienced, each feature must work correctly 99% of the time. Maintainability: The code and design need to be documented well enough and designed such that a senior project team with the same amount of academic and co-op experience can ramp up on the project with in time.

26

Chapter 5: System Design

Chapter 5
SYSTEM DESIGN
5.1 SPIRAL MODEL
The spiral model is selected for the project design it will help to make project that fulfill user needs.

Analysis

Plan Next Iteration

Spiral Model

Implement ation

Testing

Figure 5.1 Spiral Model

27

Chapter 5: System Design

5.2 DATABASE DESIGN


5.2.1 ER- DIAGRAM
Sub Task Team_Project id Team_Id Project_Id Team_Title Sub_Task_Id Task_Id Sub_Task_Name User_Ids Description Start_Date End_Date Start_Time End_Time Status

Users User_Id User_Name Email Password Role_Id Is_Active

Role Team_Users Team_Id User_Ids Is_Leader User_Id Role_Id Role_Title

Messages Projects Project_Id Project_Name Description Start_Date User_Id End_Date Start_Time End_Time Cntrl _No Date_sent To_Receiver From_Sender Opened Mail_subject Messages

Team Team_Id Team_Title

Task Sent Cntrl _No Date_sent To_Receiver From_Sender Opened Mail_subject Messages
Figure 5.2 ER- Diagram

Task_Id Task_Name User_Id Description Start_Date End_Date Start_Time End_Time

28

Chapter 5: System Design

5.2.2 RELATIONAL- MODEL

User

Team_Project id Team_Id Project_Id Team_Title

Sub Task Sub_Task_Id Task_Id Sub_Task_Name User_Ids Description Start_Date End_Date Start_Time End_Time Status

User_Id User_Name Email Password Role_Id Is_Active

Role Role_Id Role_Title

Team_Users Team_Id User_Ids Is_Leader User_Id

Projects Project_Id Project_Name User_Id Description Start_Date End_Date Start_Time End_Time Sent Cntrl _No Date_sent To_Receiver From_Sender Opened Mail_subject Messages

Messages Cntrl _No Date_sent To_Receiver From_Sender Opened Mail_subject Messages

Team Team_Id Team_Title

Task Task_Id Task_Name Team_Id Project_Id User_Id Description Start_Date End_Date Start_Time End_Time

Figure 5.3 Relational Model

29

Chapter 5: System Design

5.3 ACTIVITY DIAGRAMS

Register

Login

Dashboard

View task

Create project

View subtask

Assign subtask

Create team

Add completion

View task completion

Assign members

View completion

Assign task

View progress

Figure 5.4 Activity Diagram of User

30

Chapter 5: System Design

Login

Dashboard

Create project

Create team

Assign members

Assign tasks

Edit task

Delete task

View progress

Figure 5.5 Activity Diagram for project creation mechanism

31

Chapter 5: System Design

Login

Dashboard

User List

Click on Activate user

User Activated

Figure 5.6 Activity Diagram of User Account verification

32

Chapter 5: System Design

Login

Dashboard

User List

Click on block user

User blocked

Figure 5.7 Activity Diagram of blocking user account

33

Chapter 5: System Design

5.4 USE CASE DIAGRAMS


5.4.1 ADMIN USE CASE DIAGRAM

Figure 5.8 Admin Use case Diagram

34

Chapter 5: System Design

5.4.2 MANAGER USE CASE DIAGRAM

Figure 5.9 Manager Use case Diagram

35

Chapter 5: System Design

5.4.3 LEADER USE CASE DIAGRAM

Figure 5.10 Leader Use case Diagram

36

Chapter 5: System Design

5.4.4 MEMBER USE CASE DIAGRAM

Figure 5.11 Member Use case Diagram

37

Chapter 5: System Design

5.5

ARCHITECTURE DIAGRAM

An architectural model (in software) is a rich and rigorous diagram, created using available standards, in which the primary concern is to illustrate a specific set of tradeoffs inherent in the structure and design of a system or ecosystem. Software architects use architectural models to communicate with others and seek peer feedback.

Application Layer Layer


Home UI

Business Layer

Data Access

Display Data User Data

Registration UI

Register Data

Login UI

Login

Project

Dashboard UI

Display dashboard

Project UI

Add New Project

Task

Edit Your Project

Make Changes

Sub Task Task UI Add New Task

Subtask UI

Add New Subtask

Figure 5.12 Architecture Diagram

38

Chapter 5: System Design

5.6

SEQUENCE DIAGRAM

Sign up

Login

Dashboard

Create project

Create team

Create task

Create subtask

Edit

Delete

Calender

Graph

User Create account Login View dashboard Create project


Edit project

Delete project

Create team

Create task

Edit task

Delete task
Create subtask
Edit subtask
Delete subtask

Calender

Graph

Figure 5.13 Sequence Diagram

39

Chapter 6: System Implementation

Chapter 6
SYSTEM IMPLEMENTATION
6.1 PMS DIRECTORY STRUCTURE
Pms are implemented with the help of the following directory structure. In the www directory a folder is made namely PmsPortal. In PmsPortal eight folders have been made. The .settings folder where all php files are residing and the images folder which contain all images for PmsPortal js folder which contains files with .js extension css folder which contains files with .css extension manager folder which contain all php files for manager role leader folder contain all php files of leader role admin folder which contain all php files for admin role member folder which contain all php files for member role the db folder where the database file of PMS residing and another folder namely includes is residing in which files which are to be included in every page are kept Following is the at a glance view of the directory structure of JRP:

www

PmsPortal application (All php files for user regarding to portal) images (Pms portal banners, images and logos) .settings (php files) js includes admin member manager leader

40

Chapter 6: System Implementation

6.1.1 CONFIG.PHP
A config.php file kept in includes folder contains username, password, server name, database name and $domain variable which is made to avoid always writing the path http://localhost:8888/PmsPortal/Application. So where ever the path is needed instead of writing the whole URL just a variable is concatenated. $domain variable also helps to avoid correcting always the path in the browser to http://localhost:8888/PmsPortal.

6.1.2 DBOPERATIONS.PHP
Config.php file is included in dbOperations.php file which contains connection to the database and connection to the server, and sets all config.php file variables to global.

6.1.3

DB CONNECTION

Db connection query is also included in Config.php file which contains connection to the database and variables to global. connection to the server, and sets all config.php file

6.2

SESSION MANAGEMENT

Session is started in config.php file using session_start() function and as config.php file is included in dbOperations.php file which is included in every file of pms, session is easily managed by using $_SESSION[] arrays.

41

Chapter 7: System Testing

Chapter 7
SYSTEM TESTING
The purpose of this chapter is to identify some basic types of testing to provide evidence PMS Admin module by doing the functional testing of the system

7.1

SOFTWARE TESTING:
Software testing can be stated as the process of validating and verifying that a

software program/application/product: 1. 2. 3. Meets the requirements that guided its design and development; Works as expected; and Can be implemented with the same characteristics. [12] .

7.2

TYPES OF SOFTWARE TESTING PROCESSES:


Software testing is done to verify that all valid inputs are appropriately interpreted

and executed, whereas inaccurate inputs are thrown out. Software testing also verifies that results are generated efficiently and large volume of data is handled without any hiccups. It can be carried out electronically or manually. Automatic software testing uses specialized software for testing the code which is under development. When applied judiciously, such testing always benefits the process of software development. [13]

7.3
1.

TESTING OBJECTIVES
The objective of software testing is to check: Whether the application is working as expected without any errors or bugs (Functionality).

2.

Whether the performance of the application is as expected and meets the need.

42

Chapter 7: System Testing

7.4

TESTING STRATEGY
When an organization tests its products or its tools, it tries to compare them

against its expectations and values. By its nature, testing introduces change as problems are identified and resolved. A test strategy is necessary to allow these two impulses to work together. Furthermore, testing can never be said to be 'complete', and a core skill in testing is the justified management of conflicting demands; without a strategy, these judgments will be inconsistent to the point of failure. The test strategy describes how the product risks of the stakeholders are mitigated at the test-level, which types of test are to be performed, and which entry and exit criteria apply. [14]

7.5

TYPES OF TESTING

There are several types of Software testing from which some are discussed below:

7.5.1 WHITE-BOX TESTING


White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing). In white-box testing an internal perspective of the system, as well as programming skills, are required and used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. [15]

7.5.2 BLACK-BOX TESTING


Black-box testing is a method of software testing that tests the functionality of an application as opposed to its internal structures or workings (see white-box testing). Specific knowledge of the application's code/internal structure and programming knowledge in general is not required. Test cases are built around specifications and requirements, i.e., what the application is supposed to do. It uses external descriptions of the software, including specifications, requirements, and designs to derive test cases. [16]

7.5.3 UNIT TESTING


In computer programming, unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable 43

Chapter 7: System Testing

part of an application. In procedural programming a unit may be an individual function or procedure. Unit tests are created by programmers or occasionally by white box testers during the development process. Unit tests are typically written and run by software developers to ensure that code meets its design and behaves as intended. [17]

7.5.4 INTEGRATION TESTING


Integration testing is a logical extension of unit testing. In its simplest form, two units that have already been tested are combined into a component and the interface between them is tested. A component, in this sense, refers to an integrated aggregate of more than one unit. In a realistic scenario, many units are combined into components, which are in turn aggregated into even larger parts of the program. The idea is to test combinations of pieces and eventually expand the process to test your modules with those of other groups. [17]

7.5.5 FUNCTION TESTING


Functional testing is a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered (Not like in white-box testing). Functional testing typically involves five steps: 1. 2. 3. 4. 5. The identification of functions that the software is expected to perform. The creation of input data based on the function's specifications. The determination of output based on the function's specifications. The execution of the test case. The comparison of actual and expected outputs. [18]

44

Chapter 7: System Testing

7.6

TEST CASES

Project: Project Management System Test Case ID: 01

Created By: Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the home page is Project Management System. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal. Check the title of home page. The title of the page should be Project Management System Table 7.1 Title of home page check Expected Result

Project: Project Management System Test Case ID: 02

Created By:: Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether administrator can login with correct email Address and password. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button The home page of the administrator module should open and display the current user request in activity field Table 7.2 Login Test Success Expected Result

45

Chapter 7: System Testing

Project: Project Management System Test Case ID: 03

Created By: Asma Sidra & zYasmin Creation Date: 12/10/2012

Feature to Test: To check whether administrator can login with incorrect email address and password. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter incorrect Administrator Email address talha@gmail.com and Password Juw123 in text fields. Press login button An error message should be displayed on login page that User doesnt exists Table 7.3 Login Test Failure Expected Result

Project: Project Management System Test Case ID: 04

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether administrator can login with correct email address and incorrect password. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and incorrect Password Juw123 in text fields. Press login button An error message should be displayed on login page that Incorrect Password Table 7.4 Login Test Failure Expected Result

46

Chapter 7: System Testing

Project: Project Management System Test Case ID: 05

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether administrator can login with Incorrect email address and correct password. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha@gmail.com and incorrect Password Jw123 in text fields. Press login button An error message should be displayed on login page that User doesnt exists Table 7.5 Login Test Failure Expected Result

Project: Project Management System Test Case ID: 06

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the administrator home page is Home (Admin). Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button The title of the page should be Expected Result

Home (Admin).
Table 7.6 Title of Administrator home page check

47

Chapter 7: System Testing

Project: Project Management System Test Case ID: 07

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Activate User feature works properly. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal Enter correct Administrator Username talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Activate User link from menu bar Activate User page should be opened showing links of each user name who has applied for registration. Table 7.7 Verify Activate User link check Expected Result

3 4

Project: Project Management System Test Case ID: 08

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the activate user page should be Activate Users. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal Enter correct Administrator Username talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Activate User link from menu bar Check the title of the Activate User page. The title of the page is Activate User. Expected Result

3 4 5

Table 7.8 Title of Activate User page check

48

Chapter 7: System Testing

Project: Project Management System Test Case ID: 09

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Verify User feature works properly. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal Enter correct Administrator Username talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Activate User link from menu bar Click on Verify Button in front of Sadiajuw user The Sadiajuw should verified, should not displayed in the list. be be Expected Result

3 4 6.

Table 7.9 Verify Button check

Project: Project Management System Test Case ID: 10

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Unverified User can login using correct username or password. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal . Enter correct Email Address Sadiajuw@gmail.com and Password Juw71687+ in text fields. Press login button The user should be redirected to the dashboard where an error message Your account has not been verified by the administrator. should be displayed. Table 7.10 Unverified User account login check Expected Result

49

Chapter 7: System Testing

Project: Project Management System Test Case ID: 11

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Verified User can login using correct username or password. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal. Enter correct Email Address Sadiajuw@gmail.com and Password Juw71687+ in text fields. Press login button The user should be redirected to the dashboard and log out link should also appear at the top corner of the dashboard Table 7.11 Verified User account login check Expected Result

Project: Project Management System Test Case ID: 12

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check the Block user feature works properly. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal Enter correct Administrator Username talha123@gmail.com and Password Jw123 in text fields. Press login button Click on deactivate User link from menu bar Deactivate User page should be opened showing names of all user with a Block link in front of each. Table 7.12 Block Account link check Expected Result

3 4

50

Chapter 7: System Testing

Project: Project Management System Test Case ID: 13

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the Deactivate user page is Deactivate User Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal Enter correct Administrator Username talha123@gmail.com and Password Jw123 in text fields. Press login button Click on deactivate User link from menu bar Check the Expected Result

3 4 5

title of the Deactivate user page

The title of the page should be Deactivate User. Table 7.13 Title of the Deactivate User Page check.

Project: Project Management System Test Case ID: 14

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Verify User feature works properly. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal Enter correct Administrator Username talha123@gmail.com and Password Jw123 in text fields. Press login button Click on deactivate User link from menu bar Click on block link at the end of Sadiajuw row. The Sadiajuw should blocked, should not displayed in the list. be be Expected Result

3 4 6.

Table 7.14 Block button check.

51

Chapter 7: System Testing

Project: Project Management System Test Case ID: 15

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Blocked User can login using correct Email Address Sadiajuw@gamil.com and passwordJuw71687+-. Step 1 2 Describe the Input or Action to Perform Open home page of PMS Portal. Enter correct Email Address Sadiajuw@gmail.com and Password Juw71687+ in text fields. Press login button Notifications page where an error message Your account has been blocked by the administrator. should be displayed. Table 7.15 Blocked User account login check Expected Result

Project: Project Management System Test Case ID: 16

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Users List feature works properly. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on users list link from menu bar Users list page should be opened showing list of users and their information Table 7.16 Verify Users List link check Expected Result

3 4

52

Chapter 7: System Testing

Project: Project Management System Test Case ID: 17

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the Users List page is Users List. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button From menu bar click on users list link Check the title of the Users list page. The title of the page should be Users List Table 7.17 Title of the Users List page check. Expected Result

3 4 5

Project: Project Management System Test Case ID: 18

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Delete User link works properly. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Delete user list link from menu bar Users list page should be opened showing list of users and their information with delete button Table 7.18 Verify User List link check Expected Result

3 4

53

Chapter 7: System Testing

Project: Project Management System Test Case ID: 19

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the Delete User List page is Delete User. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Delete user list link from menu bar Check the title of the Delete User list page. The title of the page should be Delete User. Table 7.19 Title of the Delete User List page check. Expected Result

3 4 5

Project: Project Management System Test Case ID: 20

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Delete button works properly. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Delete user list link from menu bar Click on Delete button Delete page should be opened showing message Are you sure you really want to delete that user with two button Yes and No Expected Result

3 4 5

Table 7.20 Verify delete button check

54

Chapter 7: System Testing

Project: Project Management System Test Case ID: 21

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether No link is a broken link. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Delete user list link from menu bar Click on Delete button Click on No button The page should be redirect to Delete User list page Table 7.21 No link check. Expected Result

3 4 5 6

Project: Project Management System Test Case ID: 22

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Yes link is a broken link. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Delete user list link from menu bar Click on Delete button Click on Yes button The page should be redirect to delete User list page and that user should be deleted from the list Table 7.22Yes link check. Expected Result

3 4 5 6

55

Chapter 7: System Testing

Project: Project Management System Test Case ID: 23

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the Change Password page is Change Password. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button From menu bar click on Change Password link Check the title of the Change Password page. The title of the page should be Change Password Table 7.23 Title of the Change Password page check. Expected Result

3 4 5

Project: Project Management System Test Case ID: 24

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Change Password link works properly. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Change Password link from menu bar Change Password page should be opened. Table 7.24 Verify Change Password link check Expected Result

3 4

56

Chapter 7: System Testing

Project: Project Management System Test Case ID: 25

Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether the title of the Confirm Delete page is Confirm Delete User. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Delete user list link from menu bar Click on Delete button Delete page should be opened showing message Are you sure you really want to delete that user with two button Yes and No The title of the page should be Confirm Delete User. Expected Result

3 4 5

Check the title of the Confirm delete page.

7.25 Title of the Confirm Delete page check. Project: Project Management System Test Case ID: 26 Created By: : Asma Sidra & Yasmin Creation Date: 12/10/2012

Feature to Test: To check whether Edit User link works properly. Step 1 2 Describe the Input or Action to Perform Open login page of PMS portal. Enter correct Administrator Email address talha123@gmail.com and Password Jw123 in text fields. Press login button Click on Edit User link from menu bar Edit User page should be opened. showing list of users and their information with Edit button Expected Result

3 4

Table 7.26 Verify Edit User link check

57

Chapter 7: System Testing

7.7

VALIDATION LOG
Completion Project: Project Management System Test Event: Block Users Test Case ID 01 Testing Date Responsible Tester Date: 12/10/2012 Name: Asma Sidra & Yasmin Test Results /Problems Review Date: 12/10/2012 Name: Asma Sidra & Yasmin Status (Pass/Fail) Pass

12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin

The title of the page should be Project Management System

02

The home page of the administrator module should open and display the current user request in activity field employer. An error message should be displayed on login page that User doesnt exists

Pass

03

Pass

04

The home page of the administrator module is displayed showing the login form of administrator. An error message should be displayed on login page that User doesnt exist.

Pass

05

Pass

06

The title of the page should be (Admin).

Home

Pass

07

Activate User page should be opened showing links of each user name who has applied for registration. The title of the page should be Activate User.

Pass

08

Pass

58

Chapter 7: System Testing

09

12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma

The Sadiajuw should be verified, should not be displayed in the list..

Pass

10

The user should be redirected to the dashboard where an error message Your account has not been verified by the administrator. should be displayed. The user should be redirected to the dashboard and log out link should also appear at the top corner of the dashboard Deactivate User page should be opened showing names of all user with a Block link in front of each.. The title of the page should be Deactivate User.

Pass

11

Pass

12

Pass

13

Pass

14

The Sadiajuw should be blocked, should not be displayed in the list.

Pass

15

Notifications page where an error message Your account has been blocked by the administrator. should be displayed. Users list page should be opened showing list of users and their information

Pass

16

Pass

17

The title of the page should be Users List.

Pass

18

Users list page should be opened showing list of users and their information with delete button

Pass

19

The title of the page should be Delete User.

Pass

59

Chapter 7: System Testing

Sidra & Yasmin


20

12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin 12/10/2012 Asma Sidra & Yasmin

Delete page should be opened showing message Are you sure you really want to delete that user with two button Yes and No The page should be redirect to Delete User list page

Pass

21

Pass

22

The page should be redirect to delete User list page and that user should be deleted from the list The title of the page should be Change Password

Pass

23

Pass

24

Change Password page should be opened.

pass

25

The title of the page should be Confirm Delete User.

pass

26

Edit User page should be opened. showing list of users and their information with Edit button

pass

60

Appendix A

APPENDIX A ABBREVIATIONS
CSS CS & IT DBMS HTML PHP PMS SQL ER WAMP VC JUW Cascade Style Sheets Computer Science and Information Technology Data Base Management System Hyper Text Markup Language Hyper Text Pre Processor Project Management System Structured Query Language Entity Relation Windows Apache MySQL PHP Vice Chancellor Jinnah University for Women

61

Appendix B

APPENDIX B GLOSSARY
DATA DICTIONARY
A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format." The term may have one of several closely related meanings pertaining to databases and database management

systems (DBMS): A document describing a database or collection of databases. An integral component of a DBMS that is required to determine its structure.

PROJECT MANAGEMENT SYSTEM


Project management is the discipline of planning, organizing, securing, managing, leading, and controlling resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end (usually time-constrained, and often constrained by funding or deliverables), undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value.

MODULE
A module is a portion of a program that carries out a specific function and may be used alone or combined with other modules of the same program.

WEB PORTALS
A web portal or links page is a web site that functions as a point of access to information in the World Wide Web. A portal presents information from diverse sources in a unified way.

62

Appendix B

SOFTWARE REQUIREMENTS SPECIFICATION

A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS fully describes what the software will do and how it will be expected to perform.

63

Appendix C

APPENDIX C DATA DICTIONARY


In data dictionary we can easily get the tables that are used in Project Management System (PMS). It includes messaging, projects, roles, sent_items, sub_tasks, task, teams, team_projects, team_users, and users.

Figure Message Table

Figure Project Table

64

Appendix C

Figure Roles Table

Figure Sent Item Table

Figure Subtask Table

65

Appendix C

Figure Task Table

Figure Team Project Table

66

Appendix C

Figure Team User Table

Figure Team Table

Figure Users Table

67

Appendix D

APPENDIX D SNAP SHOTS


HOME PAGE
This is the home page of PMS.

Figure Home Page

68

Appendix D

LOGIN PAGE
Following snapshot shows the login page for all users User can login through assigned email address and password.

Figure Login Page

69

Appendix D

DASHBOARD PAGE
Dashboard view of each user is according to their roles and privileges following snapshot is of manager dashboard it shows welcome note and his role. Activity feed consists of recent ongoing projects of manager with detail button. Similarly leader dashboard activity field will contain assigned tasks that have been assigned by Manager and the member dashboard activity field will contain assigned subtasks that have been assigned by leader.

Figure Dashboard

70

Appendix D

PROJECT DETAIL PAGE


When user clicks on detail button on activity field than it is redirect to detail page of project. It shows the details of project like project start date, end date and overall project progress. Manager can edit and delete project as well. Similarly leader can also view detail page which show tasks details.

Figure Project Details

71

Appendix D

TASK DETAIL PAGE


When manager clicks on view task button it will redirect to task detail page. Task detail page show all information about tasks that manager has assigned to leader .It shows task name, start date, end date, Task Completion it is computed on the basis of subtask completion Similarly manager can also edit and delete tasks. Similarly leader also views subtasks information.

Figure Task Details

72

Appendix D

ADMIN DASHBOARD

Figures Admin Dashboard

ADMIN USERLIST

Figures Admin Userlist

73

Appendix D

ADMIN DELETE USER

Figures Admin Delete User

ADMIN EDIT USER

Figures Admin Edit User

74

Appendix E

APPENDIX E CODE
The coding provided below is of the registration module of project management system.

1. INDEX.PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <link rel="stylesheet" href="css/style.css" type="text/css" /> <title>Project Management System</title> <link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" /> </head> <?php include 'header.php'; ?> </div> <div class="left"> <div class="left_box"> <h1><strong>The<u>easiest</u> way to manage your projects</strong></h1> <br> <h2> Simple web based project management and collaboration tool</h2> <br> <p id="slider"> <imgsrc="images/home-intro.png" alt="Image 2" title="" /> <imgsrc="images/bbb.gif" alt="Image 3" title=" " /> <imgsrc="images/bbbb.jpg" alt="Image 4" title="" /> <imgsrc="images/dd.jpg" alt="Image 5" title="" /> <imgsrc="images/ddd.jpg" alt="Image 1" title="" /> <imgsrc="images/images.jpg" alt="Image 1" title="" /> </p> </div> <div class="left_side"></div> <div class="right_side">

</div> <div class="left_box"> 75

Appendix E

</div> </div> <div class="right"> <h3><center> Manage your projects and tasks </center></h3><div class="right_articles"> <p> <imgsrc="images/Calendar2.jpg" alt="Image" title="Image" width="240px" height="150"/> </p> </div><h3><center> Create invoices & track expenses</center></h3> </div> <?php include 'footer.php'; ?> </body> </html>

2. LOGIN.PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> s<html xmlns="http://www.w3.org/1999/xhtml">

<head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <link rel="stylesheet" href="css/style.css" type="text/css"/> <title>Login</title> <?php include 'header.php'; ?> </div><h1 align="center"> Easy-to-use online project management & collaboration tool.</h1> <div class="left_box" align="center"> <form action="login.php" method="post" class="form" style="height:370px"> <h1 align="left"> Login</h1> <label> Email: </label> <input type="text" name="email1" align="left"/> <br>

76

Appendix E

<label> Password: </label> <br> <input type="password" name="password" align="center"/> <br><input type="submit" value="Login" class="submit" /> <a href='register.php'><b>Register </b></a> </form> <br> <div class="error"> <br> <?php error_reporting(E_ERROR | E_PARSE); email1 = $_POST["email1"]; $password = $_POST["password"]; $role =""; if($email1&&$password){ $query = mysql_query("SELECT * FROM users WHERE Email='".$email1."'"); $numrows = mysql_num_rows($query); if($numrows!=0) { while ($row = mysql_fetch_assoc($query)) { $username = $row['User_Name']; $dbemail1 = $row['Email']; $dbpassword = $row['Password']; $dbRole_Id = $row['Role_Id']; $dbUser_Id = $row['User_Id']; } // check to see if they match! if($email1==$dbemail1&&md5($password)==$dbpassword) { if($dbRole_Id == 1){ session_start(); $_SESSION['User_Name']=$username; $_SESSION['User_Id']=$dbUser_Id;//col name $_SESSION['Role_Id'] = $dbRole_Id; $_SESSION['$dbUser_Id'] = "log"; mysql_close($db_handle); header("Location: manager/manager.php"); exit(); } else if($dbRole_Id == 2){ session_start(); $_SESSION['User_Name']=$username; $_SESSION['User_Id']=$dbUser_Id;//col name 77

Appendix E

$_SESSION['$dbUser_Id'] = "log"; mysql_close($db_handle); header("Location: member/member.php"); exit(); } else if($dbRole_Id == 3) { session_start(); $_SESSION['User_Name']=$username; $_SESSION['User_Id']=$dbUser_Id;//col name $_SESSION['$dbUser_Id'] = "log"; mysql_close($db_handle); header("Location: admin/admin.php"); exit(); } else if($dbRole_Id == 4) { session_start(); $_SESSION['User_Name']=$username; $_SESSION['User_Id']=$dbUser_Id;//col name $_SESSION['$dbUser_Id'] = "log"; mysql_close($db_handle); header("Location: leader/leader.php"); exit(); } } else echo "Incorrect password!"; } else die("That user does not exists"); } else die("Please enter username and password"); ?> </div> <?php include 'footer.php'; ?> </body> </html>

78

Appendix E

3. REGISTER.PHP
<html> <head>

<title>Register</title> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <link rel="stylesheet" href="css/style.css" type="text/css"/>

<style> input { width: 260px; } </style> </head> <?php include 'header.php'; ?> </div>

<h1 align="center"> Sign up and start <strong> saving time &amp; money </strong>.</h1>

<div class="rightt" > <br> <br> <br> <h1><strong>Five reasons you'll love Project Management</strong></h1> <ol> 79

Appendix E

<li>It's ultra fast, fun and easy to use</li> <li>It lets you get organized and productive quickly</li> <li>Your data is really secure and safe always</li> <li>Invite your team and share projects &amp; files</li> <li>The best support you'll find on all plans</li> </ol> </div> <br> <br> <div class="left_box"> <div class="error"> <?php $submit = strip_tags(isset($_POST['submit']) ? $_POST['submit'] : ''); $email1 = strip_tags(isset($_POST['email1']) ? $_POST['email1'] : ''); $username = strip_tags(isset($_POST['username']) ? $_POST['username'] : ''); $password = strip_tags(isset($_POST['password']) ? $_POST['password'] : ''); $repeatpassword = strip_tags(isset($_POST['repeatpassword']) ? $_POST['repeatpassword'] : ''); $date = date("Y-m-d"); $Role_Id = strip_tags(isset($_REQUEST['Role_Id']) ? $_REQUEST['Role_Id'] : ''); echo"<br>";

if($submit) { // check for existance if($email1&&$username&&$password&&$repeatpassword&&$Role_Id) { if($password==$repeatpassword) { // check char length of user name and full name if(strlen($username)>25||strlen($fullname)>25) 80

Appendix E

{ echo"length of user name is too long"; } else { // check password length if(strlen($password)>25||strlen($password)<6) { echo "password must be between 6 and 25 characters"; } else { // register the user // encrypt password $password = md5($password); $repeatpassword = md5($repeatpassword);

$queryreg2=mysql_query("INSERT INTO ('','$email1','$username','$password','$date','$Role_Id','') "); header('location: after-register.php'); exit(); } } } else echo "Your password donot match"; } else echo"Please fill in all fields"; } ?> </div> <br>

users

VALUES

<form action='register.php' method='POST' class="form" style="height:520px;">

81

Appendix E

<br> <label> Email: </label> <br> <input type='email' name='email1' placeholder="someone@example.com" pattern="^[azA-Z0-9-\_.]+@[a-zA-Z0-9-\_.]+\.[a-zA-Z0-9.]{2,5}$" maxlength=30 title="Please enter an email in proper format" required /> <br> <br> <br>

<label> User Name: </label> <br> <input type='text' name='username' value='<?php echo $username;?>'pattern="^([A-Zaz]{5,10})+\d*$" title="No space, Minmimum 5 characters required" placeholder="User Name" maxlength=25 required /> <br> <br> <br>

<label> Password: </label> <br> <input type="password" name="password" align="center" pattern="^(?=.*\d)(?=.*[az])(?=.*[A-Z])(?!.*\s).*$" placeholder="Password" title="Password must contain at least 6 characters without space,including Upper/Lowercase and number" maxlength=15 required /> <br> <br> <br>

<label> Repeat Password: </label> <br> <input type='password' name='repeatpassword' pattern="^(?=.*\d)(?=.*[a-z])(?=.*[AZ])(?!.*\s).*$" placeholder="Repeat Password" title="Password must contain at least 6 characters without space,including Upper/Lowercase and number" maxlength=15 required />

82

Appendix E

<br> <br> <br> <label> Role :&nbsp;&nbsp;&nbsp;&nbsp;</label>

<select name='Role_Id'> <?php //open database connection $query = mysql_query("SELECT Role_Id,Role_Title FROM roles "); while ($row = mysql_fetch_assoc($query)) { ?> <option value="<?php echo $row['Role_Id']?> "><?php echo $row['Role_Title']?></option> <?php } ?> </select> <br> <br> <br> <input type="submit" name='submit' value="Get Started" class="submit" /> <br> <br> <br> <label> By creating an account you agree with our <a href="#"> <b>Terms of Service </b> </a>. <label/> </form> </div>

<?php include 'footer.php'; ?>

83

Appendix E

</body> </html>

4. ADMIN.PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Home(Admin) </title> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <script src="../src/js/jscal2.js"></script> <script src="../src/js/lang/en.js"></script> <link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" /> <link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" /> <link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" /> <link rel="stylesheet" href="../css/style.css" type="text/css" /> </head> <?php include 'header-a.php'; ?> <div class="left"> <br /> <br /> <div class="left_box"> <h2 style=" padding: 0; font: 2em Arial, Sans-Serif; letter-spacing: -1px; "><strong>Welcome to your Dashboard,<?php print ($username); ?> </strong> (Admin) </h2> </div> <div class="left_box"> <h3 style="width:780px"><strong>Activity Feed</strong></h3> <table width="800"<tbody width="100"> <tr> <th width="100">User Name</th> <th width="100">Email</th> <th width="100">Role Tiltle</th> 84

Appendix E

<th width="100">Users Request</th> </tr> <br/> </tbody> <?php

// for error hiding error_reporting(E_ALL ^ E_NOTICE); //open database connection include_once("../includes.php"); error_reporting(E_ERROR | E_PARSE); if(isset($_GET['action'])=='activate' && isset($_GET['id'])){ $query="update users set is_active=1 where User_Id=".$_GET['id']; $result =mysql_query($query); }elseif(isset($_GET['action'])=='deactive' && isset($_GET['id'])){ $query="update users set is_active=0 where User_Id=".$_GET['id']; $result =mysql_query($query); } $query = "SELECT users.User_Name,users.Email,roles.Role_Title,users.is_active,roles.Role_Id,users.Role_Id,users. User_Id,users.is_active FROM users INNER JOIN roles ON users.Role_Id = roles.Role_Id WHERE users.is_active=0"; $result = mysql_query($query); while ($db_field = mysql_fetch_assoc($result)) { $a = $db_field['User_Name']; $c = $db_field['Email']; $is_active=$db_field['is_active']; $d = $db_field['Role_Title']; if($is_active==1){ $html="<font size = '3' color='#000'><a href='admin.php?id=".$db_field['User_Id']."&action=deactive'>Active user</a></font>"; }elseif($is_active==0){ $html="<font size = '3' color='#000'><a href='admin.php?id=".$db_field['User_Id']."&action=activate'>Request</a></font>"} echo"<tr bgcolor=#F8CE89>"; echo"<td align = 'center'><font size = '2' color='#000'> $a</font></td>"; echo"<td align = 'center'><font size = '2' color='#000'>$c</font></td>"; echo"<td align = 'center'><font size = '2' color='#000'>$d</font></td>"; 85

Appendix E

echo "<td align = 'center'><font size = '2' color='#000'>".$html."</font</td>"; echo"</tr>"; } ?> </table> </div> </div> <br /> </div> <br /> </div> </div> </div> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br/><br/> <br /><br /><br /><br /> <?php include '../footer.php'; ?> </body> </html>

86

References

REFERENCES
[1] http://en.wikipedia.org/wiki/APACHE [2] http://www.w3schools.com/php [3] http://www.mysql.com/why-mysql [4] http://www.wampserver.com/en/presentation.php [5] http://en.wikipedia.org/wiki/Project_management [6] http://www.w3schools.com/Html5 [7]http://www.zend.com/en/featur [8] http://findmysolution.blogspot.com/2009/07/advantages-and-disadvantages-of php.html [9] http://en.wikipedia.org/wiki/WAMP [10] http://download.cnet.com/Komodo-Edit/3000-2212_4-139739.html [11] http://en.wikipedia.org/wiki/Adobe_Dreamweaver [12] http://www.google.com.pk/search?hl=en&q=Photoshop cs3&tbs=dfn:1&tbo=u&sa =X&ei=AkrjTZy ODsPMrQe3tI2sBg&ved=0CBYQkQ4&biw=1024&bih=575 [13] [8] http://webscripts.softpedia.com/script/Database-Tools/NHibernate-43490.html [14] http://en.wikipedia.org/wiki/Apache_HTTP_Server [15] http://en.wikipedia.org/wiki/Software_testing [16] http://www.i-techzone.com/software-testing/ [17] http://sites.google.com/site/itsallabouttesting/Home/test-stra [18] http://en.wikipedia.org/wiki/White-box_testing [19] http://en.wikipedia.org/wiki/Black-box_testing [20] http://en.wikipedia.org/wiki/Unit_testing [21] http://en.wikipedia.org/wiki/Functional_testing [22] http://www.testinggeek.com/installation-testing [23] http://en.wikipedia.org/wiki/Installation_testing

87

Вам также может понравиться