Task Management System
Task Management System
In a company where the hierarchy of employees spans over thousand managing the work
with them is a difficult job. And in an environment where number of jobs is done
simultaneously picking the right person for the job is also difficult task, as you are not
aware of their availability. This online task management system application is
designed for such an environment where the work is divided into group of employees and
during the course of division the employees are selected to be part of the work in hand.
This online task management system software being a web based is easily accessible from any
corner of the company as every machine is part of a LAN network. The reason why it is made
as a web application rather than a window based application if for the same reason. The
complete task is divided into two types of users. Administrator (Highest authority),
Manager (working group Community). The activities underlying these sections are as
per the company policies.
This online task management system application provides most of the features required to
manage the tasks developed in a firm.
This online task management system volume presents the manner in which the software was
developed and how the various problems are tackled at the different levels to convince the
user.
We hope that online task management system this online task management system package
would prove to be an excellent environment to make Project Management simpler for end
user.
1
1) PURPOSE OF THE PROJECT
To develop a common interface for different sections of the firm.
The system should provide help in managing different tasks as well as the
employees associated with the work.
Instant status of involvements of a person in the task.
To provide all the available members to be part of the team and easy selection
procedure to make them available when required.
Security to the confidential information.
Reduce the redundancy of making the entries of the activities which are done
manually.
To speed up the processing with in the firm.
2) PROBLEMS IN THE EXISTING SYSTEM
The current system is a manual one where in the company maintains all the
information in the form of records. There by collecting necessary information with
require a manual search in the record(s).
Transfer of information between different sections of the enterprise is in the
form of documents or letters. Drafting letters will take time.
Selection of a person for a task is done by manually approaching the person and
confirming the availability of the person.
Due to mismanagement the work is delayed to later date than the due date.
Unavailability of proper information to different levels of employees with in the firm.
2
4) SCOPE OF THE PROJECT
Although the current system is confined to only one firm its performance is limited
and restricted to the company. It spans over all the departments which can reach
the server from their systems though lan network.
The application is made as simple as surfing a website.
There by non technical persons can also interact with the processing on the
application easily.
Provides instant information regarding the work under process with in the company.
Easy management of data as located at a server.
3
SOFTWARE
REQUIREMENT
SPECIFICATION
4
SOFTWARE REQUIREMENT SPECIFICATION
HARDWARE REQUIREMENTS
Intel i3 3rd Generation/ AMD Athalon Processor
4 GB Ram
Hard disk 250 GB
Microsoft Compatible 101 or more Key Board
SOFTWARE REQUIREMENTS
Web Technologies : HTML
Language : PHP
Database : MySQL Server
Web Server : XAMPP
Operating System : WINDOWS 7
SOFTWARE REQUIREMENT SPECIFICATION REQUIREMENT
SPECIFICATION:
The software, is designed for management of the tasks with in a management environment of
an organization.
INTRODUCTION
Purpose: The main purpose for preparing this online task management system
document is to give a general insight into the analysis and requirements of the existing
system or situation and for determining the operating characteristics of the system.
Scope: This online task management system Document plays a vital role in the development
life cycle (SDLC)
As it describes the complete requirement of the system. It is meant for use by the
developers and will be the basic during testing phase. Any changes made to the
requirements in the future will have to go through formal change approval process.
Developers Responsibilities Overview: The developer is responsible for:
1) Developing the system, which meets the SRS and solving all the requirements of the
system?
2) Demonstrating the system and installing the system at client's location after the acceptance
testing is successful.
3) Submitting the required user manual describing the system interfaces to work on it
and also the documents of the system.
5
FUNCTIONAL REQUIREMENT
OUTPUT DESIGN
Outputs from computer systems are required primarily to communicate the results of
processing to users. They are also used to provides a permanent copy of the results for
later consultation. The various types of outputs in general are:
External Outputs, whose destination is outside the organisation.
Internal Outputs whose destination is with in organisation and they are the
User’s main interface with the computer.
operational outputs whose use is purely with in the computer department.
Interface outputs, which involve the user in communicating directly with
Output Definition
The outputs should be defined in terms of the following points:
Type of the output
Content of the output
Format of the output
Location of the output
Frequency of the output
Volume of the output
Sequence of the output
For Example
Will decimal points need to be inserted should leading zeros be suppressed. Output Media:
In the next stage it is to be decided that online task management system project report
which medium is the most appropriate for the output. The main considerations
when deciding about the output media are:
The suitability for the device to the particular application.
The need for a hard copy.
The response time required.
The location of the users
6
The software and hardware available. The cost.
Keeping in view the above description the project is to have outputs mainly coming under
the category of internal outputs. The main outputs desired according to the requirement
specification are:
The outputs were needed to be generated as a hot copy and as well as queries to be viewed on
the screen. Keeping in view these outputs, the format for the output is taken from the
outputs, which are currently being obtained after manual processing. The standard printer is
to be used as output media for hard copies.
INPUT DESIGN
Input design is a part of overall system design. The main objective during the input
desing is as given below:
To produce a cost-effective method of input.
To achive the highest possible level of accuracy.
To ensure that online task management system the input is acceptable and
understood by the user.
INPUT STAGES:
The main input stages can be listed as below:
• Data recording
• Data transcription
• Data conversion
• Data verification
• Data control
• Data transmission
• Data validation
• Data correction
INPUT TYPES:
It is necessary to determine the various types of inputs. Inputs can be categorized as
follows:
• External inputs, which are prime inputs for the system.
• Internal inputs, which are user communications with the system.
• Operational, which are computer department’s communications to the system?
INPUT MEDIA:
7
At this online task management system stage choice has to be made about the input media.
To conclude about the input media consideration has to be given to;
• Type of input
• Flexibility of format
• Speed
• Accuracy
• Verification methods
• Rejection rates
• Ease of correction
• Storage and handling requirements
• Security
• Easy to use
• Portabilility
Keeping in view the above description of the input types and input media, it can be said that
online task management system most of the inputs are of the form of internal and interactive.
As Input data is to be the directly keyed in by the user, the keyboard can be considered to be
the most suitable input device.
ERROR AVOIDANCE
At this online task management system stage care is to be taken to ensure that online task
management system input data remains accurate form the stage at which it is recorded upto
the stage in which the data is accepted by the system. This online task management
system can be achieved only by means of careful control each time the data is handled.
ERROR DETECTION
Even though every effort is make to avoud the occurrence of errors, still a small proportion of
errors is always likely to occur, these types of errors can be discovered by using
validations to check the input data.
DATA VALIDATION
Procedures are designed to detect errors in data at a lower level of detail. Data validations
have been included in the system in almost every area where there is a possibility for the user
to commit errors. The system will not accept invalid data. Whenever an invalid
data is keyed in, the system immediately prompts the user and the user has to again key in the
data and the system will accept the data only if the data is correct. Validations have been
included where necessary.
8
The system is designed to be a user friendly one. In other words the system has been
designed to communicate effectively with the user. The system has been designed with pop
up menus.
USERINTERGFACE DESIGN
It is essential to consult the system users and discuss their needs while designing the user
interface:
USER INTERFACE SYSTEMS CAN BE BROADLY CLASIFIED AS:
1. User initiated interface the user is in charge, controlling the progress of the
user/computer dialogue. In the computer-initiated interface, the computer selects the
next stage in the interaction.
2. Computer initiated interfaces
In the computer initiated interfaces the computer guides the progress of the user/computer
dialogue. Information is displayed and the user response of the computer takes action
or displays further information.
USER_INITIATED INTERGFACES
User initiated interfaces fall into tow approximate classes:
1. Command driven interfaces: In this online task management system type of
interface the user inputs commands or queries which are interpreted by the computer.
2. Forms oriented interface: The user calls up an image of the form to his/her screen and
fills in the form. The forms oriented interface is chosen because it is the best choice.
COMPUTER-INITIATED INTERFACES
The following computer – initiated interfaces were used:
1. The menu system for the user is presented with a list of alternatives and the user
chooses one; of alternatives.
2. Questions – answer type dialog system where the computer asks question and takes
action based on the basis of the users reply.
Right from the start the system is going to be menu driven, the opening menu displays the
available options. Choosing one option gives another popup menu with more options.
In this online task management system way every option leads the users to data entry form
where the user can key in the data.
ERROR MESSAGE DESIGN:
The design of error messages is an important part of the user interface design. As user
is bound to commit some errors or other while designing a system the system should be
9
designed to be helpful by providing the user with information regarding the error he/she
has committed.
This online task management system application must be able to produce output at different
modules for different inputs.
Performance Requirements:
Performance is measured in terms of the output provided by the application.
Requirement specification plays an important part in the analysis of a system. Only
when the requirement specifications are properly given, it is possible to design a system,
which will fit into required environment. It rests largely in the part of the users of the
existing system to give the requirement specifications because they are the people who
finally use the system. This online task management system is because the
requirements have to be known during the initial stages so that online task
management system the system can be designed according to those requirements. It is very
difficult to change the system once it has been designed and on the other hand
designing a system, which does not cater to the requirements of the user, is of no use.
The requirement specification for any system can be broadly stated as given below:
• The system should be able to interface with the existing system
• The system should be accurate
• The system should be better than the existing system
• The existing system is completely dependent on the staff to perform all the
duties.
10
IMPLEMENTATION
11
OVERVIEW OF TECHNOLOGIES USED
PHP is a server-side scripting language designed primarily for web development but also used as
a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994,the
PHP reference implementation is now produced by The PHP Development Team. PHP originally
stood for personal home page but it now stands for the recursive acronym PHP: Hypertext
Preprocessor.
PHP code may be embedded into HTML or HTML5 code, or it can be used in combination with
various web template systems, web content management systems and web frameworks. PHP code is
usually processed by a PHP interpreter implemented as a module in the web server or as a Common
Gateway Interface (CGI) executable. The web server combines the results of the interpreted and
executed PHP code, which may be any type of data, including images, with the generated web page.
PHP code may also be executed with a command-line interface (CLI) and can be used to
implement standalone graphical applications.
The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP
License. PHP has been widely ported and can be deployed on most web servers on almost
every operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard until 2014, leaving the
canonical PHP interpreter as a de facto standard. Since 2014 work has gone on to create a formal PHP
specification.PHP development began in 1995 when Rasmus Lerdorf wrote several Common
Gateway Interface (CGI) programs in C, which he used to maintain his personal homepage. He
extended them to work with web forms and to communicate with databases, and called this
implementation "Personal Home Page/Forms Interpreter" or PHP/FI.
PHP/FI could help to build simple, dynamic web applications. To accelerate bug reporting and to
improve the code, Lerdorf initially announced the release of PHP/FI as "Personal Home Page
Tools(PHPTools)version1.0"onthe Usenet discussiongroup comp.infosystems.www.authoring.cgi on
June 8, 1995. This release already had the basic functionality that PHP has as of 2013. This
included Perl-like variables, form handling, and the ability to embed HTML. The syntax resembled
that of Perl but was simpler, more limited and less consistent.
Lerdorf did not intend the early PHP to become a new programming language, but it grew
12
organically, with Lerdorf noting in retrospect. A development team began to form and, after months
of work and beta testing, officially released PHP/FI 2 in November 1997.
The fact that PHP lacked an original overall design but instead developed organically has led to
inconsistent naming of functions and inconsistent ordering of their parameters. In some cases, the
function names were chosen to match the lower-level libraries which PHP was "wrapping",while in
some very early versions of PHP the length of the function names was used internally as a hash
function, so names were chosen to improve the distribution of hash values.
PHP 3 and 4
Zeev Suraski and Andi Gutmans rewrote the parser in 1997 and formed the base of PHP 3, changing
the language's name to the recursive acronym PHP:Hypertext Preprocessor. Afterwards, public testing
of PHP 3 began, and the official launch came in June 1998. Suraski and Gutmans then started a
new rewrite of PHP's core, producing the Zend Engine in 1999. They also founded Zend
Technologies in Ramat Gan, Israel. On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was
released. As of August 2008 this branch reached version 4.4.9. PHP 4 is no longer under development
nor will any security updates be released.
PHP 5
On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included new
features such as improved support for object-oriented programming, the PHP Data Objects (PDO)
extension (which defines a lightweight and consistent interface for accessing databases), and
numerous performance enhancements. In 2008 PHP 5 became the only stable version under
development. Late static binding had been missing from PHP and was added in version 5.3.
Many high-profile open-source projects ceased to support PHP 4 in new code as of February 5, 2008,
because of the GoPHP5 initiative, provided by a consortium of PHP developers promoting the
transition from PHP 4 to PHP 5. Over time, PHP interpreters became available on most existing 32-
bit and 64-bit operating systems, either by building them from the PHP source code, or by using pre-
built binaries. For the PHP versions 5.3 and 5.4, the only available Microsoft Windows binary
distributions were 32-bit x86 builds, requiring Windows 32-bit compatibility mode while
using Internet Information Services (IIS) on a 64-bit Windows platform. PHP version 5.5 made the
64-bit x86-64 builds available for Microsoft Windows.
13
major changes both to the internals of the language and to user code, it was planned to release this as
version 6.0 of the language, along with other major features then in development.
However, a shortage of developers who understood the necessary changes, and performance problems
arising from conversion to and from UTF-16, which is rarely used in a web context, led to delays in
the project. As a result, a PHP 5.3 release was created in 2009, with many non-Unicode features back-
ported from PHP 6, notably namespaces. In March 2010, the project in its current form was officially
abandoned, and a PHP 5.4 release was prepared containing most remaining non-Unicode features
from PHP 6, such as traits and closure re-binding. Initial hopes were that a new plan would be formed
for Unicode integration, but as of 2014 none have been adopted.
PHP 7
During 2014 and 2015, a new major PHP version was developed, which was numbered PHP 7. The
numbering of this version involved some debate. While the PHP 6 Unicode experiment had never
been released, several articles and book titles referenced the PHP 6 name, which might have caused
confusion if a new release were to reuse the name. After a vote, the name PHP 7 was chosen.The
foundation of PHP 7 is a PHP branch that was originally dubbed PHP next generation (phpng). It was
authored by Dmitry Stogov, Xinchen Hui and Nikita Popov, and aimed to optimize PHP performance
by refactoring the Zend Engine to use more compact data structures with improved cache
locality while retaining near-complete language compatibility. As of 14 July 2014, WordPress-based
benchmarks, which served as the main benchmark suite for the phpng project, showed an almost
100% increase in performance. Changes from phpng are also expected to make it easier to improve
performance in the future, as more compact data structures and other changes are seen as better suited
for a successful migration to a just-in-time (JIT) compiler. Because of the significant changes, the
reworked Zend Engine is called Zend Engine 3, succeeding Zend Engine 2 used in PHP 5. Because of
major internal changes in phpng, it must receive a new major version number of PHP, rather than a
minor PHP 5 release, according to PHP's release process. Major versions of PHP are allowed to break
backward-compatibility of code and therefore PHP 7 presented an opportunity for other
improvements beyond phpng that require backward-compatibility breaks, including wider use
of exceptions, reworking variable syntax to be more consistent and complete, and the deprecation or
removal of various legacy features. PHP 7 also introduced new language features, including return
type declarations for functions,which complement the existing parameter type declarations, and
support for the scalar types (integer, float, string, and boolean) in parameter and return type
declarations.
Data Types
PHP stores integers in a platform-dependent range, either a 64-bit or 32-bit signed integer equivalent
to the C-language long type. Unsigned integers are converted to signed values in certain situations;
14
this behavior is different from that of other programming languages. Integer variables can be assigned
using decimal (positive and negative), octal, hexadecimal, and binary notations.Floating
point numbers are also stored in a platform-specific range. They can be specified using floating point
notation, or two forms of scientific notation. PHP has a native Boolean type that is similar to the
native Boolean types in Java and C++. Using the Boolean type conversion rules, non-zero values are
interpreted as true and zero as false, as in Perl and C++.The null data type represents a variable that
has no value; NULL is the only allowed value for this data type.
Variables of the "resource" type represent references to resources from external sources. These are
typically created by functions from a particular extension, and can only be processed by functions
from the same extension; examples include file, image, and database resources.
Arrays can contain elements of any type that PHP can handle, including resources, objects, and other
arrays. Order is preserved in lists of values and in hashes with both keys and values, and the two can
be intermingled. PHP also supports strings, which can be used with single quotes, double quotes,
nowdoc or heredoc syntax. The Standard PHP Library (SPL) attempts to solve standard problems and
implements efficient data access interfaces and classes.
Functions
PHP defines a large array of functions in the core language and many are also available in various
extensions,these functions are well documented in the online PHP documentation. However, the built-
in library has a wide variety of naming conventions and associated inconsistencies, as described
under history above.
In lieu of function pointers, functions in PHP can be referenced by a string containing their name. In
this manner, normal PHP functions can be used, for example, as callbacks or within function
tables. User-defined functions may be created at any time without being prototyped. Functions may be
defined inside code blocks, permitting a run-time decision as to whether or not a function should be
defined. There is a function_exists function that determines whether a function with a given name has
already been defined. Function calls must use parentheses, with the exception of zero-argument
class constructor functions called with the PHP operator new, in which case parentheses are optional.
Until PHP 5.3, support for anonymous functions and closures did not exist in PHP.
While create_function() exists since PHP 4.0.1, it is merely a thin wrapper around eval() that allows
normal PHP functions to be created during program execution. PHP 5.3 added syntax to define an
anonymous function or "closure"which can capture variables from the surrounding scope. In the
example above, getAdder() function creates a closure using passed argument $x (the
keyword use imports a variable from the lexical context), which takes an additional argument $y, and
returns the created closure to the caller. Such a function is a first-class object, meaning that it can be
15
stored in a variable, passed as a parameter to other functions, etc.
Unusually for a dynamically typed language, PHP supports type declarations on function parameters,
which are enforced at runtime. This has been supported for classes and interfaces since PHP 5.0, for
arrays since PHP 5.1, for "callables" since PHP 5.4, and scalar (integer, float, string and boolean)
types since PHP 7.0. PHP 7.0 also has type declarations for function return types, expressed by
placing the type name after the list of parameters, preceded by a colon.For example,
the getAdder function from the earlier example could be annotated with types like so in PHP 7.
5.1.2 HTML
Hypertext Markup Language (HTML) is the standard markup language for creating web
pages and web applications. With Cascading Style Sheets (CSS) and JavaScript it forms a triad of
cornerstone technologies for the World Wide Web. Web browsers receive HTML documents from
a web server or from local storage and render them into multimedia web pages. HTML describes the
structure of a web page semantically and originally included cues for the appearance of the
document.HTML elements are the building blocks of HTML pages. With HTML
constructs, images and other objects, such as interactive forms, may be embedded into the rendered
page. It provides a means to create structured documents by denoting structural semantics for text
such as headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated
by tags, written using angle brackets. Tags such as <img /> and <input /> introduce content into the
page directly. Others such as <p>...</p> surround and provide information about document text and
may include other tags as sub-elements. Browsers do not display the HTML tags, but use them to
interpret the content of the page.HTML can embed programs written in a scripting language such
as JavaScript which affect the behavior and content of web pages. Inclusion of CSS defines the look
and layout of content. The World Wide Web Consortium (W3C), maintainer of both the HTML and
the CSS standards, has encouraged the use of CSS over explicit presentational HTML.
5.1.3 MySQL
16
For proprietary use, several paid editions are available, and offer additional functionality.MySQL is a
central component of the LAMP open-source web application software stack (and other "AMP"
stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python". Applications that use
the MySQL database include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, and Drupal.
MySQL is also used in many high-profile, large-scale websites, including Google (though not for
searches), Facebook, Twitter, Flickr, and YouTube.
17
PROJECT DESIGN
18
PROJECT DESIGN
Design is the first step in the development phase for any techniques and
principles for the purpose of defining a device, a process or system in sufficient detail to
permit its physical realization.
Once the software requirements have been analyzed and specified the software design
involves three technical activities - design, coding, implementation and testing that are
required to build and verify the software.
The design activities are of main importance in this phase, because in this
activity, decisions ultimately affecting the success of the software implementation and its
ease of maintenance are made. These decisions have the final bearing upon reliability and
maintainability of the system. Design is the only way to accurately translate the customer’s
requirements into finished software or a system.
UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting with the use
`cases.
Use case:
A description of sequence of actions, including variants, that a system performs that
yields an observable result of value of an actor.
UML stands for Unified Modeling Language. UML is a language for specifying,
visualizing and documenting the system. This is the step while developing any product after
analysis. The goal from this is to produce a model of the entities involved in the project
19
which later need to be built. The representation of the entities that are to be used in the
product being developed need to be designed.
There are various kinds of methods in software design:
They are as follows:
Use case Diagram
Sequence Diagram
Collaboration Diagram
Activity Diagram
State chat Diagram
USECASE DIAGRAMS:
Use case diagrams model behavior within a system and helps the developers
understand of what the user require. The stick man represents what’s called an actor.
Use case diagram can be useful for getting an overall view of the system and
clarifying who can do and more importantly what they can’t do.
Use case diagram consists of use cases and actors and shows the interaction
between the use case and actors.
The purpose is to show the interactions between the use case and actor.
To represent the system requirements from user’s perspective.
An actor could be the end-user of the system or an external system.
USECASE DIAGRAM:
A Use case is a description of set of sequence of actions Graphically it is rendered
as an ellipse with solid line including only its name. Use case diagram is a behavioral
diagram that shows a set of use cases and actors and their relationship. It is an association
between the use cases and actors. An actor represents a real-world object.
20
SEQUENCE DIAGRAM:
21
CLASS DIAGRAM:
Class is nothing but a structure that contains both variables and methods. The Class Diagram
shows a set of classes, interfaces, and collaborations and their relating ships. There is most common
diagram in modeling
odeling the object oriented systems and are used to give the static view of a system. It
shows the dependency between the classes that can be used in our system.
The interactions between the modules or classes of our projects are shown below. Each block
contains Class Name, Variables and Methods.
22
Activity Diagram
23
DATA FLOW DIAGRAMS:
The DFD takes an input-process-output view of a system i.e. data objects flow into the
software, are transformed by processing elements, and resultant data objects flow out of the software.
Data objects represented by labeled arrows and transformation are represented by circles
also called as bubbles. DFD is presented in a hierarchical fashion i.e. the first data flow model
represents the system as a whole. Subsequent DFD refine the context diagram (level 0 DFD),
providing increasing details with each subsequent level.
The DFD enables the software engineer to develop models of the information domain &
functional domain at the same time. As the DFD is refined into greater levels of details, the analyst
perform an implicit functional decomposition of the system. At the same time, the DFD refinement
results in a corresponding refinement of the data as it moves through the process that embody the
applications.
A context-level DFD for the system the primary external entities produce information for
use by the system and consume information generated by the system. The labeled arrow represents
data objects or object hierarchy.
24
25
26
27
E-R Diagrams:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as
a way to unify the network and relational database views. Simply stated the ER model is a
conceptual data model that views the real world as entities and relationships. A basic
component of the model is the Entity-Relationship diagram which is used to visually
represents data objects. Since Chen wrote his paper the model has been extended and today it
is commonly used for database design For the database designer, the utility of the ER model
is:
it maps well to the relational model. The constructs used in the ER model can easily be
transformed into relational tables.
it is simple and easy to understand with a minimum of training. Therefore, the model can be
used by the database designer to communicate the design to the end user.
In addition, the model can be used as a design plan by the database developer to implement a
data model in a specific database management software.
The basic types of connectivity for relations are: one-to-one, one-to-many, and
many-to-many. A one-to-one (1:1) relationship is when at most one instance of a entity A is
associated with one instance of entity B. For example, "employees in the company are each
assigned their own office. For each employee there exists a unique office and for each office
there exists a unique employee.
A one-to-many (1:N) relationships is when for one instance of entity A, there are zero, one, or
many instances of entity B, but for one instance of entity B, there is only one instance of
entity A. An example of a 1:N relationships is a department has many employees each
employee is assigned to one department
A many-to-many (M:N) relationship, sometimes called non-specific, is when for one instance
of entity A, there are zero, one, or many instances of entity B and for one instance of entity B
there are zero, one, or many instances of entity A. The connectivity of a relationship
describes the mapping of associated
28
ER Notation
All notational styles represent entities as rectangular boxes and relationships as lines
connecting boxes. Each style uses a special set of symbols to represent the cardinality of a
connection. The notation used in this document is from Martin. The symbols used for the
basic ER constructs are:
entities are represented by labeled rectangles. The label is the name of the entity. Entity
names should be singular nouns.
relationships are represented by a solid line connecting two entities. The name of the
relationship is written above the line. Relationship names should be verbs
attributes, when included, are listed inside the entity rectangle. Attributes which are
identifiers are underlined. Attribute names should be singular nouns.
cardinality of many is represented by a line ending in a crow's foot. If the crow's foot is
omitted, the cardinality is one.
29
CODING
<?php
include 'db_connect.php';
$$k = $v;
$status = 2;
else
$status = 1;
endif;
?>
<div class="col-lg-12">
<div class="row">
<div class="col-md-12">
<div class="col-md-12">
<div class="row">
<div class="col-sm-6">
<dl>
<dt><b class="border-bottom
border-primary">Project Name</b></dt>
<dd><?php echo
ucwords($name) ?></dd>
<dt><b class="border-bottom
border-primary">Description</b></dt>
<dd><?php echo
html_entity_decode($description) ?></dd>
</dl>
31
</div>
<div class="col-md-6">
<dl>
<dt><b class="border-bottom
border-primary">Start Date</b></dt>
</dl>
<dl>
<dt><b class="border-bottom
border-primary">End Date</b></dt>
</dl>
<dl>
<dt><b class="border-bottom
border-primary">Status</b></dt>
<dd>
<?php
if($stat[$status]
=='Pending'){
echo "<span
class='badge badge-secondary'>{$stat[$status]}</span>";
32
}elseif($stat[$status]
=='Started'){
echo "<span
class='badge badge-primary'>{$stat[$status]}</span>";
}elseif($stat[$status]
=='On-Progress'){
echo "<span
class='badge badge-info'>{$stat[$status]}</span>";
}elseif($stat[$status]
=='On-Hold'){
echo "<span
class='badge badge-warning'>{$stat[$status]}</span>";
}elseif($stat[$status]
=='Over Due'){
echo "<span
class='badge badge-danger'>{$stat[$status]}</span>";
}elseif($stat[$status]
=='Done'){
echo "<span
class='badge badge-success'>{$stat[$status]}</span>";
?>
</dd>
</dl>
<dl>
33
<dt><b class="border-bottom
border-primary">Project Manager</b></dt>
<dd>
<?php
if(isset($manager['id'])) : ?>
<img class="img-
circle img-thumbnail p-0 shadow-sm border-info img-sm mr-3" src="assets/uploads/<?php
echo $manager['avatar'] ?>" alt="Avatar">
<b><?php echo
ucwords($manager['name']) ?></b>
</div>
</dd>
</dl>
</div>
</div>
</div>
</div>
34
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="card-header">
<span><b>Team Member/s:</b></span>
<div class="card-tools">
</div>
</div>
<div class="card-body">
<?php
if(!empty($user_ids)):
$members = $conn->query("SELECT
*,concat(firstname,' ',lastname) as name FROM users where id in ($user_ids) order by
concat(firstname,' ',lastname) asc");
while($row=$members->fetch_assoc()):
?>
<li>
35
<img src="assets/uploads/<?php echo $row['avatar'] ?>"
alt="User Image">
<a class="users-list-name"
href="javascript:void(0)"><?php echo ucwords($row['name']) ?></a>
</li>
<?php
endwhile;
endif;
?>
</ul>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card-header">
<span><b>Task List:</b></span>
<div class="card-tools">
36
<button class="btn btn-primary bg-gradient-
primary btn-sm" type="button" id="new_task"><i class="fa fa-plus"></i> New
Task</button>
</div>
</div>
<div class="table-responsive">
<colgroup>
<col width="5%">
<col width="25%">
<col width="30%">
<col width="15%">
<col width="15%">
</colgroup>
<thead>
<th>#</th>
<th>Task</th>
<th>Description</th>
<th>Status</th>
37
<th>Action</th>
</thead>
<tbody>
<?php
$i = 1;
$tasks = $conn->query("SELECT *
FROM task_list where project_id = {$id} order by task asc");
while($row=$tasks->fetch_assoc()):
$trans =
get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
unset($trans["\""], $trans["<"],
$trans[">"], $trans["<h2"]);
$desc =
strtr(html_entity_decode($row['description']),$trans);
?>
<tr>
38
<td>
<?php
if($row['status'] == 1){
echo
"<span class='badge badge-secondary'>Pending</span>";
}elseif($row['status'] == 2){
echo
"<span class='badge badge-primary'>On-Progress</span>";
}elseif($row['status'] == 3){
echo
"<span class='badge badge-success'>Done</span>";
?>
</td>
<td class="text-center">
<button
type="button" class="btn btn-default btn-sm btn-flat border-info wave-effect text-info
dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
Action
</button>
39
<a class="dropdown-item view_task"
href="javascript:void(0)" data-id="<?php echo $row['id'] ?>" data-task="<?php echo
$row['task'] ?>">View</a>
<div class="dropdown-divider"></div>
<div class="dropdown-divider"></div>
</div>
</td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
</div>
</div>
40
</div>
<div>
</div>
<p>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.users-list>li img {
border-radius: 50%;
41
height: 67px;
width: 67px;
object-fit: cover;
.users-list>li {
.truncate {
-webkit-line-clamp:1 !important;
</style>
<script>
$('#new_task').click(function(){
})
$('.edit_task').click(function(){
})
$('.view_task').click(function(){
42
uni_modal("Task Details","view_task.php?id="+$(this).attr('data-id'),"mid-
large")
})
$('#new_productivity').click(function(){
})
function delete_progress($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_progress',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
setTimeout(function(){
location.reload()
},1500)
43
}
})
</script>
OUTPUT SCREEN
44
45
46
47
48
49
50
51
PROJECT TESTING
52
Testing:
Testing is a process of executing a program with the indent of finding an error.
Testing is a crucial element of software quality assurance and presents ultimate review of
specification, design and coding.
System Testing is an important phase. Testing represents an interesting anomaly for the
software. Thus a series of testing are performed for the proposed system before the system is
ready for user acceptance testing.
A good test case is one that has a high probability of finding an as undiscovered error.
A successful test is one that uncovers an as undiscovered error.
Testing Objectives:
Testing Principles:
The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
categories of test case design techniques are used. They are
53
White-box testing:
White box testing focus on the program control structure. Test cases are derived to
ensure that all statements in the program have been executed at least once during testing and
that all logical conditions have been executed.
Block-box testing:
Black box testing is designed to validate functional requirements without regard to the
internal workings of a program. Black box testing mainly focuses on the information domain
of the software, deriving test cases by partitioning input and output in a manner that provides
through test coverage. Incorrect and missing functions, interface errors, errors in data
structures, error in functional logic are the errors falling in this category.
Testing strategies:
A strategy for software testing must accommodate low-level tests that are necessary to
verify that all small source code segment has been correctly implemented as well as high-
level tests that validate major system functions against customer requirements.
Testing fundamentals:
Testing is a process of executing program with the intent of finding error. A good test
case is one that has high probability of finding an undiscovered error. If testing is conducted
successfully it uncovers the errors in the software. Testing cannot show the absence of
defects, it can only show that software defects present.
54
CONCLUSION
55
CONCLUSION
• The project has been appreciated by all the users in the organization.
• It is easy to use, since it uses the GUI provided in the user dialog.
• User friendly screens are provided.
• The usage of software increases the efficiency, decreases the effort.
• It has been efficiently employed as a Task management mechanism.
• It has been thoroughly tested and implemented.
56
BIBLIOGRAPHY
57
BIBLIOGRAPHY
For PHP
• https://www.w3schools.com/php/default.asp
• https://www.sitepoint.com/php/
• https://www.php.net/
For MySQL
• https://www.mysql.com/
• http://www.mysqltutorial.org
For XAMPP
• https://www.apachefriends.org/download.html
WEBSITES:
www.google.com
www.microsoft.com
58