Help desk system report
-
Upload
kartikeya-upadhyay -
Category
Engineering
-
view
374 -
download
3
Transcript of Help desk system report
HELP DESK SYSTEM
A PROJECT REPORT
in Partial Fulfillment of Requirements for the Degree
of
Bachelor of Technology
in
Computer Science & Engineering
Submitted by
KUMAR KARTIKEYA UPADHYAY
1113310103
NOIDA INSTITUTE OF ENGINEERING &
TECHNOLOGY, GREATER NOIDA (U P)
SEPTEMBER, 2014
DECLARATION
I Kumar Kartikeya Upadhyay hereby declare that this submission is our own work and that,
to the best of our knowledge and belief, it contains no material previously published or
written by another person nor material which to a substantial extent has been accepted for the
award of any other degree or diploma of the university or other institute of higher learning,
except where due acknowledgment has been made in the text.
Signature
Kumar Kartikeya Upadhyay
1113310103
ABSTRACT
Automated help desk systems should retrieve exactly the information required to assist a
user as quickly and as easily as possible either for a lay user who knows little about the
domain or for an advanced user who requires more specialist information. Automated help
desk systems should also be easily maintainable as knowledge in domains where help is
required often changes very rapidly, for example help for computer users. The aim of this
study was to develop a help desk information retrieval mechanism suitable for a wide range
of users and to provide a way of easily maintaining the system. The prototype developed for
use over the World Wide Web combines keyword search and case based reasoning to
provide both rapid focusing on a part of the help information and guided interaction when
the user is unclear about appropriate keywords. Ease of maintenance is provided by using
Multiple Classification Ripple down Rules (MCRDR) to maintain the domain knowledge in
the system. Further issues that arise include the problem of inappropriate focusing by
keyword and maintenance in a distributed environment.
ACKNOWLEDGEMENTS
I would like to thank to all my guides who really acted as pillars to help my way
through-out this project that has led to successful and satisfactory completion of this
project.
First of all, I thank P.I. Softek Limited for recruiting me as a technical intern for duration
of 1.5 months. It has been a great experience working in P.I. Softek Limited and it has
enabled me to apply my skills and provided me with a good exposure to the ever
competing Information Systems Sector.
I am also thankful to Mr. Rajiv sharma (Project Director) for providing me the
opportunity to do my technical internship in the esteemed organization.
I am highly thankful to Mr. Tejendra Singh (Support Engineer) for providing me the
best possible guidance and making me aware of the working methodologies
I am also thankful to Mr. Pradeep Chaurasia (Team Leader) for providing me with
the technical guidance for implementing the project.
LIST OF FIGURES
Page NO.
Figure 1 – V-MODEL DIAGRAM 8
Figure 2 – TICKET CREATION 11
Figure 3 - SUPPORTER PAGE 11
Figure 4 –OPEN TICKETS TABLE 12
Figure 5 – TICKET SEARCH PAGE 12
Figure 6 –ADD TO KNOWLEDGE BASE PAGE 13
Figure 7 – UPDATE LOG BUTTON 13
Table of Content
Page no.
Declaration
Certificate
Abstract
Acknowledgement
List of figures
Chapter 1 - Company overview 1
1.1 PISOFTEK’S Mission 1
1.1.1 One firm Many Services
1.1.2 Our people
1.1.3 Verticals
1.2 Product Development 2
1.2.1 Benefits of Outsourcing Product Development to PISOFTEK
1.3 Solution Framework 3
Chapter 2 – Help Desk System 4
2.1 Introduction 4
2.2 Related Work 5
2.2.1 Information retrieving studies
2.3 Expert system approach 6
2.3.1 Rule based Approach
2.3.2 Case based approach
Chapter 3 - Software Development Model Used 8
Chapter 4 – Testing 9
4.1 White box testing 9
4.2 Black box testing 9
4.3 Testing levels 9
4.3.1 Unit testing
4.3.2 Functional testing
4.3.3 Performance testing
4.3.4 Stress testing
4.3.5 Structure testing
Chapter 5 – Screenshots 11
Chapter 6 – Conclusion 14
Chapter 7 - My role during internship 15
Chapter 8 – Future Enhancements 16
Chapter 9 - References 17
1. COMPANY OVERVIEW
1.1 PISOFTEK's Mission
To be a leader in providing best-of-breed solutions to SMEs through best-in-class people
1.1.1 One firm, many services
PISOFTEK is a full software service firm. We provide exceptional software development
services for our clients, who range from small businesses Software needs from a single
source, which is why we offer a wide variety of services. Choose from our offerings wanting
to optimally utilize IT Outsourcing to large corporations desiring full robost ,mission critical
applications. At PIS, we believe you should be able to obtain a complete solution for all your
to create a solution customized to your company's needs:
* IT Consultancy
* Offshore Development & Maintenance
* Internet marketing
* Search engine optimization
* E commerce solutions
* Software Implimentation
* QA Services
1.1.2 Our people
Innovative staff, innovative solutions
We have been providing original, effective software solutions to our clients for the past
eleven years. During this time, we've grown to a large cohesive team, including positions in
design, programming, Business Analysts, QA Analysts, Implimentation experts and
management. Whether you're searching to manage your existing software or if you want to
completely overhaul your application with new features, our staff is here to help. With in-
depth knowledge of both the creative and technical aspects of design, development, and
implimentation, we will guide to help you achive your desired results.
We believe that only mantra for successful outsourcing business is to provide 'In-house'
experience of offshore team to the client. Our processes, tools and methodologies are always
oriented to fulfill this mantra.
1.1.3 Verticals
Banking and Financial Services
Health Care
Biotechnology
Government
Telecommunications
Software and Technology
Manufacturing
Distribution
Retail
Insurance
Media & Entertainment
And others.
1.2 PRODUCT DEVELOPMENT
Product Development is a complex process requiring in-depth expertise in technology and
agile processes. Recognized as an Offshore Product Development leader, PISOFTEK
understands the associated challenges, and with its vast experience, has devised strategies to
overcome.
PISOFTEK's product development offerings include:
Outsourced Product Development in all major technologies
End-to-end Product lifecycle management
Re-engineering of products created in obsolete technologies now obsolete
Product Quality Engineering right from the Requirements analysis stage
Full deployment & maintenance support; 24x7, if needed
Product Development using custom methodology
If you are looking for end-to-end Product Development, do not compromise; let us show you
our value proposition and see the difference.
E-mail us at [email protected] and we will get in touch with you within 1 business day.
1.2.1 Benefits of Outsourcing Product Development to PISOFTEK
Cost reduction of over 50% using PISOFTEK's offshore center
Market your product faster with the Outsourcing approach
Have world's best engineers design and develop your product
Receive recommendations on which technologies to use
Get Guaranteed results using our proprietary Methodology
Get complete post-development support; 24x7, if required
1.3 SOLUTION FRAMEWORK
PISOFTEK is a leading provider for Small and Medium size Businesses (SMBs). We provide
feature and quality rich, custom-based solutions. Our integrated solutions give you distinct
way to market advantage and incredible cost savings. All the solutions are future based
deploying the best technology.
PISOFTEK makes a difference:
by providing industry specific solutions
by furnishing customers with value added, innovative and consistent solutions
with scalable, maintenance-free, and flexible solutions
by offering best technological solutions focusing on the current and future business needs
by providing cost-effective and qualitative solutions
Besides all these differences, PISOFTEK's core concentration is on client's requirements and
needs. We offer different solutions will help your business accurately meet your needs and
differentiate you from your competitors. Opt for complete software and business solutions,
designed, built and hosted by experts of PISOFTEK.
2. HELP DESK SYSTEM
2.1 Introduction
In many areas various forms of help desk service provide users with help. In conventional
help desk services, groups of human experts who differ in their knowledge and expertise try
to solve the customer’s problems. Their roles are determined according to their problem
solving ability and the degree of the problem difficulty. Thus, to provide help desk service of
high quality, the availability of high level experts is crucial. However, the number of such
high level experts is limited, and the demand for the automated help desk systems is
increasing. An expert system approach is a feasible solution. In addition to this, world wide
computer networks such as the Internet are becoming the major communication media. The
rapid communication enabled by such computer networks has also increased the demand for
efficient maintenance of the knowledge for the help desk services. The overall aim of this
study is to develop better methods of maintaining knowledge bases for help desk system
while improving their usability.
For the discussion here knowledge based systems are roughly classified into two groups, i.e.,
rule based and case bases. Although, the rule representation is most popular in the expert
system community, the case based reasoning (CBR) approach has been frequently used to
build help desk systems (Kriegsman and Barletta, 1993; Barletta, 1993a; Shimazu et al.,
1994; Simoudis, 1992). Most of these systems, however, require a major effort to maintain
the case base. We propose to use the Multiple Classification Ripple Down Rules (MCRDR)
method to reduce the case base maintenance cost and speed up the maintenance process. The
MCRDR method is a case based maintenance method with which the expert can develop and
maintain the case base without the help of the knowledge engineers. In the MCRDR method,
when the CBR system retrieves cases which are identified by the user as inappropriate, the
systems simply asks the expert to identify the important features which distinguish the
incorrectly retrieved cases from the present case. The expert also adds the relevant
information needed by the user to the new case so it can be added to the case base for future
retrieval. It is indexed using the distinguishing features identified by the experts and
information from the previous incorrect retrieval of the other cases (Kang and Compton,
1994). This simple approach allows large systems to be easily built (Compton et. al., 1993).
The earlier simpler version of MCRDR, Ripple Down Rules (RDR), was used to maintain the
Pathology Expert Interpreting Report System (PEIRS) in St. Vincent Hospital, Sydney. This
system showed a very high level of performance and was developed and maintained by
experts as part of their normal duties without any knowledge engineering support (Edwards et
al., 1993; Compton et al., 1994; Kang et al., 1994; Perston et al., 1994).
In this study, it is assumed that the help desk system is to be used by various users from
experts to novices. It is also designed to be constructed and maintained through the World
Wide Web (WWW) with remote users directly retrieving information. How to provide a
suitable interface for the various types of the remote user, especially for the novice user, and
how to maintain the consistency of the case base perhaps maintained by the multiple experts
are important research issues in this study. In some sense, a help desk system can be seen as
an information retrieving system. The information is saved as cases. The major difference
between the proposed method and the conventional information retrieving methods is that the
proposed method focuses on using human expertise to develop and maintain the way in
which a user interacts with the system to produce appropriate information retrieval.
2.2 Related Work
A user’s request to a help desk service can be classified into two types: information search
and diagnosis of his/her problems. One may simply seek for new information. “What is
WWW?” is a typical example of this type of information search. One may also seek for a
solution to his/her problem. ”My printer does not work!” is a typical example of this type of
diagnosis. The issues related to these requests are studied in the information retrieval area and
the knowledge based diagnosis area. In this section, we briefly summarize these related issues
together with knowledge maintenance issues and interface issues which are also important
when we try to develop a practical system.
2.2.1 Information Retrieving Studies
Many information retrieval studies focus on how to find the relevant information from a large
text base. A simple approach is collecting related documents and providing a search engine
with the collection. The major research issues in this area fall into 1) the text representation,
2) the user query representation, and 3) the retrieving method. The text representation is one
of the classical issues in the information retrieving studies. The simple approach extracts all
words in the documents with exceptions such as pronouns and articles. Use of the statistical
measurement of word appearance, i.e., the term frequency, is also used to supply additional
information (Salton et al., 1994, Lewis, 1992).
The user query representation is studied to accurately capture the user requests. The simple
approach is to capture the requests by keyword combinations. Natural language
understanding and sophisticated interaction techniques (Callan and Croft, 1993) are also
studied to provide a better interface.
The retrieval function (Salton and J. McGill, 1983) actually selects and ranks the documents.
The ranking method is particularly important when many documents are selected. Since
simple boolean logic does not cover the ranking, various statistical methods such as k-nearest
neighbors are used to provide the ranking for the selected documents. These information
retrieving methods are useful in constructing a help desk system. This is particularly so if the
task is to search for new information. Diagnosis type help services can also be handled by
providing the relevant documents. However, this type of system assumes that the user can
specify the appropriate keywords to search for the related documents. If the user does not
have the skill to provide proper keywords, the system may fail to retrieve the relevant
documents or may find too many irrelevant documents. Since natural language understanding
still has a performance problem, how to provide better information retrieval to the novice
user who is lacking such skills remains a research issue.
2.3 Expert System Approach
2.3.1 Rule Based Approach
Many expert systems have been developed for diagnostic problems (Boose, 1989). Rules are
the most popular representation for the knowledge base in the expert system. The methods to
obtain rules are classified into two categories, automated methods (machine learning) and
manual methods (e.g. interviewing) (Boose, 1991). Regardless of which method is used, the
rule based approach constructs a knowledge base which interprets the problem and suggests
solutions. Though rules in the knowledge base are a good source of help for the user, they are
different from a set of documents which are used in an information retrieval system.
There are common criticisms about rule based approaches (Barletta, 1993b). The first one is
that it is hard to construct a knowledge base. The second one is that it is hard to maintain the
knowledge base. Another criticism is that a rule based system is brittle. The second criticism
is particularly crucial for the help desk system development since it should be able to
accommodate changing knowledge. Note that these criticisms are based on the classical rule
based approaches. There have been many attempts to solve these problems. The most
common approach is based on the idea of a “knowledge level” (Newell, 1982) analysis of a
situation in a software engineering type of approach to knowledge acquisition (Wielinga et
al., 1992).
2.3.2 Case Based Approach
Although many have worked on rule based systems, a case based reasoning(CBR) approach
is frequently used to build help desk systems. SMART(Acorn, 1992), CASCADE (Simoudis,
1992) and CARET (Shimazu, et al., 1994) are the examples of help desk systems which use a
CBR approach. CBR builds expert systems using past cases to solve new problems (Sycara
and Ashley, 1991). It is based on the cognitive assumptions that real expertise comes from
the experience of the expert, and that episodic memory (Slade, 1991; Stottler, et al., 1989) is
an appropriate way to model the expertise. The approach of CBR is not to find appropriate
rules in a knowledge base, but to find similar cases from the case base. CBR is appropriate
when there is no formalized knowledge in the domain or where it is difficult for the expert to
express their expertise in the rule format. In general, an expert is good at judging cases but
not good at providing knowledge in the abstract (Manago and Kodratoff, 1987).
The functional similarity between CBR and information retrieval methods is that both
methods carry out their task by retrieving the relevant cases or documents. Both methods
maintain a set of cases/documents and the new cases/documents are added into the database
or the later use (Barletta, 1993b). While information retrieving studies concentrate on
retrieval from large document data bases (Barletta, 1993b; Callan and Croft, 1993), CBR
approaches try to represent the human problem solving knowledge in the case representation.
Many CBR researchers claim that the knowledge acquisition bottleneck is solved by
maintaining a case base since the addition of new knowledge into the system can be
performed by the simple addition of new cases. However, a CBR system needs a good case
retrieval mechanism and a good case base maintenance method. If a CBR system lacks these
methods, it can not solve a problem because it may find consistent, irrelevant or outdated
cases
3. SOFTWARE DEVELOPMENT MODEL USED: THE V-
MODEL
The V-model is a software development model which can be presumed to be the extension of
the waterfall model. Instead of moving down in a linear way, the process steps are bent
upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the
relationships between each phase of the development life cycle and its associated phase of
testing.
Fig. 1 V-Model Diagram
4. TESTING
Software testing can be stated as the process of validating and verifying that a computer
program/application/product:
meets the requirements that guided its design and development,
works as expected,
can be implemented with the same characteristics,
and satisfies the needs of stakeholders.
Software testing, depending on the testing method employed, can be implemented at any time
in the software development process.
Software testing methods are traditionally divided into white- and black-box testing. These
two approaches are used to describe the point of view that a test engineer takes when
designing test cases.
4.1 White-box testing
Also known as clear box testing, glass box testing, transparent box testing and structural
testing tests internal structures or workings of a program, as opposed to the functionality
exposed to the end-user. In white-box testing an internal perspective of the system, as well as
programming skills, are used to design test cases. The tester chooses inputs to exercise paths
through the code and determine the appropriate outputs. This is analogous to testing nodes in
a circuit, e.g. in-circuit testing (ICT).
4.2 Black -box testing
This treats the software as a "black box", examining functionality without any knowledge of
internal implementation. The testers are only aware of what the software is supposed to do,
not how it does it.
4.3 Testing levels:
4.3.1 Unit Testing
Unit testing focuses on testing the individual modules. This test detects errors in coding and
logic within each program. Each program is checked for its consistency. There are four
categories of tests that a programmer will typically perform on a program unit:
Functional Tests, Performance Tests, Stress Tests, Structure Tests
4.3.2 Functional Testing
It involves exercising the code with nominal values for which the expected results are known,
as well as boundary values and special values.
4.3.3 Performance Testing
The amount of execution time spent in various parts of the unit, program throughput,
response time, and device utilization by the program unit.
4.3.4 Stress Testing
Stress tests are those tests designed to intentionally break the unit. A great deal can be learned
about the strengths and limitations of a program by examining the manner in which a
program unit breaks.
4.3.5 Structure Testing
Structure tests are concerned with exercising the internal logic of a program and traversing
particular execution paths. Some authors refer collectively to functional, performance, and
stress testing as “black box” testing.
Acceptance Testing
Acceptance testing involves planning and execution of functional tests, performance tests,
and stress tests to verify that the implemented system satisfies its requirements.
Integration Testing
In Integration testing, all modules are integrated and the entire software is tested for serial
addition and expected validation. Strategies for integrating software components into a
functioning product include the bottom-up strategy, the top-down strategy, and the sandwich
strategy. The integration strategy dictates the order in which modules must be available, and
thus exerts a strong influenc on e the order in which modules are written debugged, and unit
tested.
Bottom-up integration
Bottom-up integration is the traditional strategy used to integrate the components of a
software system into a functioning whole. Bottom-up integration consists of Unit testing,
followed by subsystem testing, followed by testing of the entire system.
Top-down integration
Top-down integration starts with the main routine and one or two immediately
subordinate routines in the system structure. Top-down integration requires the use of
program stubs to simulate the effect of lower-level routines that are called by those being
tested.
5. SCREENSHOTS
Fig. 2 Ticket creation
Fig. 3 Supporter page
Fig. 4 Open Tickets Table
Fig. 5 Ticket search page
Fig 6.Add to knowledge base page
Fig. 7 Update log button
6. CONCLUSION
This study has shown that the MCRDR method (a kind of a case base reasoning system) can
provide an effective framework to develop a help desk system. The contents of the case base
can be easily maintained by a human expert with the help of MCRDR functions as MCRDR
can keep track of the problem solving contexts in the past and store them in the knowledge
base. The combined use of keyword search and MCRDR seems likely to provide an excellent
interface for a range of users for the help desk system by reducing unnecessary interaction
between the system and the user. Since the frame work is quite general, it could be applied to
various kinds of help desk systems.
7. MY ROLE DURING INTERNSHIP
In this project the role assigned to me was of the software testing. There I was
working as a member of the testing and support team. Various modules of the
software were given to me and I was analyzing those modules, my work was
not only limited to the testing I was also installing that software in various
computers to check whether that is working properly or not and also ensuring
that the software do not collapse.
I was involved in black box testing of the software and was not given the
permission to access the code of the software I was checking the overview of
the software checking for spelling mistakes and whether the tabs are doing the
assigned work or not.
As a member of the testing team my work was praised by the team leader and I
also learned a lot of new things which I previously did not know about.
I also learned how to install windows and how to work on Unix and linux.
Apart from this work I was also involved in proving support the employees in
case of system or software failure of any kind I was working on windows
servers and virtual windows and I also learned how to make the LAN cable.
8. FUTURE ENHANCEMENT
This help desk system is still in progress and will be completed very soon in the
due course of time. This system will provide a lot of relief and help to the
organization where ever it will be used. This software can tell about all the
systems connected over the network. Software will be installed on the server
and from there you can know about all the systems working and what all
software is installed on those computers. This software also provides the feature
of generating tokens to register your complaints and that directly sends an Email
to the one who can fix the problem. The software is designed to give relief from
manual work so this will give relax to the engineer.
Using this software we can save our time and also a lot of efforts that we have
to do in order to do the work manually lodging complaints will become very
easy if any system goes down it can very easily be recognized and the system
administrator will very easily maintain all the computers on the network and no
person will be able to use any unauthorized software on the system without
permission.
9. REFERENCES
1. Pressman, Roger S. Software Engineering. McGraw-Hill Higher Education, 2009.
2. Whitten, Jeffrey and Bentley, Loonie. System Analysis and Design Methods. Irwin
Professional Pub. 2005
3. Schildt, Herbert. Complete Reference Java 2.0. McGraw-Hill Higher Education,
2009.
4. Brown, Don and Davis, Chad M. Struts 2 in Action. Manning Publications, 2008.
5. Bergsten, Hans. JavaServer Pages. O’Reilly Media, 2003
6. “V-Model (Software Development)” Sept 2011, <http://en.wikipedia.org/wiki/V-
Model_(software_development)
7. “Help – Eclipse SDK” October 2011, <http://help.eclipse.org/galileo/index.jsp>
8. “Struts 2 Tutorial, Struts2 Examples, Apache Struts 2 Tutorial” Sept 2011,
<http://www.roseindia.net/struts/struts2>
9. “Struts2 Tutorial” Sept 2011, <http://www.vaannila.com/struts-2/struts-2-
tutorial/struts-2-tutorial>
10. “Core J2EE Patterns – Data Access Objects” Sept 2011,
<http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html>
11. “Business Object” September 2011, <http://en.wikipedia.org/wiki/Business_object>
12. “JSP Tutorials” October 2011, <http://www.roseindia.net/jsp/jsp>
13. “CSS Introduction” November 2011, <http://w3schools.com/css/css_intro>
14. “Software Testing Complete Guide” November 2011,http://www.softwaretestinghel
p.com
15. “Software Testing Genius” November 2011,
<http://www.softwaretestinggenius.com>