Académique Documents
Professionnel Documents
Culture Documents
CHAPTER 1 – INTRODUCTION
1.1 Introduction
Online Web Helpdesk Ticketing System is a system which helps us to monitor and
control for various issues and bugs from customers and clients. This is an online system
which can be accessed from the world anywhere. There are two users in the system;
The admin can perform all the functions through the system which could be done by
normal user. However, there are some additional functions could be done by admin user.
Admin could manage all the users, such as add new user, delete the existing users and so
on. Admin can assign bugs to the user as well and also admin can change the status of the
bugs. For instance, if the bug is emergency, then admin can change as severity. There are
many statuses of the bugs, such as reproducibility, severity, priority and so on.
The normal users can perform many functions and those are view bugs, report bugs,
summary, search bugs and so on. Normal user also can solve bugs according to the bugs
priority and status. Once the normal user find the bugs and correct immediately the user
The company has been in operation for the last 9 years now and it started with a manual
system and consultancy. Since the customers and clients have been increasing
tremendously, therefore, the company has decided to come with up an online system.
Usually, the clients and customers when they have any issues and problems they used to
call them or email them then the staff has to check frequently the emails and calls in order
to find the bugs and rectify. This is a very difficult task for the company as well as the
staff.
Now the company staff once receives the calls or emails then immediately they can
update in the online system even anywhere. The staff knows the priority of the bugs,
therefore, they can assign the status of the bugs. The admin does receive calls as well and
update the system as well. Most of the time the admin will assign the tasks and bugs to
the staff.
Online Web Helpdesk Ticketing System is a system which helps us to monitor and
control for various issues and bugs from customers and clients. This is an online system
which can be accessed from the world anywhere. There are two users in the system;
The admin can perform all the functions through the system which could be done by
normal user. However, there are some additional functions could be done by admin user.
Admin could manage all the users, such as add new user, delete the existing users and so
on. Admin can assign bugs to the user as well and also admin can change the status of the
bugs. For instance, if the bug is emergency, then admin can change as severity. There are
many statuses of the bugs, such as reproducibility, severity, priority and so on.
Save time
Since this is an online system, therefore, the company staff can check the bugs anywhere
and update the bugs anywhere. Since the process will done as soon as possible the total
Save cost
The process can be done faster and the system can be used longer with may be some
Reliability
Only the bugs posted and rectified done by the authorized people even in the same
company. There are two levels of reliability. The first is meeting the right requirements. A
careful and through systems study is needed to satisfy this aspect of reliability. The
second level of systems reliability involves the actual working delivered to the user. At
this level, the systems reliability is interwoven with software engineering and
development.
Maintenance
More accurately defining user requirements during system development – Before the
author start to develop the system he have discussed with many customers and clients in
order to find the requirements and expectations. Therefore, the author could develop
application, because the users, customers and even developers needed they want to do
maintenance. Using more effective methods for designing, processing, login and
communicating information with project team members – The author has discussed with
the customers in order to come up with a good design and good application.
Making better use of existing tools and techniques – The author has used the tools and
techniques which the company currently using. Managing system engineering process
effectively – The author have developed the system effectively and efficiently.
Online Web Helpdesk Ticketing System document describes the complete requirements
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
Author responsibilities
Developing the system, which meets the users and customers expectations and solving all
the requirements of the system? Demonstrating the system and installing the system at
client's location after the acceptance testing is successful. Submitting the required user
manual describing the system interfaces to work on it and also the documents of the
system. Conducting any user training that might be needed for using the system.
There are no constraints on the system; however, still the author would like to get
feedback from the company. Users and admin have to receive calls and check their emails
frequently.
1.5 Conclusion
understood the current system problems. Author knows how to satisfy the customer
requirements and develop the system. The author hopes that Online Web Helpdesk
Ticketing System reduces the gap between clients and the company and also the system
CHAPTER 2 – LIMITATIONS
2.1 Introduction
I have contacted many times to the Managing Director of this company in order to
develop this system. Of course, author finds the data, information, requirements and
expectations from various resources. Author has gathered the information from various
customers of this company, employees of this company and referred some other related
online systems. Author has referred some books and some similar sites as well for gather
As of now, company has been in operation with a manual system. Usually, the clients and
customers when they have any issues and problems they used to call them or email them
then the staff has to check frequently the emails and calls in order to find the bugs and
rectify.
Now the company staff once receives the calls or emails then immediately they can
update in the online system even anywhere. The staff knows the priority of the bugs,
therefore, they can assign the status of the bugs. The admin does receive calls as well and
All the above processes are done by manually and the company has been facing lots of
issues. Therefore, the company’s managing directors have decided to come up with a
Ambiguity
Currently the company has a manual process and which may leads to ambiguity for the
staff to operate the daily activities. Customers may not get proper information from the
staff regarding the bugs and errors and the staff as well. Staff cannot get bugs and
Slow process
Present daily activities and operations are in slow process and staff needs to speed up the
process in order to maintain the daily work sheet in better manner. Staff cannot find the
bugs and errors which are received from the clients and customers. The gap between the
user and the staffs is too long. Therefore, they take long time to complete the process.
Need solution
There is no such alternative is available for this problem currently and this organization is
decided to implement an Online Web Helpdesk Ticketing System that can be supported
and efficient at providing the details to the users with timely, relevant and accurate
information technology infrastructure, and an information repository data. The need for
The main problem arises are: Inefficient Records management – Current system is using
traditional manual system so that accuracy is less in entering & maintaining records.
Inefficient use of tools and techniques – This organization never used an appropriate
A proposed Online Web Helpdesk Ticketing System will be used for maintain the
customers’ bugs and errors, track the users’ bugs and choose the correct person to solve
the bugs. Author thinks that developing the proposed system is intended for small to
medium sized collections. Managing the bugs and errors are the major current challenges
for the company. Online Web Helpdesk Ticketing System is the complete management
and automation solution that enables information providers, information users, resource
in charge, & admin to manage & disseminate information available in various kinds of
resources.
In the existing manual system, works are done manually. So, there would be a lot of
paper works. Therefore a large storage space would be needed to store the documents. A
Manpower
The current process involves a lot of people to be participated. New system is basically
an automation system; it does not have to go through a very lengthy process. This could
This system will deal with the development, use and management of an organization’s IT
infrastructure. In the post-industrial information age, the focus of the companies have
shifted from being product oriented to knowledge oriented, in a sense that market
operators today compete on process and innovation rather than product, the emphasis has
shifted from quality and quantity of production, to the production process itself, and its
services that accompany the production process. The biggest asset of companies today, is
copyrights, trade secrets), and for a market operator to be able to compete, he/she must
have strong information structure, at the heart of which lies the information technology
knowledge of the bugs for the customers, which will facilitate easy search to
reach particular bugs and find the correct person to solve the problem. This
The information system offers a flexible and fast access to the data. This feature is
very beneficial for the overall system and this would lead to the management
team’s efficiency. They will be able to make calculated decisions, by saving the
also provides for easy look up of information about the bugs and errors related
information. This factor saves lot of time that may be required searching
Security is very important in any information systems available today due to the
internet and as well as intranet are more viable for attacks from hackers or other
competing company to acquire these details. To prevent this and to secure the
products information and the customer details are secured in this system. The
system will be user and password dependant system rights provide data access
protection.
The system provides a simple interface that is neither over crowded with
they may not spend more time than they need while using the system. The system
provides effectiveness to the users that are the users may achieve their work by
using this system, rather than spend time to figure out how to do things, as is the
2.7 Conclusion
The author has found many ideas, information, requirements, expectations and the current
system problems as well. The author has managed to get the data, information, customer
Web Helpdesk Ticketing System. I hope these could help me to satisfy the customer
needs and functions to develop and implement for the system. The proposed system could
track the customers’ bugs and errors, and also can the correct to person solve the bugs.
In this Chapter author discusses about the Proposed System and the Functionality,
objectives and the benefits provided by the proposed system and how the proposed
system will overcome the limitations of the existing system here total idea of the system
will be given.
The proposed system supports management of the information and workflows necessary
to efficiently select, evaluate, acquire, maintain and provide informed access to resources
in accordance with their daily activities. The drawback with the existing system is to deal
with a variety of independent systems and data containers that are not integrated each
other. Often, users rely on their memory alone to coordinate systems. In addition to the
initial effort of setting up information in multiple places and the potential lack of
Overall, the target of undertaking this project is to eradicate the existing storing and
fetching of records and maintenance of bugs, errors and who solve the bugs. Online Web
Helpdesk Ticketing System is a system which helps us to monitor and control for various
issues and bugs from customers and clients. This is an online system which can be
accessed from the world anywhere. There are two users in the system; admin and user.
The admin can perform all the functions through the system which could be done by
normal user. However, there are some additional functions could be done by admin user.
Admin could manage all the users, such as add new user, delete the existing users and so
on. Admin can assign bugs to the user as well and also admin can change the status of the
bugs. For instance, if the bug is emergency, then admin can change as severity. There are
many statuses of the bugs, such as reproducibility, severity, priority and so on.
repository data. The need for integration across components, presents a challenge to
information system that is effective and efficient at providing the details to the users with
timely, relevant and accurate information for bugs, deliver and reporting purposes.
This proposed Online Web Helpdesk Ticketing System would allow user to search job
from anywhere as long as they are connected to Internet. The main reason the author
came out with an idea to develop this Online system was, to give help users to save their
time. The Online system that going to developed is targeting to overcome the problems
Core functions
Below are the main functions that will be implemented in this chat system.
The main challenge of this project is learning up web technology, and how to enforce
security in the network communication. As this is a very new technology for author, a lot
Research on available languages for programming for developing web application has to
confirmation based on the results academic research and user requirements. Secondary
master on the web techno world. Many companies have already implemented the web
technology for customers and users. Author had conducted research to learn how others
have implemented it, available programming languages that have been widely
implemented for web technology will be the PHP, MySQL and Java Script. However,
Users will be another important factor in this system, where by they will be accessing to
the online system through Internet. Web applications must meet majority of users’
requirement. The users will determine the usability of the system. Gathering user
requirement will be another challenge in this project. Where by, good efficient user
requirements will lead to good User Interface and system functions that will fulfill user’s
needs.
Save time
Since this is an online system, therefore, the company staff can check the bugs anywhere
and update the bugs anywhere. Since the process will done as soon as possible the total
Save cost
The process can be done faster and the system can be used longer with may be some
Reliability
Only the bugs posted and rectified done by the authorized people even in the same
company. There are two levels of reliability. The first is meeting the right requirements. A
careful and through systems study is needed to satisfy this aspect of reliability. The
second level of systems reliability involves the actual working delivered to the user. At
this level, the systems reliability is interwoven with software engineering and
development.
Maintenance
More accurately defining user requirements during system development – Before the
author start to develop the system he have discussed with many customers and clients in
order to find the requirements and expectations. Therefore, the author could develop
3.5 Conclusion
The author has decided whatever ideas he found during his research will be implemented
in the current system. He also decided to fulfill clients’ expectations of the company to
implement an Online Web Helpdesk Ticketing System. The author hopes that he could
4.1 Introduction
The System Development Life Cycle (SDLC) contains FIVE stages that flow from one to
the next in order. As with a real Software Development Life Cycle, the progression from
stage to stage is one-way only, and a stage, once completed, is not revisited. An
advantage of the SDLC is popular because each stage can be compartmentalized and the
A disadvantage of the SDLC is that it is so linear and sequential. Once a phase begins, if
a team discovers a previous stage they had not thought out properly or a vastly better
method were possible, the team would have to persevere with the existing plan: they
cannot revisit the analysis phase, for example, to do more observation and better
determine if the problem can be fixed; determine if the problem is worth fixing;
Design - Consider alternative ways of solving the problem; plan what hardware,
evaluation requirements.
Coding and Testing - write the software, build the hardware, buy equipment,
and perform ongoing informal component testing and integration testing. Write
the documentation and training procedures. Finish with format testing, including
acceptance testing.
Implementation - roll out the solution to its users using strategies such as direct,
Evaluation and Customer support - review the development process and the
finished product to learn from mistakes and identify good practices. Ensure the
Analysis
Design
Coding
Testing
Implementation
Maintenance &
Support
4.3.1 Introduction
The author has used some of the techniques to find the data, information, requirements,
Questionnaire
Interview
Observation
Recording
Before you start trying to solve a problem it's important to study the existing system
before embarking on major changes. Consider the Analysis phase like a visit to the
doctor. You would be pretty worried if you told the doctor you had a headache and the
doctor immediately started merrily injecting you with various things before even looking
at you or asking you any questions. Such behavior is likely to cause more problems than
it solves, so doctors always analyze their patients - observing, questioning, and testing -
before beginning any treatment. So also do problem solvers study the system they intend
to change, and the organization it's in, before they decide what needs to be done. By
thoroughly understanding a system, its operation, its context, its strengths and
New laws that force organizations to do new things, or do old things differently
Changes in society, such as growing demand for better security over personal data
share
computers
requirements or the environment in which the organization operates may all lead
The current system may be too inflexible or expensive to maintain, or may reduce
Changing something just for the sake of change is an expensive - and potentially
destructive - hobby. There had better be a good reason for changing systems. Many good
reasons stem from a desire to better achieve organizational goals, while some other
reasons are imposed on the organization from the outside and are beyond the
organization’s control.
During problem analysis, one of the first things to do is to formulate the problem. If you
get this wrong everything you do afterwards could be a complete waste of time and
money. It's all too easy to solve the wrong problem, or find that your eventual solution
does not solve the problem fully, if at all. It all depends on how you approach and define
the problem. It's very tempting to make assumptions about the cause of the problem
before you solve it: and if your assumptions are wrong, everything you do after that may
Data structures (e.g. field names, field sizes, database table names, valid data
ranges)
Storage (e.g. file names and locations such as hard disks, removable media, tape)
What processing is required to convert the input into the required output?
Figure 4.1 shows different stages in the system's life cycle. It initiates with a project
request. First stage is the preliminary analysis. The main aim of preliminary analysis is to
identify the problem. First, need for the new or the enhanced system is established. Only
after the recognition of need, for the proposed system is done then further analysis is
possible.
Suppose in an office all leave-applications are processed manually. Now this company is
recruiting many new people every year. So the number of employee in the company has
management is considering the option of automating the leave processing system. If this
is the case, then the system analyst would need to investigate the existing system, find the
limitations present, and finally evaluate whether automating the system would help the
organization.
Once the initial investigation is done and the need for new or improved system is
established, all possible alternate solutions are chalked out. All these systems are known
as "candidate systems". All the candidate systems are then weighed and the best
alternative of all these is selected as the solution system, which is termed as the
"proposed system". The proposed system is evaluated for its feasibility. Feasibility for a
Feasibility is evaluated from developer and customer's point of view. Developer sees
whether they have the required technology or manpower to build the new system. Is
building the new system really going to benefit the customer? Does the customer have the
required money to build that type of a system? All these issues are covered in the
feasibility study of the system. The feasibility of the system is evaluated on the three
main issues: technical, economical, and operational. Another issue in this regard is the
Technical feasibility: Can the development of the proposed system be done with
Economic feasibility: Are there sufficient benefits in creating the system to make
Legal feasibility: It checks if there are any legal hassle in developing the system.
implemented? Will there be resistance from users that will undermine the possible
application benefits?
The result of the feasibility study is a formal document, a report detailing the nature and
Details of findings
Once the feasibility study is done then the project is approved or disapproved according
to the results of the study. If the project seems feasible and desirable then the project is
Requirements Analysis is done in order to understand the problem for which the software
system is to solve. For example, the problem could be automating an existing manual
For large systems which have a large number of features, and that need to perform many
different tasks, understanding the requirements of the system is a major task. The
emphasis in requirements Analysis is on identifying what is needed from the system and
This task is complicated by the fact that there are often at least two parties involved in
software development - a client and a developer. The developer usually does not
understand the client's problem domain, and the client often does not understand the
issues involved in software systems. This causes a communication gap, which has to be
In most software projects, the requirement phase ends with a document describing all the
produce the software requirement specification document. The person responsible for the
requirement analysis is often called the analyst. There are two major activities in this
analysis; the analyst has to understand the problem and its context. Such analysis
typically requires a thorough understanding of the existing system, the parts of which
must be automated.
Once the problem is analyzed and the essentials understood, the requirements must be
documents must specify all functional and performance requirements, the formats of
inputs, outputs and any required standards, and all design constraints that exits due to
The phase ends with validation of requirements specified in the document. The basic
purpose of validation is to make sure that the requirements specified in the document,
actually reflect the actual requirements or needs, and that all requirements are specified.
4.3.6 Interviews
The author has conducted interview for find the data, information, requirements,
functions and finally expectations. He has conducted from the following people:
Managing Directors
Users
Customers
Interview is a very important data gathering technique as in this the analyst directly
contacts system and the potential user of the proposed system. One very essential aspect
of conducting the interview is that the interviewer should first establish a rapport with the
interviewee. It should also be taken into account that the interviewee may or may not be a
technician and the analyst should prefer to use day to day language instead of jargon and
technical terms.
needs to be beforehand aware of what exactly needs to be asked and to what depth. Also
he should try to gather maximum relevant information and data. As the number and type
of respondents vary, the analyst should be sensitive to their needs and nature. The
advantage of interviews is that the analyst has a free hand and he can extract almost all
the information from the concerned people but then as it is a very time consuming
method, he should also employ other means such as questionnaires, record reviews, etc.
This may also help the analyst to verify and validate the information gained. Interviewing
should be approached, as logically as possible and from a general point of view the
Structured interview
Structured interviews are those where the interviewee is asked a standard set of questions
in a particular order. All interviewees are asked the same set of questions. The questions
are further divided in two kinds of formats for conducting this type of interview. The first
is the open-response format in which the respondent is free to answer in his own words.
An example of open-response is "Why are you dissatisfied with the current leave
processing method?" The other option is of closed-response format, which limits the
respondents to opt their answer from a set of already prescribed choices. An example of
such a question might be "Are you satisfied with the current leave processing methods?"
or "Do you think that the manual leave processing procedure be changed with some
automated procedure?"
Unstructured interview
much more flexible nature than the structured interview and can be very rightly used to
gather general information about the system. Here the respondents are free to answer in
their own words. In this way their views are not restricted. So the interviewer gets a
Each of the structured and unstructured interview methods has its own merits and
demerits. We will consider the structured format first and that too its advantages.
This method is less time consuming and the interviewer need not be a trained
person.
other hand a high level of structure and mechanical questions are posed which
may earn the disliking of the respondents. Also this kind of structure may not be
appropriate for all situations and it further limits the respondent spontaneity.
In unstructured interviews the respondents are free to answer and present their
views. Also there may be case that some issue might surface spontaneously while
answering some other question. In that case the respondent can express views on
But at times, it may happen that the interview goes in some undesired direction
and the basic facts for which the interview was organized do not get relieved. So
4.3.7 Questionnaires
The author has conducted questionnaire for find the data, information, requirements,
functions and finally expectations. He has conducted from the following people:
Managing Directors
Clients
Customers
Questionnaires are another way of information gathering where the potential users of the
system are given questionnaires to be filled up and returned to the analyst. Questionnaires
are useful when the analyst need to gather information from a large number of people. It
is not possible to interview each individual. Also if the time is very short, in that case also
questionnaires are useful. If the anonymity of the respondent is guaranteed by the analyst
then the respondent answers the questionnaires very honestly and critically.
The questionnaire may not yield the results from those respondents who are busy or who
may not give it a reasonable priority. The analyst should sensibly design and frame
questionnaires with clarity of it's objective so as to do justice to the cost incurred on their
development and distribution. Just like the interviews and on the same lines
questionnaires are of two types i.e. open-response based and the closed-response based.
The objective of open-response questionnaire is to gather information and data about the
essential and critical design features of the system. The open-ended question requires no
This form is also used to learn about the feelings, opinions, and experiences of the
respondents. This information helps in the making the system effective because the
system. It gives an insight in how the people dealing with the system behave and how
comfortable are they with it. In this case the respondents have to choose from a set of
given responses. Thus the respondent can express their liking for the most favorable one
The closed questions can be of various types and the most common ones are listed below.
1. Fill-in-the-blanks.
3. Ranking scale questions ask the respondents to rank a list of items in the order of
importance or preference.
choose from.
5. Rating scale questions are an extension of the multiple-choice questions. Here the
The basic comparison between the two can be made on the grounds of the format used.
Open form offers more flexibility and freedom to the respondents whereas the closed
form is more specific in nature. Open-ended questionnaires are useful when it is required
to explore certain situation. They also require a lot of time of the analyst for evaluation.
Closed questionnaires are used when factual information is required. Closed questions are
quick to analyze but typically most costly to prepare but they are more suitable to obtain
It is the job of the analyst to decide which format should be employed and what exactly
should be it's objective. The care should be taken to ensure that all the parts of the form
are easy to understand for the respondents so that they can answer with clarity.
Records and reports are the collection of information and data accumulated over the time
by the users about the system and it's operations. This can also put light on the
requirements of the system and the modifications it has undergone. Records and reports
may have a limitation if they are not up-to-date or if some essential links are missing. All
The analyst may scrutinize the records either at the beginning of his study which may
give him a fair introduction about the system and will make him familiar with it or in the
end which will provide the analyst with a comparison between what exactly is/was
One drawback of using this method for gathering information is that practically the
functioning of the systems is generally different from the procedure shown in records. So
On-site observations are one of the most effective tools with the analyst where the analyst
personally goes to the site and discovers the functioning of the system. As an observer,
the analyst can gain first hand knowledge of the activities, operations, processes of the
This information is very meaningful as it is unbiased and has been directly taken by the
analyst. This exposure also sheds some light on the actual happenings of the system as
compared to what has already been documented, thus the analyst gets closer to the
system. This technique is also time-consuming and the analyst should not jump to
conclusions or draw inferences from small samples of observation rather the analyst
should be more patient in gathering the information. This method is however less
4.4.1 Introduction
The logical design produced during the analysis is turned into a physical design - a
detailed description of what is needed to solve the problem. How detailed should it be?
Try assuming that after your design is finished, you are fatally injured by a falling
elephant. Could your design be used by someone to successfully implement the solution?
If not, it is not detailed enough. Also consider that you, as a solution designer, may not
even be involved in the implementation! You may be hired solely to design the solution
and another team will be responsible for implementing it. Your design must be self-
Alternative solutions to the problem - in what different ways could the problem
are solved?
Data structure
Interfaces - Will people need to leave the main screen to access functions? How
will menus be organized into commands and submenus? What shortcut keys will
be used? Will you use a text box, list box, combo box, tick box for a particular
item of data entry? What color scheme will be used? What navigation scheme will
be used? What icons represent what meaning? Will the layout of the data entry
form help users enter data in the required order and the required format?
Control procedures - What validation rules will be used on what fields to check
for data reasonableness, existence or format? What will different error messages
say? How can output be checked for accuracy? How can procedural errors or
problems be detected?
o The cost
What workloads and capacities the system must be capable of - e.g. storage
Backup requirements and procedures - what needs to be backed up, how often,
Changeover - how will the solution be brought online to replace the existing
system
expectations
Functional requirements
Non-functional requirements
Some of the non-functional requirements have been identified and have been included in
the proposed system. The following non-functional requirements have been included in
the system.
Response time – The customer is expected to produce the result and process as
soon as possible.
Scalability – The amount and the time which we are spending for the application
Memory size – The system memory size should not be exceeded more, because
Availability – The system is always available and if there is any problem still the
Reliability – When the customers use the system there is no side effects and
impacts.
512MB RAM
52X CD-ROM
14” Monitor
4.6.1 Introduction
A data flow diagram is logical as well as graphical tool used to describe and analyze
movement of data through a system. The transformation of data from input to output,
associated with the system. These are known as the logical data flow diagrams. The
physical data flow diagrams show the actual implements and movement of data between
descriptive name. Process is further identified with a number that will be used for
process in lower level diagrams can be broken down into a more detailed DFD in the next
The idea behind the explosion of a process into more process is that understanding at one
level of detail is exploded into greater detail at the next level. This is done until further
DFD symbols
2. An arrow identifies data flow. It is the pipeline through which the information flows
3. A circle or a bubble represents a process that transforms incoming data flow into
Data flow
Data Store
Constructing a DFD:
Process should be named and numbered for an easy reference. Each name should
The direction of flow is from top to bottom and from left to right. Data
traditionally flow from source to the destination although they may flow back to
the source. One way to indicate this is to draw long flow line back to a source.
When a process is exploded into lower level details, they are numbered.
The names of data stores and destinations are written in capital letters. Process
and dataflow names have the first letter of each work capitalized.
A DFD typically shows the minimum contents of data store. Each data store should
contain all the data elements that flow in and out. Questionnaires should contain all the
data elements that flow in and out. Missing interfaces redundancies and like is then
The DFD shows flow of data, not of control loops and decision are controlled
The DFD does not indicate the time factor involved in any process whether the
Data store
Data cannot move directly from one data store to another data store, a process
Data cannot move directly from an outside source to a data store, a process, which
receives, must move data from the source and place the data into data store
Source or sink
Data cannot move direly from a source to sink it must be moved by a process.
Data Flow
A Data Flow has only one direction of flow between symbols. It may flow in
both directions between a process and a data store to show a read before an
update. The later is usually indicated however by two separate arrows since these
A join in DFD means that exactly the same data comes from any of two or more
A data flow cannot go directly back to the same process it leads. There must be
atleast one other process that handles the data flow produce some other data flow
A data flow has a noun phrase label more than one data flow noun phrase can appear on a
single arrow as long as all of the flows on the same arrow move together as one package.
4.7.1 Introduction
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
represent 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
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
The ER model views the real world as a construct of entities and association between
entities.
Entities
Entities are the principal data object about which information is to be collected. Entities
are usually recognizable concepts, either concrete or abstract, such as person, places,
things, or events which have relevance to the database. Some specific examples of
Entities are classified as independent or dependent. An independent entity is one that does
not rely on another for identification. A dependent entity is one that relies on another for
identification.
Associative entities are entities used to associate two or more entities in order to reconcile
represent a subset of instances of their parent entity, called the super type, but which have
Relationships
classified in terms of degree, connectivity, cardinality, and existence. These concepts will
be discussed below.
Attributes
Attributes describe the entity of which they are associated. A particular instance of an
Classifying relationships
Relationships are classified by their degree, connectivity, cardinality, direction, type, and
Degree of a relationship
The degree of a relationship is the number of entities associated with the relationship. The
n-ary relationship is the general form for degree n. Special cases are the binary, and
the relationship. The values of connectivity are "one" or "many". The cardinality of a
relationship is the actual number of related occurrences for each of the two entities. The
basic types of connectivity for relations are: one-to-one, one-to-many, and many-to-many.
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.
instance of entity A, there are zero, one, or many instances of entity B and for one
4.8.1 Introduction
nodes and the components that run on those nodes or deployment diagrams show the
hardware for your system, the software that is installed on that hardware, and the
systems, showing how the hardware and software components work together. In short,
you may want to consider creating a deployment diagram for all but the most trivial of
systems.
Nodes can contain other nodes or software artifacts. The application server node contains
specification, and a software artifact. The software components use the same notation as
component diagrams.
Web Browser
Customers / User/
Admin
Presentation layer
(Web Interface/ Web
Forms)
Database Server
MySQL
4.9.1 Introduction
In software engineering, a use case diagram in the Unified Modeling Language (UML) is
a type of behavioural diagram defined by and created from a Use-case analysis. Its
terms of actors, their goals and any dependencies between those use cases. The main
purpose of a use case diagram is to show what system functions are performed for which
The use case diagram shows the position or context of the use case among other use
My SQL
WAMP
PHP 5.0
PHP is a scripting language originally designed for producing dynamic web pages. It has
evolved to include a command line interface capability and can be used in standalone
especially suited for web development and can be embedded into HTML. It generally
runs on a web server, taking PHP code as its input and creating web pages as output. It
can be deployed on most web servers and on almost every operating system and platform
free of charge. PHP is installed on more than 20 million websites and 1 million web
servers.
embedded into HTML. PHP uses are widespread, and can include any kind of server
functionality that takes user's input and displays or manipulates the input. PHP can run on
both UNIX and Windows servers, which makes it more accessible than Windows (ASP).
This scripting language is growing day by day. PHP5 a fully object oriented language and
its platform independence and speed on Linux server helps to build large and complex
web applications.
programming and is easy to integrate with web pages. Another plus of PHP is that the
language interfaces very well with MySQL, a popular type of online database. MYSQL is
a commercial grade database application that is made available free under the Open
Source to anyone. Another plus of PHP is that it is Open Source Code. The actual code
that is PHP is available to the public for free, while the source code for products such as
ASP is not. So PHP is very cheap. Because PHP is open source, there is a large
community of PHP programmers that help each other with code. This means PHP
programmers can rely on each other by using reusable pieces of code called functions and
classes rather than constantly reinventing the wheel. This can dramatically cut down on
production time.
PHP is based on C++ language and the syntax used in PHP is quite similar to C/C++.
C/C++ is still considered the best programming language by many programmers and
people who love this language would surely feel more comfortable with the syntax of
PHP.
However, here are many languages which are used for web development or web
programming. But among all of them PHP is the most popular web scripting
language. So, let us find out why PHP is widely used for web development.
PHP language has its roots in C and C++. PHP syntax is most similar to C and C+
MySQL is used with PHP as back-end tool. MySQL is the popular online database
and can be interfaced very well with PHP. Therefore, PHP and MySQL are
PHP also has powerful output buffering that further increases over the output
flow. PHP internally rearranges the buffer so that headers come before contents.
elements on the page. PHP only parses code within its delimiters, such as.
Anything outside its delimiters is sent directly to the output and not parsed by
PHP.
PHP can be used with a large number of relational database management systems,
runs on all of the most popular web servers and is available for many different
operating systems.
PHP5 a fully object oriented language and its platform independence and speed
So, in general PHP is cheap, secure, fast and reliable for developing web
applications.
PHP is one of the most popular server side scripting languages running today. It is
used for creating dynamic webpages that interact with the user offering
Rasmus Lerdorf wrote the first PHP (first called Personal Home Page) scripts as a
series of Perl scripts that he used to track visitors to his webpage and to see who
was viewing his resume. He eventually rewrote PHP as a scripting engine and
added support for forms. PHP has been evolving since 1994 as an open source
code. A community of followers and developers formed and began using and
further developing PHP. Over the years the Personal Home Page acronym was
PHP code is inserted directly into the HTML that makes up a website. When a
visitor comes to the website, the code is executed. Because PHP is a server side
technology, the user does not need any special browser or plug-ins to see the PHP
in action.
The beauty of PHP lies in its simplicity. It is easy to understand and learn,
HTML. The language is similar to C and Perl so that anyone with a background in
either C or Perl programming will feel comfortable using and understanding PHP.
PHP also runs on just about every platform including most UNIX, Macs and
Windows versions.
PHP does not use a lot of the system’s resources so it runs fast and does not tend
C, so it loads and executes quickly. It works well with other software and can be
quite fast. PHP is also fairly stable and since it is open source, the PHP
community works together to fix any bugs. The community offers technical
support and continuously updates the code further expanding PHP’s capabilities.
PHP offers many levels of security to prevent malicious attacks. These security
Another key advantage of PHP is its connective abilities. PHP uses a modular
XML, encryption, etc. In addition, programmers can extend PHP by writing their
own extensions and compiling them into the executable or they can create their
and other modules available. Of the server interfaces, PHP can load into Apache,
IIS, Roxen, THTTPD and AOLserver. It can also be run as a CGI module.
Database interfaces are available for MySQL, MS SQL, Informix, Oracle and
The main PHP source repository is loaded with modules and interfaces that users
have written and contributed. There you can find modules for flash movies, PDF
A huge advantage that PHP offers is its community. Since PHP is an open source
project, the PHP community is willing to share. If you are looking for a particular
script, chances are another user has already created something similar. Check
within the PHP community for availability. Likewise, if you have created a
function that others might enjoy, be sure to post the code for others.
If you are ready to add dynamic content to your WebPages, consider the use of
PHP. It is free, easy to learn and integrates well across many platforms and with
Standard CGI, FastCGI and Apache module support - As a standard CGI program,
PHP can be installed on any UNIX machine running any UNIX web server. With
support for the new FastCGI standard, PHP can take advantage of the speed
programmimg.
Access Logging - With the access logging capabilities of PHP, users can maintain
their own hit counting and logging. It does not use the system's central access log
files in any way, and it provides real-time access monitoring. The Log Viewer
footer on every page which shows access information. See the bottom of this page
configuration. It is possible to create rules for all or some web pages owned by a
certain person which place various restrictions on who can view these pages and
how they will be viewed. Pages can be password protected, completely restricted,
logging disabled and more based on the client's domain, browser, e-mail address
RFC-1867 File Upload Support - File Upload is a new feature in Netscape 2.0. It
lets users upload files to a web server. PHP provides the actual Mime decoding to
make this work and also provides the additional framework to do something
Variables, Arrays, Associative Arrays - PHP supports typed variables, arrays and
even Perl-like associative arrays. These can all be passed from one web page to
and switch/case statements to guide the logical flow of how the html page should
be displayed.
Extended Regular Expressions - Regular expressions are heavily used for pattern
matching, pattern substitutions and general string manipulation. PHP supports all
Raw HTTP Header Control - The ability to have web pages send customized raw
HTTP headers based on some condition is essential for high-level web site design.
A frequent use is to send a Location: URL header to redirect the calling client to
some other URL. It can also be used to turn off cacheing or manipulate the last
On-the-fly GIF image creation - PHP has support for Thomas Boutell's GD image
ISP "Safe Mode" support - PHP supports a unique "Safe Mode" which makes it
safe to have multiple users run PHP scripts on the same server.
Many more new features are being added in newer releases of PHP. Visit the main
It's Free! - One final essential feature. The package is completely free. It is
licensed under the GNU/GPL which allows you to use the software for any
4.12.4 My SQL
MySQL is an open source and most popular Relational Database Management System
(RDBMS). MySQL was chosen for this project due to the database for this project is
based on complex data structure, an efficient and easy to use RDBMS was in need.
MySQL provides an easy to use and user friendly interface and special tools to make the
Features of MY SQL
MySQL offers MySQL 5.1 in two different variants: the MySQL Community Server and
Enterprise Server. They have a common code base and include the following features:
Cross-platform support
Stored procedures
Triggers
Cursors
Updatable Views
INFORMATION_SCHEMA
Strict mode
Transactions with the InnoDB, BDB and Cluster storage engines; savepoints with
InnoDB
Sub-SELECTs
Replication with one master per slave, many slaves per master, no automatic
When it comes to these two databases, the differences begin with the open-source nature
of MySQL vs. the closed, proprietary structure of the SQL Server. MySQL is an
extensible, open storage database engine, offering multiple variations such as Berkeley
DB, InnoDB, Heap and MyISAM. On the other hand, with the Microsoft product, you are
limited to a Sybase-derived engine through both the good and bad times.
languages and other web-based technologies, it certainly has the advantage over MS SQL
in the way of compatibility, as the SQL Server is known to work better with other
Microsoft products.
Licensing
Contrary to popular belief, the MySQL system isn’t always free. On the other hand, it is
always more affordable. In regard to both products, licensing fees are based on a two-
tiered scheme. With MS SQL, the best way to obtain a developer’s license is to buy a
license for the Microsoft Developer or Microsoft Visual Studio suite. Both provide you
with a free SQL Server license for development use. If you want to use the product in a
commercial environment, you need to at least purchase the SQL Server Standard Edition
– which could set you back over $1,000 for a few client connections.
Because MySQL is an open-source system under the GNU General Public License,
developers can use it at no cost as long as the associated projects are also open-source.
However, if you intend to sell your software as a proprietary product, you would need to
purchase a commercial license, which costs about $400 for up to nine clients. Depending
on the project and your funds, MySQL may have the advantage here.
Technical Differences
The open-source vs. proprietary battle alone is a leading cause why some users choose
one system over the other. However, there are a few differences from a technical aspect
as well.
For instance, MySQL doesn’t offer full support for foreign keys, meaning it doesn’t have
all the relational features of MS SQL, which is considered a complete relational database.
Some versions of MySQL also lack full support for stored procedures – the biggest
Performance
In the way of performance, MySQL is the clear leader, mainly due to the format
of its default table, MyISAM. MyISAM databases leave a small footprint using little disk
space, memory and CPU. While the system runs on the Windows platform without flaw,
it tends to perform better on Linux and other UNIX-like systems. Because of its stability,
many internet powerhouses such as Yahoo! use MySQL as their back-end database.
When it comes to performance, MS SQL’s strength of being packed with more features
than other systems is perhaps its biggest disadvantage. Although most of these features
are designed for performance tuning, they tend to sacrifice other essential elements. The
cost here is complexity and the hogging of resources in the way of storage and memory,
which leads to poorer performance. If you lack the knowledge and sufficient hardware to
support an SQL server, you would be better off with another database management
system.
Security
These two database systems are pretty much deadlocked in regards to security. Both
come with adequate security mechanisms by default, bearing you follow the directions
and keep the software updated with security patches. Both operate over known IP ports
both products. The good thing is that MySQL and MS SQL allow you to change ports just
Recovery
As far as recovery goes, the SQL Server has a definite advantage over MySQL, which
tends to fall a little short with its MyISAM configuration. A UPS system is mandatory
could result in the corruption and loss of critical data. With the SQL Server, data
corruption is more unlikely. The data travels through various checkpoints while passing
from your keyboard to the hard disk and through the monitor. Additionally, the SQL
Server keeps track of the process, even if the system unexpectedly shuts down.
As you can see, both systems have their advantages and disadvantages. From our
perspective, any product that allows you to be efficient is a good database; anything other
than that isn’t worthy of your time and frustration. When it comes to MySQL and MS
SQL, the decision all boils down to the situation and most importantly, what you’re
looking to accomplish.
4.13 JavaScript
other applications. It is primarily used in the form of client-side JavaScript for the
class functions. JavaScript was influenced by many languages and was designed to look
JavaScript, despite the name, is essentially unrelated to the Java programming language
even though the two do have superficial similarities. Both languages use syntaxes
influenced by that of C syntax, and JavaScript copies many Java names and naming
conventions. The language's name is the result of a co-marketing deal between Netscape
and Sun, in exchange for Netscape bundling Sun's Java runtime with their then-dominant
browser. The key design principles within JavaScript are inherited from the Self and
JavaScript supports all the structured programming syntax in C. One partial exception is
scoping: C-style block-level scoping is not supported. JavaScript 1.7, however, supports
block-level scoping with the let keyword. Like C, JavaScript makes a distinction
4.14 HTML
HTML (Hypertext Mark-up Language) is a mark-up language used for the building web
pages. It provides the means for describing the structure text based information in a web
document. HTML contains of tags, which such as text, text size, links, etc… It can also
4.15 CSS
Cascading style sheets (CSS) is a mechanism for styling web documents to make them
look more users friendly. It adds fonts, colours, spacing, etc. It is a style sheet language
5.1 Introduction
After coding, a programmer must test the program to be sure that it functions correctly.
The programmer’s first step is to compile the program using a language compiler. This
process detects syntax errors, which are language grammar errors. The programmer
corrects the error until obtaining a clean compilation, which indicates that the program
code can be executed properly. Next, the programmer desk checks the program. Desk
checking is the process of reviewing the program code to spot logic errors, which
produce incorrect results. This process can be performed by the person who wrote the
Testing an information system involves checking that procedures, equipment, and staff
process data as expected. Each component may be tested and then the whole system
tested. Test data should be developed to ensure the procedures and formulas of a solution
operate and process data as expected. This test is normally performed during and
immediately after the development of the solution. When using a programming language
Testing is an art, a science, and a career. All features of a solution and its output must be
tested, including:
The specifications of software and hardware and testing have already been laid down
during the design phase. You need to test for correct operation under normal and
abnormal conditions. Of particular concern is testing for boundary conditions where the
behavior of the system is meant to change at some important stage. Boundary conditions
Formal testing - is done when the solution is finished, and needs to be tested as a
Component testing: does each component in the system work properly by itself, in
isolation?
Integration testing: when components are integrated do they still work properly
Reliability - does it handle expected and exceptional situations well? e.g. can it
handle the expected 10,000 transactions per hour? Will it recover gracefully if a
subsystem fails or the power suddenly gets shut off? Will it detect invalid data?
Is the output accurate and clear? Is it formatted properly? Does it provide each
user of the system with relevant information in the format they require?
Black box testing does not care how the system works - it just looks at the input
and checks to see that the expected output comes out the other end. It does not
White box testing checks the processes within a component to make sure each
Acceptance testing is where the customer who commissioned the system demands
a demonstration that the system meets its original specifications before you get
paid.
User acceptance testing involves testing whether the needs of the end-user of the
system are satisfied. This can be done by observing end-users use the system and
Unit testing
The testing of an individual program or module is called unit testing. The objective is to
identify and eliminate execution errors that cause the program to terminate abnormally
and logic errors that might have been missed during desk checking. Test data should
contain both correct data and erroneous data and should test all possible situations that
the program must handle. For example, for a field that allows a range of values, the test
data should contain minimum values, maximum values and values outside the acceptable
range.
Link testing
Testing two or more programs that depend on each other is called link testing, string
testing, series testing or integration testing. Only by performing link test can be sure that
the programs work together properly. It will also ensure that the job streams are correct.
A job stream is a series of statements that control program, files, and devices that must
Start the testing with the president module. It will complete the testing from one phase
before going to the next phase. Each module tested will also be re-tested in the next
round. Thus, each time we will increase the number of module being tested by one. Both
Begins with the bottommost module. It works out its way up the structure chart. Bottom-
The combination of top-down and bottom-up approach. A team of member will perform
the top-down testing, while another team of member will perform the bottom-up testing.
After completion of link testing, one must run a series of system tests that involve the
entire information system. A system test includes all typical processing situations. During
a system test, user enters data, including of live data, perform queries, and print reports to
5.3 Documentation
documentation helps a programmer who needs to carry out a future program change and
makes maintenance easier, faster and less expensive. Documentation explains the system
and helps people interact with it. Documentation could include paper-based and
computer-based (embedded training such as context sensitive help) as well. For modern
information system, the documentation includes the on-line help, which is designed as a
part of the system interface. Documentation can be further divided into two major types:
1. System documentation
compile time.
2. User documentation
Two target audiences: the new employee who knows nothing about the system,
and the experienced employee who uses the documentation only for occasional
reference.
Menu and data entry screen options, contents, and processing instructions.
including samples.
The next steps in system implementation are the installation and evaluation of the
Provide training
Vendor specifications
wiring.
Space requirements
Equipment layout, service areas and storage, management offices, library, etc.
Security requirements
5.6 Training
should start early in the system development. At the creation of documentation, one
should think of how to use the material in the training sessions. It is essential to provide
the right training to the right people at the right time. All people who have primary or
secondary use of the system must be trained. This includes everyone from data-entry
personnel to those who will use output to make decisions without personally using a
computer.
The amount of training requires depend on how much someone’s job will change because
of the new system. Analyst must ensure that users of different skill levels and job
interests are separated. Different individual will have different knowledge, education
level, working responsibilities, and many other factors that will be needed to take into
consideration.
Vendors
Large vendors often provide off-site, one- or two-day training on their equipment for free.
These include lecture and hand-on training in a focused environment. This type of
training is focused on the products that the vendors developed therefore scope is rather
In-house system analyst knows the organization’s personnel and the system very well
since he has involved from the beginning of the development of the system. Thus, analyst
could provide good training for the respective users. Guidelines should keep in the mind
Train people in groups, with separate training programs for distinct groups.
Some organization employ external paid trainers who have broad experience in teaching
people how to use a variety of computers. However, the limitation is that, the external
paid trainers may not be able to custom-tailor their presentations enough to make them
meaningful to the users. This is because they do not involve in the development.
It is possible to have any of these trainers train a small group of people from each
functional area that will be using the new information system. They in turn can then be
used to train the remaining users. This approach works well if the original trainees still
have access to materials and trainers as resources when they are providing the training.
Otherwise, it might fall into a trial-and-error situation rather than a structured one.
System changeover is the process of putting the new information system into operation
Direct changeover
Conversion by direct changeover, which means on a specific date, the old system is
dropped and the new system is put into use. User must adapt to the new system. It is
quite a risky approach. It will be impossible to compare new results with the old system.
Direct changeover is least expensive changeover method because the IS group has to
operate and maintain only one system at a time. Companies often choose the direct cut-
over method for implementing commercial software packages because these applications
Parallel conversion
Running the old system and the new system at the same time, in parallel. Both systems
run simultaneously for a specified period of time. The results are examined, if the same
results can be gained over time, the new system is put into use, and the old one is
stopped. The cost of running two systems at the same time is highly expensive. Users
might tend to use the old system more for they have been familiar with. The most obvious
advantage of parallel operation is lower risk. If the new system does not work correctly,
the old system can be used as a backup until appropriate changes are made. Parallel
operation is not practical if the old and new system are incompatible technically, or if the
Pilot conversion
With the pilot conversion, one implements the complete new system a t a selected
location of the company. For instance, a new sales reporting system might be
implemented in just one branch office. And this group that uses the news system first is
called the pilot site. During the pilot operation, the old system continues to operate for the
entire organization, including the pilot site. After the system proves successful at the pilot
site, it is implemented in the rest of the organization, usually using the direct cut-over
method. Pilot conversion reduces the risk of system failure, compared to a direct
changeover. Operating both systems for only the pilot site is less expensive than a parallel
With a phased changeover, you implement the new system in stages or modules. Instead
changeover is that the risk of errors or failures is limited to only the implemented module.
Phased changeover is less expensive than full parallel operation because you have to deal
information system. The evaluation verifies that the new system meets specific
requirements, complies with user objectives and achieves the anticipated benefits. By
providing feedback to the development team, the evaluation also helps improve IS
and the end product, the developed information system. The same fact-finding techniques
- User satisfaction
Online Web Helpdesk Ticketing System 76
TNTU – Olympia College B.Sc. in Computer Systems Engineering (Business Computing)
CHAPTER 6 – CONCLUSION
I have conducted the survey about 20 people who are customers and the staffs of the
company. The information which they gave that the system is very useful. Now, if users
use this software then they do not get any problem, impact and so on.
The entire organization helped me to do my research for this project. Their current system
Problem encountered
Some of the problems have been encountered when the author developed this system and
This system has many useful features that are both commendable as well as some feature
that needs more enhancing. However, besides the features that need enhancing there are
many other ideas which are not discussed in this project. These ideas are to be
Computer Programming
Hall.
Handbook, McGraw-Hill
India
8. Kenneth E. Kendall, 2004, Systems Analysis and Design, Prentice Hall, United
Kingdom
9. Jeffrey Whitten & Lonnie Bentley, 2005, Systems Analysis and Design Methods,
McGraw-Hill, India
10. Jeffrey L Whitten & Lonnie D. Bentley, 2006 Introduction to Systems Analysis and
12. John W. Gosney, 2002, ASP Programming for Absolute Beginner, Premier Press,
USA
13. Scott Mitchell, 2000, Designing Active Server Pages, O’Reilly, USA
15. George Hepworth, 2004, Grover Park George On Access: Unleash the Power of
17. Helen Feddema , 2002, Microsoft® Access Version 2002 Inside Out, Microsoft
Press, USA
18. David Flanagan, 1998, Javascript: The Definitive Guide, O’Reilly, USA
19. Douglas Crockford, 2008, JavaScript: The Good Parts, O'Reilly, USA
20. Danny Goodman & Michael Morrison, 2003, Java Script Bible, Wiley Publishing,
USA
21. www.worldofstock.com/image_closeup.php?
m=thumbs&sb=recent&sv=&svstr=Most%20Recent&pg=2&rw=
22. www.agilemodeling.com/artifacts/classDiagram.htm
23. www.objectmentor.com/resources/articles/umlClassDiagrams.pdf
24. www.developer.com/design/article.php/2206791
25. www.agilemodeling.com/artifacts/useCaseDiagram.htm
26. www.atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/use_case.htm
27. www.smartdraw.com/tutorials/software/erd/tutorial_01.htm
28. www.umsl.edu/~sauter/analysis/er/er_intro.html
29. www.ibm.com/developerworks/rational/library/3101.html
30. www.objectmentor.com/resources/articles/umlClassDiagrams.pdf
31. www.agilemodeling.com/artifacts/useCaseDiagram.htm
32. www.codefixer.com
33. www.codeproject.com/KB/asp/AspCodeAnalyzer.aspx
34. www.asp101.com/samples/
35. www.allwebdesignresources.com/webdesigntutorials/programmingcoding-
tutorials/aspcodingtutorials/asptutorials-learningasp.html
36. www.planet-source-code.com/vb/default.asp?lngWId=4
Web Browser
Customers / User/
Admin
Presentation layer
(Web Interface/ Web
Forms)
Database Server
MySQL