Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Canny Surveys
Prepared By:
Ghiya Parth (Information Technology, 09/IT/021) Group-023
Guided By:Mrs. Misba Shaikh Mr. Vipin Bardia At Computer Engineering & Information Technology Department AHMEDABAD INSTITUTE OF TECHNOLOGY Ahmedabad-380060
Canny Surveys
by Ghiya Parth (090020116027) (Ahmedabad Institute of Technology)
Developed At
CIGNEX Datamatics
Ahmedabad
A thesis (project) submitted in Partial fulfillment of the requirements for the degree of BACHELOR OF ENGINEERING In Information Technology
Certificate
This is to certify that the Mini Project entitled Canny Surveys" submitted by Ghiya Parth B. (090020116027), towards the partial fulfillment of the requirements for the degree of Bachelor of Engineering in Information Technology of Ahmedabad Institute Of Technology under the Gujarat Technological University, Ahmedabad is the record of work carried out by him under my supervision and guidance. In my opinion, the submitted work has reached a level required for being accepted for examination. The results embodied in this project, to the best of my knowledge, haven't been sub-mitted to any other university or institution for award of any degree or diploma.
Misba Shaikh
Asst. Prof / Lecturer CE/IT Dept. AIT, Ahmedabad.
This is to certify that the Mini Project entitled Canny Surveys" submitted by Ghiya Parth B., towards the partial fulfilment of the requirements for internship program is the record of work carried out by him under my supervision and guidance. In my opinion, the submitted work has reached a level required for being accepted for examination. The results embodied in this project, to the best of my knowledge, haven't been sub-mitted to any other university or institution for award of any degree or diploma
CIGNEX DATAMATICS
President Plaza Thaltej Circle, S G Road, Ahmedabad Sarkhej Gandhinagar Highway, Thaltej, Ahmedabad, Gujarat
CANDIDATES DECLARATION
This is to certify that 1) The project comprise my original work towards degree of bachelor of engineering in Information technology at AHEMEDABAD INSTITUTE OF TECHNOLOGY, under the GTU, Ahmedabad and has not been submitted elsewhere for a degree
I|P age
ACKNOWLEDGEMENT
It is truly said, By the time you realize the value of the people around us, It might be time for them to leave. So one should never miss a chance to say THANK YOU!!
Hence acknowledgement here is an effort to thank all such people who contributed to my project one way or another. First of all I would like to thank almighty for blessing me with competitive senses and a platform to spruce myself and I would like to thank my parents for their silent support. It all started with in the beginning of our 7th Semester of B.E. I was selected as the intern at CIGNEX Datamatics for internship. I heartily thank Mr Peter Pereira who believed in my abilities and gave me a chance that would shape my future. During my training period I had Mr Vipin Bardia as my mentor. I specially would like to thank him and I found him as a very helpful friend. I would also like to pay my sincere thanks to Mrs Misba Shaikh (Lect., CE/IT department), as my internal project guide who actively participated in the college presentation and gave me valuable advices whenever necessary. And I would like to thank to Prof. Satyadev Vyas (HOD, CE/IT department) for supporting me and encourage me.
ABSTRACT
An application for survey includes creating survey database for storing surveyee information, survey question information, and survey results information. The surveyee information consists about the creator of survey and the targeted audience which he seeks opinion of. The survey question information tells about the surveyor and the targeted information. It seeks to display the questions on their display through which the targeted audience can enter their opinion. The survey results information focuses on generating high quality reports including various types of graphs. The entire application focuses real time work and to reduce the total cost of ownership by adopting open source technology. The application focuses on survey logic which makes the survey less tedious, more accurate by simply distinguishing the questions based on the user.
III | P a g e
LIST OF ABBREVIATIONS
Name JSP J2EE IDE HTTP CS SRS GUI PDF XML CSS AJAX JS SRM RTF ODT CSV DOM
Abbreviations Java Server Pages Java 2 Platform Enterprise Edition Integrated Development Environment Hyper Text Transfer Protocol Canny Surveys System Requirement Specification Graphical User Interface Portable Document Format eXtended Mark-up language Cascading Style Sheet Asynchronous JavaScript And XML JavaScript Software Reuse Model Rich Text File Online Dictionary and Thesaurus Comma Separated Value Document Object Model
IV | P a g e
LIST OF TABLES
Table Description Milestone deliverables Project Scheduling Risk Identification Risk Analysis Event Response Table Class Diagram Access Modifiers
Page No 10 11 13 16 31 35
V|P a ge
LIST OF FIGURES
Figure Figure Description No Risk Management 2.1 3.1 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 5.1 5.2 5.3 Module Architecture Class Diagram Audience Use Case Decision Committee Use Case Admin Use Case Admin Activity Diagram Fill Survey Activity Diagram Create Survey Activity Diagram Admin Sequence Diagram Audience Functionalities Sequence Diagram Decision Committee Sequence Diagram Audience Scenario Sequence Diagram Audience Functionalities Sequence Diagram Role Change Request Scenario Diagram Surveys Fill up Sequence Diagram E-R Diagram Table Relationship Diagram Home Page State Transition Diagram Admin Page State Transition Diagram
Page No 12 20 36 38 39 40 44 45 46 50 51 52 53 54 55 56 69 74 75 76
VI | P a g e
COMPANY PROFILE
CIGNEX Datamatics (formerly CIGNEX Technologies Inc.) was founded in 2000 with a vision to help organizations leverage Open Source technologies to achieve their business objectives. Today, CIGNEX Datamatics is a global leader of Open Source Enterprise Portals, Content Management, and Big Data solutions for businesses and public agencies. CIGNEX Datamatics helps enterprises improve productivity by integrating existing systems with Open Source solutions to lower costs. By leveraging Open Source technologies we have helped our clients achieve business goals, increase business velocity, lower the cost of doing business, reduce TCO, and gain competitive advantage.
VII | P a g e
Contents
Candidates Declaration.......... I Acknowledgement.. II Abstract. III List of Abbreviations.....IV List of Tables..... V List Of Figures...VI Company Profile...........VII
Chapter 1 1 Introduction
1.1 Project Summary.. 1.2 Purpose......... 1.3 Scope........ 1.4 Objective..... 1.5 Technology And Literature Review....
2 2 3 3 4
Chapter 2
2 System Management
2.1 Project Planning.. 7 2.1.1 Project Development Approach And Justification................ 7 2.1.2 Milestones And Deliverables............................................................ 11 2.2 Project Scheduling.. 15 2.3 Risk Management.. 12
3.1 User Characteristics.. 3.2 Hardware And Software Requirements...... 3.3 Constraints... 3.1 Interfaces to other application 3.2 Parallel Operations 3.3 Assumptions and Dependencies
Chapter 4
19 20 21 21 22 22
System Analysis
4.1 Study Of Current System 4.2 Problems and Weakness Of Current System..................... 4.3 Requirements of New System. 4.3.1 User Requirements. 4.3.2System Requirements. 4.4 Feasibility Studies.. 4.4.1 Does the system Contribute to the overall development of the organization.?............................................................................................................... 4.4.2 Can the System be implemented using current technology and within the given cost and schedule constraints?.............................................................................. 4.4.3 Can the system be integrated with the other system which is already in place.?............................................................................................................................ 4.5 Requirements Validation.. 4.6 Activities in the New System. 4.7 Features of the New System.. 4.8 Class Diagram... 4.9 System Activity.......................... 4.10 Activity Diagrams....................................... 4.11 Sequence Diagrams ...................... 4.12 Data Modeling..................... 4.12.1 Data Dictionary. 4.12.2 E-R Diagram 4.13 Main Modules Of The New System 4.14 Selection Of Software And Hardware Justification.....................
24 24 25 25 26 26 28 29 29 29 31 33 35 37 41 47 57 57 69 70 71
74 75
Canny Surveys
INTRODUCTION
CHAPTER-1 INTRODUCTION
IN THIS CHAPTER
PROJECT SUMMARY.... PURPOSE..... SCOPE. OBJECTIVE. TECHNOLOGY AND LITERATURE REVIEW....
AIT (IT)
1|Page
Canny Surveys
INTRODUCTION
INTRODUCTION
1.1 PROJECT SUMMARY
To solve the current problems in survey a web application CannySurveys is proposed. The proposed software CannySurveys is meant to act as a tool to help the analysts in CIGNEX DATAMATICS for their research works.
The application will help to minimize work load carried out in a survey process. The system will be designed to maximize the efficiency of a requirement analyst when he will get a clear idea of the popular requirements, which would have been otherwise done manually or some applications running on external web server. The application shall eliminate all issues of hosting an application at external web server like security, a lack of direct oversight while remaining easy to use and understand. Designed in open source environment it shall save the total cost of ownership.
1.2 PURPOSE
As per current scenario all employees at CIGNEX use external tools for Surveys. External tools do not provide them the control they need over the application. The risk of sharing company data on external storage is also a concerning factor. So the need of a new application arouses . An application that they can use on their own web server and can have total control on. An application designed in open source thus providing all the designing advantages and benefits.
AIT (IT)
2|Page
Canny Surveys
INTRODUCTION
The main objectives of Canny Surveys are as follows: Making survey filling up less tedious Providing an agile application that can stand up to the company needs. Providing an alternative to external tools usage Provide all the advantages of open source technologies. To achieve the highest practical rates of unbiased response
1.3 SCOPE
Currently at present the project is limited to the company itself, but in future the possibility of downloading source code files at a price may be born. Speaking of the project the application is designed to allow an analyst to communicate with a group of people via different types of questions and based on the collective response of people, generate reports of the survey results. The software shall provide wide range of output reports making it easy for anyone to read it and use its results for any process. The software shall facilitate communication between analyst and other people. Wide options shall be used throughout the system, to provide enough choices so as to enhance the communication in hope for better utilization of survey results. The system shall also contain a relational database of all the employees, based on which the distribution of various functions of the application is based on. The application shall be configurable; it shall be able to configure as many surveys as possible. The application shall provide a role based survey to access it.
1.4 OBJECTIVE
The system is designed with the following objectives. To provide an agile design
AIT (IT)
3|Page
Canny Surveys
INTRODUCTION
Designing the application in such a way that it follows the MVC architecture. So only valid requests shall have access to java classes, which would be the talking component with the database. Servlets shall act as a controller. To reduce the cost of ownership. it shall follow one of the companys goal of reducing the total cost of ownership by seamlessly adopting open source technologies. So designing shall have its own advantages such as frequent updates, less bugs, more efficiency and more. To collect unbiased precise survey responses. The application shall have time based surveys so once the survey is closed no one would be able to fill it. This shall increase the predictability rate of people. Also the application shall prevent search indexes from the survey to be displayed, so only the targeted audience is able to fill up the survey. These further results in a more accurate decision for the decision committee to make. To make survey filling less tedious and more enjoyable. The application shall have the option of survey logic which shall design the survey in such a way that if a user omits certain questions than other questions pertaining to that matter shall automatically be omitted. This will make survey filling less tedious. Instant decision making with reports. The application shall be helpful to all members of decision making committee as instant reports shall be available once the survey expires. Wide range of reports shall include pie charts, graphs, and histograms. Also option of exporting it to word, pdf, csv and more shall make workload of members of decision committee less.
In this we use J2SE (JAVA) technology. Project coding and GUI are done on java platform with the use of NETBEANS IDE.
AIT (IT)
4|Page
Canny Surveys
INTRODUCTION
One characteristic, platform independence, means that programs written in the Java language must run similarly on any supported hardware/operating-system platform. One should be able to write a program once, compile it once, and run it anywhere. The syntax of Java is largely derived from C++. Unlike C++, which combines the syntax for structured, generic, and object-oriented programming, Java was built exclusively as an object oriented language. The Java Runtime Environment, or JRE, is the software required to run any application deployed on the Java Platform. End-users commonly use a JRE in software packages and Web browser plugin. Sun also distributes a superset of the JRE called the Java 2 SDK (more commonly known as the JDK), which includes development tools such as the Java compiler, Java doc, Jar and debugger. Netbeans is strong tool which is use for editing, debugging, to run the application in very easy way with Java. It has very user friendly GUI so easy to use. It provides all support java doc, java libraries. It also uses to develop web-application also.
Moreover for client side scripting Jquery shall be used. JQuery is a multi-browser JavaScript library designed to simplify the client-side scripting of HTML. jQuery is free, open source software, licensed under the MIT License.jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plug-ins on top of the JavaScript library. This enables developers to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and web applications.
JasperReports is an open source Java reporting tool that can write to a variety of targets, such as: screen, a printer, into PDF, HTML,Microsoft Excel, RTF, ODT, Comma-separated
values or XML files. It can be used in Java-enabled applications, including Java EE or web applications, to generate dynamic content. It reads its instructions from an XML or .jasper file.
AIT (IT)
5|Page
Canny Surveys
PROJECT MANAGEMENT
IN THIS CHAPTER
PROJECT PLANNING PROJECT SCHEDULING... RISK MANAGEMENT
AIT (IT)
6|P a ge
Canny Surveys
PROJECT MANAGEMENT
PROJECT MANAGEMENT
Software project management is the umbrella activity within software engineering. This chapter provides how to plan, track and estimates the application by managing various phases. It encompasses Project Development Approachs justification, Schedules, risk analysis, cost and effort estimation.
The model that is suited for is software reuse model. Many software firms make in course of time libraries of generic reusable software components that can be assembled to give shape to new software products. Not only codes but designs and specifications can also be reused.
Components that can be reused may be 1. a whole application system 2. major subsystems of an application 3. Modules or objects. 4. Functions
Advantages occurring from this software reuse are 1. Increasing system reliability 2. Reduced overall project risk due to less uncertainty in cost estimates 3. Effective use of specialists in developing generic components that in a wide array of variety of products. 4. Embodiment of organizational standards in reusable components, such as menus in user interface and error handling procedures. 5. Reduction in software development time.
AIT (IT) 7|P a ge
Canny Surveys
PROJECT MANAGEMENT
Requirements
Detail design of the remaining components Design of Architecture
The steps for developing a software with re-usable component are 1. The software component should be generalized by a way of generalizing names, operations and exceptions. 2. Complete documentation should be available for a reusable component. 3. Test cases for such a component must be available to, and used by, a reuser while integrating it with the remaining developed components.
With object-oriented programming becoming popular, the concept of reusability has gained momentum. Objects encapsulate data and functions, making them self-contained. The
AIT (IT) 8|P a ge
Canny Surveys
PROJECT MANAGEMENT
inheritance facility available in object-oriented programming facilitates invoking these objects for reusability. But extra effort is required to generalize even these objects/object classes. The organization should be ready to meet this short-term cost for potential long-term gain.
The most common form of reuse is at the level of whole application system. Two types of difficulties are faced during this form of reuse:
A. Portability Whenever a piece of software is developed in one computer environment but is used in another environment, portability problems can be encountered. The problems may be one of (1) transportation or (2) adaptation.
Transportation involves physical transfer of the software and the associated data. The transportation related problems have almost disappeared now-a-days with computer manufacturers forced, under commercial pressure, to develop systems that can read tapes and disks written by other machine types and with international standardization and widespread use of computer networking.
Adaptation to another environment is, however, a subtler problem. It involves communication with the hardware (memory and CPU) and with the software (the operating system, libraries, and the language run-time support system). The hardware of the host computer may have a data representation scheme (for example, a 16-bit word length) that is different from the word length of the machine where the software was developed (for example, a 32-bit word length). The operating system calls used by the software for certain facilities may not be available with the host computer operating system. Similarly, run-time and library features required by the software may not be available in a host computer. Whereas run-time and library problems are difficult to solve, the hardware and the operating system related problems could be overcome by recourse to devising an intermediate portability interface. The application software calls abstract data types rather than operating system and input-output procedures directly. The portability interface then generates calls that are compatible to those in the host computer. Naturally, this interface has to be re-implemented when the software has to run in a different architecture.
AIT (IT) 9|P a ge
Canny Surveys
PROJECT MANAGEMENT
B. Customization Now-a-days it has become customary to develop generalized software packages and then customize such a package to satisfy the needs of a particular user.
Milestone Chart
Main milestones/phases shown on higher chart, and sub-milestones for each phase on charts below
Responsibility To analyze similar existing software in market To design a unique software To develop a software with minimal complexities. To test each and every modules of software and finding out bugs
months 0 1 2 2
days 15 0 0 0
Deployment
AIT (IT)
10 | P a g e
Canny Surveys
PROJECT MANAGEMENT
Defining Scope
Construction: Coding : Generating the Database Module 2 months Coding the Input pages Report Generation
AIT (IT)
11 | P a g e
PROJECT MANAGEMENT
AIT (IT)
12 | P a g e
Canny Surveys
PROJECT MANAGEMENT
2.3.1
Risk Identification Risk identification is the first step of risk management. It is concerned with discovering
possible risks to the project. Risk identification is a systematic attempt to specify threats to the project plan.
Risks Technology
Description The underlying technology on which the system is built is superseded by new technology.
Requirement change
Management change
Project
AIT (IT)
13 | P a g e
Canny Surveys
PROJECT MANAGEMENT
Hardware unavailability
Project
Specification delay
Risk analysis or monitoring involves regularly assessing each of the identified risk to decide whether or not the risk is becoming more or less probable and whether the effects of the risk have been changed. Table 2.4 Risk Analysis
Sr. No. 1. 2. 3.
Risk Probability Very Low (< 10 %) Low (10 25 %) Moderate (50 75%)
AIT (IT)
14 | P a g e
Canny Surveys
PROJECT MANAGEMENT
4. 5.
2.3.3 Risk Planning (Identify strategies to manage the risk) Scheduling risk occurs when everything is not properly defined, so any requirement which comes to us, we will first check its feasibility. There is no alternative of the process risk; we need to study the current structure and the standard of the current system deeply.
Requirement Risk: All the user and domain requirements were understood properly. So there will not be any major changes in requirements. Any new requirement can be handled as the software is designed in a modular way. Resource Risk: All the required resources are provided in advance. So, the possibility of this risk is minimized.
Schedule Risk: For the solution of this risk, a project execution plan is made in advance, in which each phase is given the sufficient timing. So, chance of this risk is less.
AIT (IT)
15 | P a g e
Canny Surveys
PROJECT MANAGEMENT
Also proper test cases can be made for risk planning. Table 2.4 Risk Analysis Risk Incorrect results will be produced Test Factor Correctness Explanation Data should be entered, read, processed correctly and the results should be outputted correctly Unauthorized transactions will be accepted by the system Authorization Data and its processing logic must be authorized by management. Computer file integrity will be lost Processing cannot be reconstructed Audit trail File integrity Data entered will remain unaltered Saves the supporting evidential matter to substantiate the processing Continuity of processing will be lost Service provided to users will degrade to an unacceptable level Security of the system will be compromised Access control Service levels Continuity of processing Ensure backup recovery in case of system failure Desired services should be available within an acceptable time frame The system should be secured against unintentional and unauthorized users The system will not give correct results for an extended period of time System will be difficult to use Ease of use Reliability The system should continue to function correctly for a long period of time. Effort required to learn, operate data, interpret output should be small Programs will not be
AIT (IT)
Maintainability
Canny Surveys
PROJECT MANAGEMENT
maintainable
Portability
Coupling
Effort to interconnect components within the system and other system should be small
Performance
Ease of operations
Effort to integrate the system with operating system and to operate the system should be small
There are three main strategies for risk planning. Avoidance strategy: we can avoid the risk mentioned above by checking al resources available and gathering all requirements at initial stage. Minimization strategy: Risk can be reduced by proper analysis of problem and avoiding them as soon as possible. Contingency plans: These strategies mean that if the worst happens prepare for it, and have strategy in place to deal with it.
AIT (IT)
17 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
23 | P a g e
Canny Surveys
SYSTEM ANALYSIS
SYSTEM ANALYSIS
4.1
Currently CIGNEX is using external tools to collect surveys. They configure a survey at external survey tool and the current application sends an email to each of the email id/email group added with a link to the survey. An employee fills the survey and on submits it sends an email to the owner of the survey. It also stores data at the external server. CIGNEX uses an external open source tool LIME SURVEYS for managing its surveys. LimeSurvey (formerly PHPSurveyor) is an open source online survey application written
in PHP based on a MySQL, PostgreSQL or MSSQL database, distributed under the GNU General Public License. Designed to be user-friendly, it enables users to develop and publish surveys, and collect responses, without doing any coding.
AIT (IT)
24 | P a g e
Canny Surveys
SYSTEM ANALYSIS
We may end up sharing sensitive information with external application by organization specific survey. The application cannot be hosted at companys end. We may have to depend on the format the external application provides. It is difficult to configure our format for the reports. Accuracy of the results is dubious. It may so happen that some particular people of the targeted audience may get kicked out of the survey group. Some specific requirements to be met as per the external tool, without which the tool wont work.
Canny Surveys
SYSTEM ANALYSIS
The application should have export facility. The application should be User friendly The application should be providing various question types such as multiple choice, rating questions, ranking, radio check boxes etc.
4.4
FEASIBILITY STUDY
The data collection that occurs during preliminary investigations examines system
feasibility, the likelihood that the system will be beneficial to the organization.
Three tests of
feasibility are studies: Technical, Time, Management, Social, Economic and Operational.
Technical Feasibility:
It involves determining whether or not a system can actually be constructed to solve the problem at hand. Some users expect too much of computers, assuming that computers can accurately predict the future, immediately reflect all information in an organization, easily understand speech, or figure out how to handle difficult problems. Such systems, even if they exist, are not yet available for widespread use.
The technical issues raised during the feasibility stage of the investigation are:
AIT (IT) 26 | P a g e
Canny Surveys
SYSTEM ANALYSIS
1. Does the necessary technology exist (can it be acquired) to do what is suggested? 2. Does the proposed equipment have the technical capacity to hold the data required to use the new system? 3. Will the proposed system and components provide adequate responses to inquires, regardless of the number or location of users? 4. Can the system be expanded, if developed? 5. Are there technical guarantees of accuracy, reliability, ease of access and data security?
Economic Feasibility:
It involves estimating benefits and costs. These benefits and costs may be tangible or intangible. Because of confusion between the types of costs, it is sometimes very difficult to decide if the benefits outweigh the costs. Tangible benefits may include decreasing salary costs (by automating manual procedures), preventing costly but frequent errors, sending bills earlier in the month, and increasing control over inventory levels. Such benefits may be directly estimated in rupees without much trouble. Intangible benefits may include increasing quality of goods produced, upgrading or creating new customer services, reducing repetitive or monotonous work for employees, and developing a better understanding of the market. Cost and benefit estimates on each project provide a basis for determining which projects are most worthy of consideration. Each estimate can be analyzed to determine how rapidly costs are recovered by benefits, to calculate both the absolute and interest-adjusted amounts of excess benefits, and to establish the ratio of benefits to costs. All of these factors are considered when developing an overall sense of the project's economic feasibility.
Operational Feasibility:
Proposed projects are of course beneficial only if they can be turned into information systems that will meet the organization's operation requirements. Simply stated, this test of feasibility asks if the system will work when developed and installed.
AIT (IT)
27 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Some are the following questions that help to you to check the operational feasibility of the project are: 1. Is there sufficient support for the project from the management and from users? 2. 3. Are current business methods acceptable to the user? Have the users been involved in the planning and development of the project? 4. Will the proposed system cause harm?
Some of the issues related to this system are: 1. Will the system produce result in any respect or area? 2. Will loss of control result in any area? 3. Will accessibility of information be lost? 4. Will individual performance be poorer after implementation than before? 5. Will customers be affected in an undesirable way? 6. Will it slow performance in any areas?
Time Feasibility:
Time feasibility study is a determination of whether a proposed project will be completed within given time.
Social feasibility:
Social feasibility is a determination of whether the new system will be acceptable to the people or not.
4.4.1 Does the system contribute to the overall objectives of the organization? Yes the designed system shall commit to the objectives of the organization. One of the most important objectives it shall satisfy is to reduce the total cost of ownership by seamlessly using open source technologies.
AIT (IT)
28 | P a g e
Canny Surveys
SYSTEM ANALYSIS
4.4.2 Can the system be implemented using the current technology and within the given cost and schedule constraints?
Yes the system can be developed using current technologies and within cost and schedule constraints. Open source technologies provide many benefits including designing and economical benefits which shall be technically as well as economically feasible to the company.
4.4.3 Can the system be integrated with other system which is already in place? The system is designed to overcome the limitations of previous application and hence it is an independent web application. Hence it cannot integrate with the previous one. Another reason justifying it can be previous system was an external tool meant to be run anywhere, while this was specifically meant to run on the companys server.
Require validation is concerned with showing that the requirement actually defines the system which customer wants. It has much common with analysis as it is concern with finding problems with the requirements. However they are distinct processes since validation should be concerned with a complete graph of the requirement document whereas analysis involves working it in incomplete requirement.
During requirement validation processes, different types of check should be carried out on the requirement in the requirement document. This check includes
Validity check: A user may think that the system is needed to perform certain functions. However further thought and analysis may identify additional or different functions that are required. System diverse users with different needs and set of requirements are inevitably a compromise across user community
AIT (IT)
29 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Completeness check: The requirement document should include requirements which define all functions and constraints intended by system user.
Realism Check: Using knowledge of existing technology the requirement should be checked to ensure that they actually can be implemented. Here check should also take account of the budget and schedule for the system deployment.
Verifiability: To reduce the potential for dispute between customer and contractor. System requirement should always be return so that they are verifiable. This means that a set of checks can be designed which can demonstrate that delivered system meets the requirements.
Some other validation tests include: o Regular Expression Validator: This tool will help you in checking syntax of the regular expression typed in. Also you can check whether particular value matches with the regular expression exactly once or multiple matches are available depending on the option you choose. o Required Field Validator: The Required Field Validator control is used to make an input control a required field. With this control, the validation fails if the input value does not change from its initial value. By default, the initial value is an empty string (""). o Compare validator: The compare validator control is used to compare the information entered by user.
AIT (IT)
30 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Event Audience
Trigger Log
Activity
Response
Create survey
Create or survey
a page access
access denied or notifications Send configuration request On survey Create survey page a On completion survey configuration for
creation completion
AIT (IT)
31 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Fill a survey
On
if Show a list of Survey unfilled are active surveys. Role change Admin home role request page approval for explorer page
fill up survey
Change role
Audience
Audience
Display current
On edit
responses
Log request
Log request
out Save activity Main page performed by the user the Survey explorer page
templates for modifying in Admin home Validate user Valid-invalid page. name password and login notifications all Approve deny or Survey the explorer page waiting to be filled Admin home page
Admin in
Configure survey
a On
configuration requests
configuration requests
up On send
all Set
up
for filling up
inbox
AIT (IT)
Canny Surveys
SYSTEM ANALYSIS
all Approve
change requests
requests
approval denying Report generation On clicking Admin home Display a page active surveys all Generate specific Audience home
analyze survey
page
On
all Set
configure
4.7 FEATURES OF THE NEW SYSTEM The new application shall fulfill all of the user requirements. Some of the major features of whose are listed below. 1. The new application shall provide various question types as under.
AIT (IT)
Textbox Short text Textbox Numeric Format Validation Textbox Email Format Validation Essay Long text Multiple text fields Table of text fields Checkbox Table of checkboxes Radio button Table of radio buttons
33 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Drop-down menu Tables of dropdown menus Ranking - Table format Ranking - Drag & Drop Ranking - Top X# of items Ranking Stars Instructions/Text Image Video Contact information form Date format Essay-Huge text
2. The admin shall be able to generate various reports for survey analysis. The report formats include Bar charts, pie charts, histograms, etc. 3. An option of survey logic so as to organize the surveys, so as to make survey filling less tedious. 4. The application shall prevent the search engine from indexing a survey which would limit the survey for specified audience only, thus resulting in an accurate result. 5. It shall be able to configure as many surveys as per need arises. The survey shall be distributed as per group needs. 6. The application shall have export option. It shall write to a variety of targets such as pdf, html, Microsoft excel, RTF or XML files. 7. The application shall have role based and time based access to surveys. Once a time limit expires no one can configure that survey except admin. 8. The application shall stand true to companys goal that is to reduce the total amount of ownership by adopting open source technologies.
AIT (IT)
34 | P a g e
Canny Surveys
SYSTEM ANALYSIS
A class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes.
There are two principal kinds of static relationships. 1. Associations 2. Subtypes Class diagrams also show attributes and operations of a class and constraint that apply to the way objects are connected.
MARK + # ~
There are at least two important reasons for understanding the class diagram. The first is that it shows the static structure of classifiers in a system; the second reason is that the diagram provides the basic notation for other structure diagrams prescribed by UML. Developers will think the class diagram was created specially for them; but other team members will find them useful, too. Business analysts can use class diagrams to model systems from the business perspective. As we will see in other articles in this series on UML basics, other diagrams including the activity, sequence, and state chart diagrams refer to the classes modeled and documented on the class diagram
AIT (IT)
35 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Admin -ID -email_id -first_name -last_name -username -password +doConfigure() +setUpGroupsOfAudience() +handleRoleChangeRequests() +handleSurveyConfigurations() +generateSurveyReports() +exportSurveyReports() *
-handles
CignexEmployees -ID -email_id -first_name -last_name -survey_role -username -password -lastSurveyFilled +doRegister() +doLogin() +doLogout() +doRequestForChangePassword() +doFillSurveys() +doEditSurveyResponses() +doViewFilledSurveys()
-Configures
Surveys +surveyId : int +questionType : char +surveyCreationDate : int +surveyTerminationDate : int -surveyCategory : char +surveyPriority : int -surveyReportType : char -surveyExportOptionType : char +surveyAnswerCollector() +surveyReportMaker() +surveyAnalyzer() +surveyResultExport()
Audience -changeOfRoleRequest()
AIT (IT)
36 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Actor
Use Case
Association Include
AIT (IT)
37 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
38 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
39 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Canny Surveys
SYSTEM ANALYSIS
4.10
ACTIVITY DIAGRAMS
Action states represent the noninterruptible actions of objects. You can draw an action state in SmartDraw using a rectangle with rounded corners.
Action Flow
Action
flow
arrows
illustrate
the
relationships
among
action
states.
Object Flow
Object flow refers to the creation and modification of objects by activities. An object flow arrow from an action to an object means that the action creates or influences the object. An object flow arrow from an object to an action indicates that the action state uses the object.
AIT (IT)
41 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Initial State A filled circle followed by an arrow represents the initial action state.
Final State An arrow pointing to a filled circle nested inside another circle represents the final action state.
Branching A diamond represents a decision with alternate paths. The outgoing alternates should be labeled with a condition or guard expression. You can also label one of the paths "else."
AIT (IT)
42 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Synchronization A synchronization bar helps illustrate parallel transitions. Synchronization is also called forking and joining.
AIT (IT)
43 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
44 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
45 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Canny Surveys
SYSTEM ANALYSIS
4.11
SEQUENCE DIAGRAMS
Class roles Class roles describe the way an object will behave in context. Use the UML object symbol to illustrate class roles, but don't list object attributes.
Activation Activation boxes represent the time an object needs to complete a task.
Messages Messages are arrows that represent communication between objects. Use half-arrowed lines to represent asynchronous messages. Asynchronous messages are sent from an object that will not wait for a response from the receiver before continuing its tasks.
AIT (IT)
47 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Various message types for Sequence and Collaboration diagrams Lifelines Lifelines are vertical dashed lines that indicate the object's presence over time.
Destroying Objects Objects can be terminated early using an arrow labeled "<< destroy >>" that points to an X.
AIT (IT)
48 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Loops A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for exiting the loop at the bottom left corner in square brackets [ ].
AIT (IT)
49 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
50 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
51 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
52 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
53 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
54 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
55 | P a g e
Canny Surveys
SYSTEM ANALYSIS
AIT (IT)
56 | P a g e
Canny Surveys
SYSTEM ANALYSIS
4.12
DATA MODELLING
The section talks about the way the data is distributed and how the database is formed. It talks about the following two concepts.
Allows nulls
identifier No
Creation_date
Date
LastEdited_date
Date
LastEntry_date
date
configuration Open_date Date When the survey is No active Close_date date When the survey No will no longer be active
AIT (IT)
57 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Survey_Title
Varchar(15)
Survey_URL
varChar(25)
ThankyouMessage AccessPassword
varChar varChar(20)
message
Yes
Password fr filling No up
Yes for No
Reactivate
boolean
Passive
surveys Yes
2. Survey_layout_mode
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Sur_layout mode id
integer
Specifying
to
a No
AIT (IT)
58 | P a g e
Canny Surveys
SYSTEM ANALYSIS
3. Survey_samples
Column_name Survey_id
Data_type Integer
Allows null
identifier No
No Yes Yes
4. Survey_group
Column_name Survey_id
Data_type Integer
Allows null
identifier No
No Yes
size No
AIT (IT)
59 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Survey_groupID
Integer
having No type of
5. Survey_email details
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Email from
varChar(20)
Email_to
varChar(20)
Email_sub
Varchar(20)
Details survey
about Yes
6. Survey_entry Quota
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Max_entries
Integer
Entry count
Integer
of Yes
AIT (IT)
60 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Max message
reached VarChar(50)
Appropriate message
Yes
7. Survey_page Options
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Page_number
Integer
page Yes
Randomize_questions
Boolean
Yes
Enables_SubmitButton Boolean
survey No
Disable_SubmitButton
Boolean
Survey incomplete
yet No
Condition
VarChar(50)
Checking condition
No
Disable_Back Button
Boolean
Yes
8. Survey_setup_audience
Column_name Survey_id
Data_type Integer
Allows null
identifier No
AIT (IT)
61 | P a g e
Canny Surveys
SYSTEM ANALYSIS
User_id Email_id
Integer Integer
No
email Yes
address registered Request_Date Date Email notification No sent Anonymous_entry VarChar(50) confidentiality Yes
9. Survey_results
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Condition_id
Integer
Pre-default conditions
No
Question_id
Integer
Type
of
survey No
question Answer_id Integer Type answer Thankyou message Result Score VarChar(50) VarChar(50) Integer Message Type of result Yes No of survey No
10. Survey_layout
AIT (IT) 62 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Sur_header
VarChar(50)
Details survey
about Yes
Sur_footer
VarChar(50)
Details creator
about Yes
Sur_css
VarChar(50)
Design details
No
11. Survey_configure
Column_name Survey_id
Data_type Integer
Allows null
identifier No
Sur_name Sur_from
varChar(30) varChar(20)
No
making No
12. Survey_deconfigure
Column_name
Data_type
Description
Allows null
AIT (IT)
63 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Survey_id
Integer
survey number
identifier No
Survey_name Survey_from
varChar(30) varChar(20)
No
making No
committee address Survey_Exp date Date When the survey No should be take off Survey_reconfigure boolean Again put the No
survey live
13. C_user
Description User id of status User name User password First name detail
Allows null No No No No
Contact_Number creationDate
Integer Date
Contact number
No
14. User_details
AIT (IT)
64 | P a g e
Canny Surveys
SYSTEM ANALYSIS
15. C_user_answers
description User id
Allows null No
User_entry_date
Date
16. C_userRole
Allows null No No
AIT (IT)
65 | P a g e
Canny Surveys
SYSTEM ANALYSIS
17. Questions_explorer
Allows null No No
Library_id
Integer
Question number
id No
Columns_no
Integer
Question_text
Varchar(70)
Description question
about No
Display_order
Varchar(20)
Show orders
possible No
Min_Select_required
Integer
Yes Yes
based Yes
Random_qs_enabled Page_no
Boolean Integer
Yes
page Yes
AIT (IT)
66 | P a g e
Canny Surveys
SYSTEM ANALYSIS
No Yes No Yes
18. Questions_group
description Question group id Survey group name Number suvey containing questions of
Allows null No No
Display_result
Varchar(20)
Show results
No
19. Skip_logic_rule Column_name Skip_logic_rule_id Skip_question_id Data_type Integer Integer description Condition id Allows null No
Question id to be No skipped
Condition_operator
VarChar(20)
Checking
pre No
defined condition
AIT (IT)
67 | P a g e
Canny Surveys
SYSTEM ANALYSIS
No No
20. Question_section_options
Column_name Qs_id
Data_type Integer
Delete_section
Varchar(20)
Update_section
Varchar(20)
some Yes
Customize_Section
Varchar(20)
some Yes
21. Answers
Column_name Answer_id
Data_type Integer
description
Allows null
AIT (IT)
68 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Question_id Answer_type_id
Integer Integer
No
answer No
answer_text
Varchar(20)
Yes Yes
Score_points answerID_text
Integer Varchar(20)
Answers Show
No possible Yes
AIT (IT)
69 | P a g e
Canny Surveys
SYSTEM ANALYSIS
Canny Surveys
SYSTEM ANALYSIS
4.13
The whole application is divided in to three modules based on roles. 1. Audience Module This module mainly is considered with the people who just have the right to fill up the survey. This module has also a sub module:-fill survey module. The audience module mainly deals with a new employee registering and his duties. The major functionalities covered here are A new user Registering A user getting some access role A user filling up a survey. A user editing his responses. A user specifying for change of role. A user editing his profile.
2. Admin Module This module mainly is for approval and management. The admin module consists of various sub modules such as configuration module, reports module. The admin manages both the decision committee and audience. The major functionalities covered here are configure up a survey Set up a targeted group of audience. Accept or deny the role change requests from other users. Generate reports for the decision committee. Export results if needed. Re set up a survey if needed De configures a survey if needed.
AIT (IT) 71 | P a g e
Canny Surveys
SYSTEM ANALYSIS
3. Decision Committee module The module is basically concerned with creating a survey and sending it for configuration request. The module deals with sub modules like create Survey module, copy survey module, survey design module, survey organize module. The major functionalities covered here are Create a survey Organize surveys Copy existing surveys Manage survey templates Preview up a survey waiting to be configured Edit a survey Set survey parameters and configuration request.
4.14
Firstly designing the application in open source has the following advantages. 1. Security The more the people can see a set of code and test it, the more likely any flaws will be caught and fixed quickly. 2. Quality As there are countless developers and users working to improve the security of open source software, so are there just as many innovating new features and enhancements to those products. In general, open source software gets closest to what users want because those users can have a hand in making it so
AIT (IT) 72 | P a g e
Canny Surveys
SYSTEM ANALYSIS
3. Customizability. Business users can take a peace of open source software and tweak it to suit their needs. Its like modifying application to suit to their needs. 4. Flexibility Open source software is typically much less resource-intensive, meaning that you can run it well even on older hardware. It's up to you--not some vendor--to decide when it's time to upgrade.
Besides all this it has major advantages such as try before you buy, cost, stability, support options, Freedom etc.
Java follows the principle Write once, run anywhere. We have chosen to use Java because of Javas stability, in addition, to Sun Microsystems and IBMs reliable, online technical support and other open source development framework for Java such as Hibernate, Spring, Struts and etc.
AIT (IT)
73 | P a g e
Canny Surveys
SYSTEM DESIGN
IN THIS CHAPTER
TABLE RELATIONSHIP DIAGRAM STATE TRANSITION DIAGRAM .............
AIT (IT)
73 | P a g e
Canny Surveys
SYSTEM DESIGN
Survey_explorer survey_id creation_date lastedited_date lastEntry_date open_date close_date survey_title thankyou message access password allow multiple submissions activate reactivate survey_language survey_guid
survey_group c_userrole1 user_id role_id survey_access survey_id survey_group survey_title survey_filesize survey_groupid survey_entry quota c_user1 user_id username password firstname email creationDate survey_id max entries entry count Max reached message
survey_deconfigure survey_setup audience survey_send via email survey_id email from email to email subject survey id user id email id request date anonymous entry survey_id survey_name survey_from survey_exp date survey_deconfigure survey_re configure
Questions_explorer1 question_id survey_id library_id columns_no question_text display_order min_selected_req max_selection_allowed rating_enabled time_enabled random_questions_enabled page_no help_text alias(search name) question_groupID show_help_text
answers1 answer_id question_id answer_type_id answer_text answer_rate_part display_order default_text score_points answerID_text answer_alias
Canny Surveys
SYSTEM DESIGN
Canny Surveys
SYSTEM DESIGN
Canny Surveys
IN THIS CHAPTER
USER CHARACTERISTICS... HARDWARE AND SOFTWARE REQUIREMENTS... CONSTRAINTS... ASSUMPTIONS AND DEPENDENCIES
AIT (IT)
18 | P a g e
Canny Surveys
User classification: 1. Audience: Can fill up surveys Record responses Re change his response Ask for special rights to allow him create surveys View survey results
2. Decision committee: Can create surveys Can edit survey templates Can create surveys from templates Can copy old surveys
3. Admin: Manages the system Allows role change requests Configures/De configure/Reconfigure a Survey Generates reports Can fill up surveys
AIT (IT)
19 | P a g e
Canny Surveys
3.2 HARDWARE AND SOFTWARE REQUIREMENTS (MINIMUM REQUIREMENTS TO RUN YOUR SYSTEM)
Software Requirements:
The system can run at any client machine which has a browser. The system was designed in the following software specifications. Front End : JSP pages, jasper pages, jQuery
AIT (IT)
20 | P a g e
Canny Surveys
At Server Side:
The following system requirements should be met. Minimum 100 MB free space on the server. Apache tomcat server Oracle database. (Disadvantage of using a Type-4 JDBC driver.) An LDAP connection for connecting with all the employees so as to manage employee groups easily.
Hardware Requirements:
Any Pentium Processor. 128RAM Monitor Mouse Keyboard 56 kbps modem 32 Bit system bus
3.3
CONSTRAINTS
The constraints of the project enhance on that other matters the project is
3.1 Interfaces to Other Applications The application shall depend on the LDAP Connection on which it is going to be configured with. The application is an independent application and it requires the LDAP connection for maintaining all the employees associated with the firm.
AIT (IT)
21 | P a g e
Canny Surveys
The application can have multiple operations, where one user may be creating a survey while at the same time from the survey explorer page a survey can be filled simultaneously.
3.4
3.4.1 Operating system: Any Operating System can be used to run this application. The only need is the Operating System should have web browser to run it. 3.4.2 End User characteristics: Employee should have some basic knowledge about the application how to use it. More over the application is user friendly aiding to people involved with management decision makers.
3.4.3 Company Employee: Currently the system is just limited to the company. So any member who is on the companys LDAP can only access the application.
AIT (IT)
22 | P a g e