ONLINE FEEDBACK SYSTEM Main Project submitted in partial fulfillment Of the requirements for the award of the degree of
BACHELOR OF TECHNOLOGY IN INFORMATION TECHNOLOGY
By
P.Anjaneyulu
09241A1202
Mohd Abdul Mujeeb
09241A1217
V. Madhavdinakar Madhavd inakar
10245A1205
V .Siva Krishna Krishna
10245A1206
Under the Esteemed Guidance of
Dr. T.V. RajiniKanth HEAD OF THE DEPARTMENT
DEPARTMENT OF INFORMATION TECHNOLOGY GOKARAJU RANGARAJ U INSTITUTE OF ENGINEERING AND TECHNOLOGY Bachupally, Kukatpally, Hyderabad – 500 090
1
CERTIFICATE
This is to certify that it is a bonafide record of MainProject work entitled “ONLINE FEEDBACK SYSTEM” done byP.Anjaneyulu (09241A1202), Mohd Abdul Mujeeb (09241A1217),V.MadhavDinakar (10245A1205),V.Siva Krishna (10245A1206),students of B.Techin the Department of Information Technology,
GokarajuRangaraju GokarajuRangaraju Institute I nstitute of Engineering and Technology during the per iod 20122013 in the partial fulfillment of the requirements for the award of degree of B.Tech in Information Technology. The results presented in this dissertation have been verified and are found found to be satisfactory. satisfactory. This work is not submitted submitted to any other other university for the award of any Degree/Dipl De gree/Diploma. oma.
Internal Guide
Head of the
Department Dr. T.V.RajiniKanth
Dr. T.V.RajiniKanth
Professor and Head
Professor and Head
Department of IT
Department of IT
GRIET
GRIET
Hyderabad-500090
Hyderabad-500090
2
External Examiner
ACKNOWLEDGEMENT
I wish to express our deep gratitude to our guide Dr.T.V.RajiniKanth, Professor & Head, Department of IT, for all the advice, encouragement and constant support he has given us throughout our project work. This work would not have been possible without his support and valuable suggestions. suggestions. We are grateful to Dr.T.V.RajiniKanth, Professor & Head Department of IT and the Members of the Project Review Committee, for their valuable suggestions. suggestions. We are also grateful to Dr. Jandhyala N Murthy, Principal and Prof P.S.Raju, Director of GRIET for giving us the necessary facilities to carry out our
project work successfully. We would like to thank all our friends for their help and constructive criticism during our project work.
P.Anjaneyulu
09241A1202
Mohd Abdul Mujeeb 09241A1217 V. Madhavdinakar10245A1205 Madhavdinakar10245A1205 V.Siva Krishna
3
10245A1206
ABSTRACT
The purpose of this application is to get the feedback from the students and faculty. Student feedback is about the performance of lecturers in a college& faculty feedback is about the college. This is a client-Server application deployed into college’s web-server. This application consists of: •
Student,
•
Faculty,
•
Administrator.
Clients for this application are students & faculty fro m different branches and courses. Each student/faculty is identified with his unique ID provided by the college. A link is provided p rovided for them wherethey gets logged in into their account with their ID and Password. The student/faculty then has to fill the feedback form and submit it.Login information entered by them are retrieved and verified by the server to allow the access to the website. Based on details an appropriate feedback form is displayed. When they submit the form,the feedback is checked for errors. Errors are displayed to the user to rectify. rectif y. On completion of the feedback form, server stores the user details to avoid multiple feedback submission from a single user. Administrator can start a new feedback, can edit the details, can upload data, can insert data, and can download the t he data. There is anadministrator for each branch. Every administrator has access to their respective branch only.After completion of the feedback for that year, administrator can take a printout p rintout or can download the report.
4
CONTENTS
Introduction 1.1 Purpose of the Project 1.2 Project Approach 1.3 Project Goals and Objectives 1.4 Scope 1.5 Roles and Responsibilities Responsibilities
01 01 01 01 02 02
Project Analysis 2.1 Functional Functional Requirements
03 03
2.2 Software and Hardware Requirements Requirements Technologies Implemented 3.1 HTML
03 04 04
3.2 Java Server Pages (JSP)
06
3.3 Cascading Style Sheets (CSS)
08
3.4 Java Scripts
10
3.5 Apache Tomcat
13
3.6 My SQL
14
Project Design 4.1 UML Diagrams
16 16
4.1.1 Class diagrams
16
4.1.2 Usecase diagrams
16
4.1.3 Sequence diagrams
18
4.1.4 Activity diagrams
20
4.2 Project Project Scenario
22
4.2.1 Student Login
22
4.2.1.1 Home
22
4.2.1.2 Details
23
4.2.1.3 Subjects
23
4.2.1.4 Feedback Form
24
4.2.1.4.1 Existed Existed
24
4.2.2 Administrator Login
25
4.2.2.1 Settings
25
4.2.2.1.1 4.2.2.1 .1 Questions 5
26
4.2.2.1.2 Faculty
26
4.2.2.1.3 Subjects
27
4.2.2.1.3.1 select semester
27
4.2.2.1.3.2 view subjects
27
4.2.2.1.4 Semesters
28
4.2.2.1.5 Start New Feedback Form
28
4.2.2.1.5.1 select semester
28
4.2.2.1.5.2 set subjects
29
4.2.2.1.5.3 Ready to take Feedback
29
4.2.2.2 Reports
30
4.2.2.2.1 Individual Report
30
4.2.2.2.1.1Individual Print
31
4.2.2.2.1.2 Individual Excel
32
4.2.2.2.2 Overall Report
32
4.2.2.2.2.1 Overall Print
33
4.2.2.2.2.2 Overall Excel
33
4.2.2.3 Change Password
34
4.2.2.3.1.1 modify password 4.2.2.3.1.2 password changed
34 34
5. Testing
35
5.1 Testing
35
5.2 Testing Methods
35
5.2.1 Black Box Testing
35
5.2.2 White Box Testing
35
5.3 Level in Testing
35
5.3.1 Unit Testing
35
5.3.2 Integrating Testing
36
5.4 Final Testing
36
5.4.1 Alpha Testing
36
5.4.2 Beta Testing
36
5.5 Testing of Online Feed Back System
36
5.6 Result Analysis
36
5.6.1 Scope of Testing
37 6
5.6.2 Qualitative Grading
38
6. Conclusion
39
6.1 Future scope
39
Bibliography
40
Appendix
41
LIST OF FIGURES
4.1 UML Diagrams
16
4.1.1 Class diagrams
16
4.1.2 Usecase diagrams
16
4.1.3 Sequence diagrams
18
4.1.4 Activity diagrams
20
4.2 Screen Shots
22
4.2.1 Student Login
22
4.2.1.1 Home
22
4.2.1.2 Details
23
4.2.1.3 Subjects
23
4.2.1.4 Feedback Form
24
4.2.1.4.1 Existed
24
4.2.2 Administrator Login
25
4.2.2.1 Settings
25
4.2.2.1.1 Questions
26
4.2.2.1.2 Faculty
26
4.2.2.1.3 Subjects
27
4.2.2.1.3.1 select semester
27
4.2.2.1.3.2 view subjects
27
4.2.2.1.4 Semesters 7
28
4.2.2.1.5 Start New Feedback Form
28
4.2.2.1.5.1 select semester
28
4.2.2.1.5.2 set subjects
29
4.2.2.1.5.3 Ready to take Feedback
29
4.2.2.2 Reports 30 4.2.2.2.1 Individual Report 30 4.2.2.2.1.1Individual Print 31 4.2.2.2.1.2 Individual Excel 32 4.2.2.2.2 Overall Report 32 4.2.2.2.2.1 Overall Print 33 4.2.2.2.2.2 Overall Excel 33 4.2.2.3 Change Password
34
4.2.2.3.1.1 modify password 34 4.2.2.3.1.2 password changed 34
1. INTRODUCTION 1.1 Purpose of the Project
This project is developed to take feedback from students& faculty of GRIET and is a complete online project. For a firm to run successfully it is compulsory to take feedback from its clients. 1.2 Project Approach
This section gives an outline of the way we developed the application, including the highest level milestones: 8
Phase I: Gathering of information regarding the various technologies to be
used to
develop a online feedback system.
Phase II: We learned the technologies to be used for the developed during this phase
by listening to tutorials which helped us gain knowledge about the implementation of the technologies.
Phase III: Coding was next aspect and did it by using various technologies like
HTML,CSS 3,JAVAScripts,Mysql etc
Phase IV: After running the application in the Apache Tomcat Server,we installed the
application on a server to check for the proper working of the functionalities that the application was aimed at.
Phase V: As this application was meant to be a cross-platform one,we had to ensure
that it works on different platforms.For this,we made it run on various operating systems and on different browsers.
Phase VI: Testing of the app lication was done by installing the application on college
server to check whether all the functionalities were being satisfied or not.
1.3 Project Goals and objectives
The application goals and objectives for this project will focus on implementing online feedback system that will do the following: •
Facilitates
coordination
and
information
sharing
between
both
the
administrators and the users. •
Provides an open, flexible, reliable technology base.
•
Is easy to use.
•
Ensuring that end users have input into the design of the application through the feedback forms provided.
1.4Scope
9
As the feedback which is taken at the end of every semester, the same process is followed in this project. This project is designed to reduce the paper work, human resources and manual calculation.
1.5 Roles and Responsibilities
The student/faculty logs in with his unique ID and password,selects the feedback form and gives the feedback. The administrator generates the final reports after the feedback is obtained from the students& faculty. He can generate the individual reports as well as overall reports depending on his need.
2. PROJECT ANALYSIS 2.1 Functional Requirements: 2.1.1 Output Design
The appearance of the application is designed using HTML.
2.1.2 Input Design
10
Input design is a part of overall system design. The application is designed to take input only through the feedback forms provided in the Contacts section. The user can give his input in the feedback forms easily as it has been designed using various HTML form elements like select, etc.
2.2Hardware Specifications: •
Processor: Intel P-VI based system or higher.
•
CPU speed: 833 MHz to 2.53GHz or more.
•
RAM: min 120 MB.
•
Hard Disk: min60GB.
2.3Software specifications: •
Operating system: Linux, windows 2000,2003, XP,vista,7 or later.
•
Technologies: HTML, CSS, JavaServerPages, JavaScripts.
•
Web Server: Apache Tomcat server 5 or later.
•
DataBase: MySQL.
3. TECHNOLOGIES IMPLEMENTED •
HTML
•
Java Server Pages (JSP)
•
Cascading Style Sheets (CSS)
•
Java Scripts
•
Apache Tomcat 11
•
My SQL
3.1 HTML Hypertext Markup Language ( HTML) is the main markup language for
displaying web pages and other information that can be displayed in a web browser. HTML is written in the form of HTML elements consisting of tags enclosed in angle brackets (like ), within the web page content. HTML tags most commonly come in pairs like
and
, although some tags, known as empty elements, are unpaired, for example
. The first tag in a pair is the start tag , the
second tag is the end tag (they are also called opening tags and closing tags). In between these tags web designers can add text, tags, comments and other types of text-based content. The purpose of a web browser is to read HTML documents and compose them into visible or audible web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the page. HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms. It provides a means to create structured by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as JavaScript which affect the behavior of HTML web pages. 3.1.1 Elements:
HTML documents are composed entirely of HTML elements that, in their most general form have three components: a pair of tags, a "start tag" and "end tag"; some attributes within
the
start
tag;
and
finally,
any
textual
and
graphical content between the start and end tags, perhaps including other nested elements. The HTML element is everything between and including the start and end tags. Each tag is enclosed in angle brackets. The general form of an HTML element is therefore:
content . Some HTML elements are defined as empty elements and take the form
. Empty
elements may enclose no content, for instance, the BR tag or the inline IMG tag. The name of an
12
HTML element is the name used in the tags. Note that the end tag's name is preceded by a slash character, "/", and that in empty elements the end tag is neither required nor allowed. If attributes are not mentioned, default values are used in each case. The World Wide Web is composed primarily of HTML documents transmitted from web servers to web browsers using the Hypertext Transfer Protocol (HTTP). However, HTTP is used to serve images, sound, and other content, in addition to HTML. To allow the Web browser to know how to handle each document it receives, other information is transmitted along with the document. This data usually includes the MIME type (e.g. text/html or application/xhtml+xml) and the character encoding (see Character encoding in HTML). In modern browsers, the MIME type that is sent with the HTML document may affect how the document is initially interpreted. A document sent with the XHTML MIME type is expected to be well-formed XML; syntax errors may cause the browser to fail to render it. The same document sent with the HTML MIME type might be displayed successfully, since some browsers are more lenient with HTML. 3.1.2 Structural markup describes the purpose of text
For example, Golf
establishes "Golf" as a second-level heading. Structural markup does not denote any specific rendering, but most web browsers have default styles for element formatting. Content may be further styled using Cascading Style Sheets (CSS). 3.1.3 Presentational markup describes the appearance of the text, regardless of its purpose
For example boldface indicates that visual output devices should render "boldface" in bold text, but gives little indication what devices that are unable to do this (such as aural devices that read the text aloud) should do. In the case of bothbold and italic, there are other elements that may have equivalent visual renderings but which are more semantic in nature, such as strong text and emphasised text respectively. It is easier to see how an aural user agent should interpret the latter two elements. However, they are not equivalent to their presentational counterparts: it would be undesirable for a screenreader to emphasize the name of a book, for instance, but on a screen such a name would be italicized. Most 13
Presentational markup elements have become deprecated under the HTML 4.0 specification, in favor of using CSS for styling. 3.1.4 Data types
HTML defines several data types for element content, such as script data and style sheet data, and a plethora of types for attribute values, including IDs, names, URIs, numbers, units of length, languages, media descriptors, colors, character encodings, dates and times, and so on. All of these data types are specializations of character data. 3.2 JAVA SERVER PAGES (JSP) Java
Server
Pages (JSP)
is
a
technology
that
helps software
developers create dynamically generated web pages based on HTML, XML, or other document types. Released in 1999 by Sun Microsystems, JSP is similar to PHP, but it uses the Java programming language. To deploy and run Java Server Pages, a compatible web server with a servlet container, such as Apache Tomcat or Jett y, is required.
Fig2.2 The JSP Model 2 architecture. Architecturally, JSP may be viewed as a high-level abstraction of Java servlets. JSPs are translated into servlets at runtime; each JSP's servlet is cached and re-used until the original JSP is modified. JSP can be used independently or as the view component of a serverside model–view–controller design, normally with JavaBeans as the model and Java servlets (or a framework such as Apache Struts) as the controller. This is a type of Model 2 architecture. 14
JSP allows Java code and certain pre-defined actions to be interleaved with static web markup content, with the resulting page being compiled and executed on the server to deliver a document. The compiled pages, as well as any dependent Java libraries, use Java byte code rather than a native software format. Like any other Java program, they must be executed within a Java virtual machine (JVM) that integrates with the server's host operating system to provide an abstract platform-neutral environment. JSP pages are usually used to deliver HTML and XML documents, but through the use of Output Stream, they can deliver other types of data as well. JSP pages use several delimiters for scripting functions. The most basic is <% ... %>, which encloses a JSP scriptlet. A scriptlet is a fragment of Java code that is
run when the user requests the page. Other common delimiters include <%= ... %> for expressions, where the value of the expression is placed into the page
delivered to the user, and directives, denoted with <%@ ... %>. Java code is not required to be complete or self-contained within its scriptlet element block, but can straddle markup content providing the page as a whole is syntactically correct. For example, any Java if/for/while blocks opened in one scriptlet element must be correctly closed in a later element for the page to successfully compile. Markup which falls inside a split block of code is subject to that code, so markup inside an if block will only appear in the output when the if condition evaluates to true; likewise, markup inside a loop construct may appear multiple times in the output depending upon how many times the loop body runs. A Java Server Pages compiler is a program that parses JSPs, and transforms them into executable Java Servlets. A program of this type is usually embedded into the application server and run automatically the first time a JSP is accessed, but pages may also be precompiled for better performance, or compiled as a part of the build process to test for errors. Some JSP containers support configuring how often the container checks JSP file time stamps to see whether the page has changed. Typically, this timestamp would be set to a short interval (perhaps seconds) during software development, and a longer interval (perhaps minutes, or even never) for a deployed Web application. 3.3 CASCADING STYLE SHEETS ( CSS)
15
Cascading Style Sheets (CSS) is a style sheet language used for describing
the presentation semantics (the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can also be applied to any kind of XML document, including plain XML,SVG and xul CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content (such as by allowing for table less web design). CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser or screen reader) and on Braille-based, tactile devices. It can also be used to allow the web page to display differently depending on the screen size or device on which it is being viewed. While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified. CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In t his so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable.CSS has a simple syntax and uses a number of English keywords to specify the names of various style properties. A style sheet consists of a list of rules. Each rule or rule-set consists of one or more selectors, and a declaration block . A declaration-block consists of a list of declarations in braces. Each declaration itself consists of a property, a colon (:), and a value. If there are multiple declarations in a block, a semi-colon (;) must be inserted to separate each declaration CSS information can be provided from various sources.
16
CSS style information can be in a separate document or it can be embedded into an HTML document. Multiple style sheets can be imported. Different styles can be applied depending on the output device being used; for example, the screen versio n can be quite different from the printed version, so that authors can tailor the presentation appropriately for each medium. Priority scheme for CSS sources (from highest to lowest priority): •
•
Author styles (provided by the web page author), in the form o f: Inline styles, inside the HTML document, style information on a single
element, specified using the style attribute •
Embedded style, blocks of CSS information inside the HTML itself
•
External style sheets, i.e., a separate CSS file referenced from the document
3.3.1 Separation of content from presentation
CSS facilitates publication of content in multiple presentation formats based on nominal parameters. Nominal parameters include explicit user preferences, different web browsers, the type of device being used to view the content (a desktop computer or mobile Internet device), the geographic location of the user and many other variables.
3.3.2 Site-wide consistency
When CSS is used effectively, in terms of inheritance and "cascading," a global style sheet can be used to affect and style elements site-wide. If the situation arises that the styling of the elements should need to be changed or adjusted, these changes can be made by editing rules in the global style sheet. Before CSS, this sort of maintenance was more difficult, expensive and time-consuming.
3.3.3 Bandwidth
A style sheet, internal or external, will specify the style once for a range of HTML elements selected by class, type or relationship to others. This is much more efficient than repeating style information inline for each occurrence of the element. An external style sheet is usually stored in the browser cache, and can therefore be used on multiple pages without being reloaded, further reducing data transfer over a network. 17
3.3.4 Page reformatting
With a simple change of one line, a different style sheet can be used for the same page. This has advantages for accessibility, as well as providing the ability to tailor a page or site to different target devices. Furthermore, devices not able to understand the styling still display the content.
3.3.5 Accessibility
Without CSS, web designers must typically lay out their pages with techniques that hinder accessibility for vision-impaired users, like HTML tables (see Table less web design Accessibility). 3.4 JAVA SCRIPTS JavaScript (sometimes
abbreviated JS)
is
a prototype-based scripting
language that is dynamic, weakly typed and has first-class functions. It is a multiparadigm language,
supporting object-oriented,imperative,
and functional
programming styles. JavaScript was formalized in the ECMA Script language standard and is primarily used in the form of client-side JavaScript, implemented as part of a Web browser in order to give enhanced user interfaces and dynamic websites. This enables programmatic access to computational objects within a host environment. JavaScript's
use
in applications outside
Web
pages —
for
example
in PDF documents, site, and desktop widgets — is also significant. Newer and faster JavaScript VMs and frameworks built upon them (notably Node.js) have also increased the popularity of JavaScript for server-side web applications. JavaScript uses syntax influenced by that of C. JavaScript copies many names and naming conventions from Java, but the two languages are otherwise unrelated and have very different semantics. The key design principles within JavaScript are taken from the self and scheme programming languages. 3.4.1 Imperative and structured
JavaScript
supports
much
of
the structured
programming syntax
from C (e.g., if statements, while loops, switch statements, etc.). One partial exception is scoping: C-style block-level scoping is not supported (instead, JavaScript has function-level scoping). JavaScript 1.7, however, supports block-level scoping with 18
the let keyword.
Like
C,
JavaScript
makes
a
distinction
between
expressions and statements. One syntactic difference from C is automatic semicolon insertion, in which the semicolons that terminate statements can be om itted. 3.4.2 Dynamic 3.4.2.1 Dynamic typing
As
in
most
scripting
languages, types are
associated
with values,
not
with variables. For example, a variable x could be bound to a number, then later rebound to a string. JavaScript supports various ways to test the type of an object, including duck typing. 3.4.2.2 Object based
Java
is
entirely object-based.
JavaScript objects are associative
arrays,
augmented with prototypes (see below). Object property names are string keys:obj.x = 10 and obj['x'] = 10 are equivalent, the dot notation being syntactic sugar. Properties and their values can be added, changed, or deleted at run-time. Most properties of an object (and those on its prototype inheritance chain) can be enumerated using a for...in loop. JavaScript has a small number of built-in objects such as Function and Date. 3.4.2.3 Run-time evaluation
JavaScript includes an eval function that can execute statements provided as strings at run-time. 3.4.3 Functional 3.4.3.1 First-class functions
Functions are first-class; they are objects themselves. As such, they have properties and methods, such as length and call (); and they can be assigned to variables, passed as arguments, returned by other functions, and manipulated like any other object. Any reference to a function allows it t o be invoked using the () operator. 3.4.3.2 Nested functions and closures
"Inner" or "nested" functions are functions defined within another function. They are created each time the outer function is invoked. In addition to that, each created function forms a lexical closure the lexical scope of the outer function, including any constants, local variables and argument values, become part of the internal state of each inner function object, even after execution of the outer function concludes. 19
Use in web pages The most common use of JavaScript is to write functions that are embedded in or included
from HTML pages
and
that
interact
with
the
Document
Object
Model (DOM) of the page. Some simple examples of this usage are: •
Loading new page content or submitting data to the server via AJAX without reloading the page (for example, a social network might allow the user to post status updates without leaving the page)
•
Animation of page elements, fading them in a nd out, resizing them, moving them, etc.
•
Interactive content, for example games, and playing audio and video
•
Validating input values of a web form to make sure that they are acceptable before being submitted to the server.
•
Transmitting information about the user's reading habits and browsing activities to various websites. Web pages frequently do
this for web analytics, ad
tracking, personalization or other purposes. 3.4.4 Security
JavaScript and the DOM provide the potential for malicious authors to deliver scripts to run on a client computer via the web. Browser authors contain this risk using two restrictions. First, scripts run in a sandbox in which they can only perform web-related actions, not general-purpose programming tasks like creating files. Second, scripts are constrained by the same origin policy: scripts from one web site do not have access to information such as usernames, passwords, or cookies sent to another site. Most JavaScript-related security bugs are breaches of either the same origin policy or the sandbox.
3.5 APACHE TOMCAT Apache Tomcat (or simply Tomcat , formerly also Jakarta Tomcat ) is
an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat
implements
the Java
servlet and
the Java
Server
Pages(JSP)
specifications from Oracle Corporation, and provides a "pure Java" HTTP web server environment for Java code to run. 20
Apache Tomcat
Screenshot [show] Developer(s)
Apache Software Foundation
Stable release
7.0.29 / July 3, 2012; 34 days ago
Development status
Active
Programming
Java
[1]
language used Operating system
Cross-platform
Type
Servlet containerHTTP web server
License
Apache License 2.0 Fig: 2.5
Tomcat
is
not
the
same
as
the Apache
web
server,
which
is
a C implementation of an HTTP web server; these two web servers are not bundled together, although they are frequently used together as part of a server application stack. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML co nfiguration files 3.5.1 Used in this way: •
After the installation is completed, we placed our project in webapps folder.
•
Then we have set a new path as CLASSPATH in control panel.
•
After that we configured the Apache tomcat server.
•
Then we opened a browser and in entered the url as localhost:8080 it redirected us to a page where projects can b e seen
•
We clicked our project name and it redirected us to a home page our project.
•
This is common method for using apache tomcat server and can followed for other projects also.
3.6 My SQL
21
MySQL("My S-Q-L" officially, but also called ”My Sequel") is the world's
most usedopen source relational database management system(RDBMS) that runs as a server providing multi-user access to a number of databases. It is named after co-founder Michael Widenius daughter, MYSQL phrase stands for Structured Query Language. The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single non-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation. Free-software open source projects that require a full-featured database management system often use MySQL. For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: TYPO3, Joomla ,Word Press, phpBB, MyBB , Drupal and other software built on the LAMP software stack. MySQL is also used in many highprofile, large-scale World wide web products, including Wikipedia,Google (though not for searches), Facebook and Twitter •
MySQL implements the following features, which some other RDBMS systems may not:
•
Multiple storage engines, allowing one to choose the o ne that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL storage engines can be dynamically loaded at run time):
•
Native storage engines (MyISAM, Falcon, Merge, Memory (heap), FederatedArchive, CSV, Blackhole, Cluster, EXAMPLE,Maria, andInnoDB which was made the default a)
•
Partner-developed
storage
engines
(solid
DB
NitroEDB,
ScaleDB,
TokuDB,Infobright (formerly Brighthouse),Kickfire,XtraDB,IBM DB2).Inno used
to
be
a
partner-developed
storage
engine,
but
with
recent
acquisitions,Oracle now owns both MySQL core and InnoDB. •
Community-developed
storage
PBXT,Revision Engine) •
Custom storage engines
22
engines
memcacheengine
,httped
•
Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second. (PostgreSQl has an advanced form of this functionality)
3.6.1. Used in this way
We used MySQL to insert information into the databases regarding the details of the students and faculty so that it can be displayed in respective sections of the application. We also used it to store the feedback ratings given by the students.
4 PROJECT DESIGN 4.1 UML Diagrams: 4.1.1 Class Diagram:
23
4.1.2 Usecase Diagrams : 4.1.2.1 Usecase diagram for Student:
4.1.2.2 Usecase Diagram For Faculty:
24
4.1.2.3 Usecase Diagram For Administrator:
4.1.2.4 Usecase Diagram For Administrator-2: 25
The above uml diagram is the usecase diagram of administrator-2. When the administrator logs in he/she have six modules namely, manual, settings, reports, Message Box,Account andlogout. The manual module contains a walk through of the project. The settings module contains five more sub-modulesfaculty data, questions,upload,download and start new feedback. The Use case diagram will help us to easily find out the required result.
4.1.3 Sequence Diagrams:
26
4.1.3.1 Sequence Diagram for Student:
4.1.3.2 Sequence Diagram for Faculty:
4.1.3.3 Sequence Diagram for Administrator:
27
4.1.3.4 Sequence Diagram for Administrator-2:
28
4.1.4 Activity Diagrams:
29
4.1.4.1 Activity Diagram for student:
Click on Internet Button
Enter site address
Choose student or addmin login
Click on studentlogin
Enter userid&password
If submitted feedback
Alredy submitted feedback
submit feedback
Choose feedback option
See the ratings of the feedback
Give the feedback
Submit & logout
4.1.4.2 Activity diagram for Administrator
30
Click on Internet Button
Enter admin login
Choose manual,settings,reports,change psw
Settings of questions,faculty,subjects,initial,new feedback
Choose reports Select particular semister
Overall faculty report
Check result
Individual report Check result
4.2 PROJECT SCENARIO 31
4.2.1 STUDENT LOGIN:
Fig: 4.2.1 student login
4.2.1.1 Home
Fig 4.2.1.1 student home
4.2.1.2 Details:
32
Fig: 4.2.1.2 Student Details
4.2.1.3 SUBJECTS:
Fig: 4.2.1.3student subjects
33
4.2.1.4 Feedback Form:
Fig: 4.2.1.4 feedback form
4.2.1.4.1 Already feedback given:
Fig: 4.2.1.4.1 already given the feedback
4.2.1.5 Account:
34
Fig: 4.2.1.5 student account
4.2.2Faculty Login:
Fig: 4.2.2 Faculty Login
35
4.2.2.1 Faculty Home:
Fig: 4.2.2.1 faculty home
4.2.2.2Faculty Details:
Fig: 4.2.2.1 faculty details
36
4.2.2.3Faculty feedback:
Fig: 4.2.2.3 Faculty feedback
4.2.2.3.1 Already feedback given :
Fig: 4.2.2.3.1 Already given the feedback
37
4.2.2.4 Faculty Account:
Fig: 4.2.2.4 Faculty Account
4.2.3 Administrator Login:
Fig: 4.2.3 Administrator Login
38
4.2.3.1 Administrator Home:
Fig: 4.2.3.1 Administrator Home
4.2.3.2 Reports :
Fig: 4.2.3.2 Reports
4.2.3.2.1 Individual Reports :
39
Fig: 4.2.3.2.1 Individual Reports
4.2.3.2.1.1 Individual Print:
Fig: 4.2.3.2.1.1 Individual Print
40
4.2.3.2.1.2 Individual Excel:
Fig: 4.2.3.2.1.2 Individual Excel
4.2.3.2.2 Overall Report:
Fig: 4.2.3.2.2 Overall Report
4.2.3.2.2.1 Overall Print:
41
Fig: 4.2.3.2.2 .1 Overall Print
4.2.3.2.2.2 Overall Excel:
Fig: 4.2.3.2.2 .2 Overall Excel
42
4.2.3.3 Administrator Account:
Fig: 4.2.3.3 Administrator account
4.2.4 Administrator-2 Login:
Fig: 4.2.4Administrator-2 Login
43
4.2.4.1 Administrator-2 Home:
Fig: 4.2.4.1Administrator-2 Home
4.2.4.2 Reports:
Fig: 4.2.4.2 Reports 4.2.4.2.1 Question wise Reports:
44
Fig: 4.2.4.2.1 Question wise Report
4.2.4.2.2 Overall Report:
Fig: 4.2.4.2.2 OverallReport
4.2.4.3 :Administrator-2 Account:
45
Fig: 4.2.4.3 Administrator-2 Account
5. TESTING 46
5.1 Testing
Software testing is process used to assess the quality of computer software. It is an empirical technical investigation conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the context in which it is intended to operate. This includes but not limited to, the process of executing the program or application with the intent of finding software bugs. 5.2 Testing Methods
Software testing methods are traditionally divided into white box testing and black box testing. These two approaches are used to describe the point of view that a test engineer takes when designing test cases. 5.2.1 Black Box Testing
Black box testing treats the software as a black box without the knowledge of internal behaviour. It aims to test the functionality according to the requirements. Thus the tester only inputs data and sees the output from the test object. This kind of testing requires through test cases to be provided to the tester who then can simply verify that for a given input, the output value is the same as the expected value specified in the test cases. 5.2.2 White Box Testing
White box testing is however, is when the tester has access to the internal data structures, code and the algorithms. These methods include creating tests to satisfy some code coverage criteria. For example the test designer can create test to cause all statements in the program to be executed atleast once. Other examples of white box testing are mutation testing and fault injection method. 5.3 Levels in Testing
Soft ware testing levels are given below 5.3.1 Unit Testing
This tests the minimal software component of the module. Each unit of the software is tested to verify the detailed design for the unit has been correctly implemented.
47
In an object oriented environment, this is usually at the class level and the minimal unit tests include the constructors and destructors.
5.3.2 Integrating Testing
This exposes defects in the interfaces and interaction between integrated components.
Progressively
larger
groups
of
tested
software
components
corresponding to elements of the architectural design are integrated and tested until the software works as a system. 5.4 Final Testing
Before shipping the final version of the software, alpha and beta testing are often done additionally. 5.4.1 Alpha Testing
This is a simulated or actual operation testing with the potential users or an independent testing at the developers site. Alpha testing is often employed for off the shelf software as a form of internal acceptance testing before the software goes to b eta testing. 5.4.2 Beta Testing
This comes after alpha testing. Versions of the software, known as beta versions, are released to limited audience outside the programming team. The software is released to groups of people so that further testing can ensure that the product has few faults or bugs. Sometimes, beta versions are made available to the open public to increase the feedback field to a maximal number of future users. Finally, acceptance testing can be conducted by the end user, customer or client to validate whether or not to accept the product. Acceptance testing may be performed as part of the hand off process between any two phases of de velopment. 5.5 Testing of online feedback System
Testing by us (developers) was done by deploying our project in college server to check whether all the modules are working properly. 5.6 Results Analysis The role of the results section is clear e nough, it should be an accurate account
of the experimental findings.
48
5.6.1. Scope of Testing
It is very important to communicate to the reader of the report the scope of testing.One could provide, •
In scope of testing
•
Out scope of testing
•
Any deviations from the planned scope
It makes a lot of difference to handle each of these aspects while reporting the results.Each of them has its own impact on the state of the application. Strengths and limitations of a product can be better p resented to the customer only if they are handled individually.
S.No Type of Testing
Priority(High/Med/Low)
1
Functionality
High
2
Regression
High
3
Security
Med
4
Performance
Med
5
Scalability/Reliability
High
6
Usability/GUI
High
7
Conversion/Migration High
8
Platform
Independent
9
System Interoperability
High
10
Installation
High
It makes a lot of difference to handle each of these aspects while reporting the results.Each of them has its own impact on the state of the application. Strengths and limitations of a product can be better p resented to the customer only if they are handled individually.
49
5.6.2.Qualitative Grading:
The section presents the reader at a high level a qualitative picture of various parameters.The table below could list all the parameters related to a software so that the reader is able to get a glance and an idea about those aspects which are working as expected and those which are having issues.
S.No Attribute
Grade(High/Med/Low) Remarks
1
Confirmity to Standards High and Requirements
Good
2
Consistency
Med
3
Supports Concurrency
Med
4
GUI
High
5
Usability
High
Requirements documented well.
6
Performance
Med
Could be better.
7
Security
Med
8
Robustness
Med
9
Error Handling
High
50
not
6. CONCLUSION AND FUTURE SCOPE Conclusion The project has given the me immense knowledge of various technologies (HTML, JSP, Apache Tomcat,and MySql etc.) that can be used to develop such applications with ease rather than making use of the existing complex modules. The application developed by us is also supported on various Operating Systems (Windows Xp, Windows 7, Linux) which makes the application be used on various devices. We also made the application interactive by taking feedback from the user so that we can improve our application based on the suggestions given and also suggest on improving the events conducted.
Future Scope As the number of institutions are following the process of taking the feedback from its clients in order to know how best their service is. In this context our application can be used. So this means that our project can found its use in many customer service organisations that may include: • • • •
Any Private Business Organisation IT Firm Government Firm It can also be used in Online Shopping World allowing the users who are registered with their site to give their feedback regarding the quality of services provided to them.
Many Organizations take feedback from their clients on a paper and later manually calculate the ratings individually.This consumes more time and there are many possibilities of commiting mistakes. Hence to overcome all these difficulties they require an automated application which calculates the ratings at the background and displays only the result in their required format.For this purpose our application can be used.
51