You are on page 1of 40



The satisfaction that accompanies the successful completion of any task would be incomplete without the mention of people whose ceaseless cooperation made it possible, whose constant guidance and encouragement crown all efforts with success. I am grateful to Prof. Sonali Bhattacharya for planting the seed of an idea which today has flourished into this wonderful reality. But for his vision and constant motivation, we wouldn t see this day. I would be failing in my duty if I do not mention the contribution of the silent spectators who have played their part to their truest abilities with dedication. I m grateful to Prof. Bhattacharya for reviewing the system and indicating her approval of the same. It would be a shame if I forget to mention my group members whose invaluable help with some key aspects of the Database design.



EDUFORUM- a need of the hour:
With the steady advent of IT in this part of the world and with the growing urge to digitalize most routine tasks, it is incumbent upon the budding app-developers of this digitized-era to come up with new solutions to our age-old problems. One such task which requires a complete upheaval is the testing, evaluation and assessment of users in engineering programmers across various colleges. It s about time to take a new approach to the job to bring in far greater degree of precision, comprehensiveness and totality. The need of the hour is to develop a system that handles this task of assessment besides providing an excellent means of information and resource-sharing among users all over. The need for online-testing can be acutely felt as more and more National level entrance exams and screening tests in campus placement drives are going online. The need is to bring more meaning to the pedagogy with the help of an intelligent system to make the users more and more prepared for the challenges that lay ahead. And it is not only the assessment but also the sharing of information, queries that is of immense help to the users in the cause of preparing themselves. The stress that the industry now lays on the importance of Computer Adaptive Tests (CATs) is paramount. The onus now has thus shifted to today s educators to come up with a fitting assessment tool of the user s abilities. This feature can be incorporated into EDUFORUM with much ease to supplement the ever-changing industry requirements. EDUFORUM, thus definitely is a way to the future and a burning need of the present hour. With judicious and able use it is possible to increase the overall productivity of our assessment and evaluation system manifold.

EDUFORUM provides two major views of the system- user & administrator. The users are provided with a platform to access the various queries other fellow s users have posted and look for their solutions and since the sphere is; large the probability of getting the answer is also high. It also enable the registered user to appear for online tests on a per-subject basis besides being able to flaunt a public profile that can be used by the user to evaluate themselves.

The users accessing this application have been segmented into three levels for easy mobilization of its each and every activity:-

 The unregistered user can: o Apply for registration.  The registered user can: o Access queries posted by other users. o Exchange information among fellow users via intra-net messaging system. o Maintain public profile. o Appear for tests and check detailed test reports.  The administrator can: o Upload test. o Delete an existing user account. o Delete an existing question/query. o Delete an existing answer.


Software & Hardware Specification: Specification must reflect the actual application to be handled by the system and include system objective, flowchart, input-output requirement, file structure and cost.

 HARDWARE REQUIREMENTS: y Min 1 MB of Display Card y Min. 16 MB RAM y Min. 100 MB free space on the Hard Disk

 SOFTWARE REQUIREMENTS: y MySQL Server 5.1.41 y WINDOWS XP or above y Apache TOMCAT 5.0.19 y Code Editor like Notepad++

y Microsoft Internet Explorer 8.0

PROBLEM DEFINITION: A clear statement of the problem is most important for the successful designing of the software.EDUFORUM is the need of the hour. With most examinations at all levels going online it is of paramount importance to aspiring candidates to prepare themselves. But they need an effective evaluation mechanism to filter the chafe from the grain, to identify potential at a budding stage so that it can be harnessed into something truly remarkable. EDUFORUM serves as a wonderful aid to aspiring candidates and goes a long way to help them do their job. EDUFORUM prepares the young engineers for the challenges that roll their way in the final year of their degree program. not only is it helping them to evaluate themselves but sharing information queries ,doubts both over the internet and through intranet messaging helps a lot in their cause A user adept at using EDUFORUM s interface is, after all, better prepared than one who is not!


y Linear Sequential Model Software development is usually characterized by a series of stages. The linear lifecycle model is referred to as Waterfall model. y Iterative Waterfall Model

FEASIBILITY STUDY: A feasibility analysis involves a detailed assessment of the need, value and practicality of a proposed enterprise, such as application development. The process of designing and implementing record-keeping systems has sufficient accountability and resource implications for an organization. Feasibility analysis will help you make informed and transparent decisions at crucial points during the developmental process to determine whether it is operationally, economically and technically realistic to proceed with a particular course of action. For a developed software, development paradigm and procedure for software development that can scale up for large systems and that can be used to consistently produce high quality software at low cost and with a small cycle time. Hence key objectives are consistency, low cost, high quality, small cycle time and stability. The four feasibilities are: 1. Economic feasibility. 2. Technical feasibility. 3. Behavioral feasibility. 4. Time feasibility.

REQUIREMENT GATHERING AND ANALYSIS: SRS Document SRS Software Requirement and Specification The important parts of SRS document are: Identify the functional requirements from any given problem description. Document the functional requirements from any given problem description. Identify the important properties of a good SRS document. Identify the important problems that an organization would face if it does not develop an SRS document. Identify non-functional requirements from any given problem description. Identify the problems that an unstructured specification would create during software development. Represent complex conditions in the form of a decision tree. Represent complex conditions in the form of decision table. Goals of implementation: The functional requirements part discusses the functionalities required from the system. Nonfunctional requirements deal with the characteristics of the system which cannot be expressed as functions, such as the maintainability of the system, portability of the system, usability of the system, etc. The goals of implementation part documents some general suggestions regarding development. These suggestions guide trade-off among design goals. The goals of implementation section might document issues such as revisions to the System functionalities that may be required in the future, new devices to be supported in the future, reusability issues, etc. These are the items which the developers might keep in their mind during development so that the developed system may meet some aspects that are not required immediately. Without developing an SRS document an organization might face severe problems.


The project dictionary contains an entry for each DFD developed during analysis. Thus there is a context diagram- a top level DFD and detailed diagrams for all top level functions and their components. Each DFD has a unique number and can be reference by that number. DFD s are more detailed than content diagram. DFD s are used to despite specifics data flows (movement of inform) from both the physical view point (How it is done) and the logical view point (what is done). DFD use a number of symbols to represent system. Most data flow modeling methods use four kinds of symbols these symbols are used to represent four kinds of system components. 1-processes 2-data stores 3-data flows 4-external entities The DFD or the Data Flow Model provides an abstract definition of the system and each successive level of the DFD provides a much elaborate resolution. Upper levels of DFD s decompose the initial process into sub-processes.


The initial DFD level provides the basic process and the most precise definition. The higher DFD s are developed using the context diagram.


Level 1 DFD sub-divides the context diagram and the user verification process. If the user name and password is valid it shows users home page and his/her privileges. If not he or she is asked to correct his/her user id and password.

User s View

Admin s View


The use case model for any system consists of a set of use case . Here these use cases represent the different ways in which this system can be used by the user.


It was difficult to manage the records of registered user manually. So an automated system required to efficiently handle the functioning of the registration and searching the questions and answers as per requirement. This project will be designed to allow for cost effectiveness, reliability, scalability, security and speed. The expenditure is justified because of lower cost, time saving search and accessing the records. This type of system not only reduces overhead it also helps in increasing efficiency by reducing time and organization each time. The reasons areSearching: Users may easily search the questions and answers as per requirement Organization: this would allow work to be organized together. Security: Information must be secured only via a password. System analysis is mainly to understand the problem to solve by the system.


System analysis phase needs designing for completion of the system and output of design is document for the solution. It is the critical part of the system development and it impacts on testing and maintenance. Software design deals with transforming the customer requirements, as described in the SRS document, into a form (a set of documents) that is suitable for implementation in a programming language. A good software design is seldom arrived by using a single step procedure but rather through several iterations through a series of steps. Design activities can be broadly classified into two important parts: Preliminary (or high-level) design and Detailed design. Preliminary and detailed design activities: The meaning and scope of two design activities (i.e. high-level and detailed design) tend to vary considerably from one methodology to another. High-level design means identification of different modules and the control relationships among them and the definition of the interfaces among these modules. The outcome of high-level design is called the program structure or software architecture. Many different types of notations have been used to represent a high-level design. A popular way is to use a tree-like diagram called the structure chart to represent the control hierarchy in a high-level design. However, other notations such as Jackson diagram [1975] or Warier-Orr [1977, 1981] diagram can also be used. During detailed design, the data structure and the algorithms of the different modules are designed. The outcome of the detailed design stage is usually known as the module-specification document. Characteristics of a good software design: The definition of a good software design can vary depending on the application being designed.. However, most researchers and software engineers agree on a few desirable characteristics that every good software design for general application must possess. The characteristics are listed below:

Correctness: A good design should correctly implement all the functionalities identified in the SRS document. Understandability: A good design is easily understandable. Efficiency: It should be efficient. Maintainability: It should be easily amenable to change. DATA DICTIONARY:

Field uid name pass eml joindate secqn secans Type varchar(50) varchar(50) varchar(50) varchar(50) varchar(20) varchar(500) varchar(500) Null No Yes Yes Yes No No No Default None NULL NULL NULL None None None Extra

Field key senderadd sendername receiveradd receivername subject content datesent timesent read Type int(255) varchar(100) varchar(100) varchar(100) varchar(100) varchar(200) varchar(2000) varchar(100) varchar(100) varchar(10) Null No No No No No No No No No No Default None None None None None None None None None None Extra auto_increment

Field aid name pass eml Type varchar(50) varchar(50) varchar(50) varchar(50) No Yes Yes Yes Null Default None NULL NULL NULL Extra

Question Bank
Field TID QnNo Question Op1 Op2 Op3 Op4 Answer PicPath int(255) varchar(2000) varchar(1000) varchar(1000) varchar(1000) varchar(1000) varchar(1000) varchar(1000) Type varchar(100) Null No No No No No No No No Yes Default None None None None None None None None NULL Extra

Field qid qcat qbody uid date int(11) varchar(50) varchar(400) varchar(50) varchar(20) Type Null No Yes Yes Yes No Default None NULL NULL NULL None Extra auto_increment

Field ansid anscat ansbody qid uid date int(11) varchar(40) varchar(400) int(11) varchar(100) varchar(20) Type Null No Yes Yes Yes Yes No Default None NULL NULL NULL NULL None Extra auto_increment

Field TestID Date Time NumberOfQns AllotedTime Topic Type varchar(50) varchar(50) varchar(50) int(200) int(200) varchar(500) Null No No No No No No Default None None None None None None Extra

Field ansid rating uid int(11) int(11) varchar(5000) Type No No No Null Default None 0 None Extra

The following modules have been implemented to realize all the needs. A brief description of each module is provided against each module Messaging Module: This module focuses on the intranet messaging between the registered users. A registered user can send, forward, view received messages. All the messages are stored in the inbox assigned to each registered user. JSPs:Common_WriteMessageToDB.jsp, Admin_SentMessages.jsp,Admin_ShowMessage.jsp, Admin_ShowSentMessage.jsp, Admin_ShowInbox.jsp, Common_SendMessage.jsp, Client_SentMessages.jsp, Client_ShowInbox.jsp, Client_ShowMessage.jsp, Client_ShowSentMessage.jsp. Upload Module: In this module the focus ids placed on the fact that the users can upload their query and wait for other users to answer them. He can view the questions posted by other users subject wise and can even upload their answers if he knows them. Uploading of questions and answers is the main function of this module. JSPs: Client_ViewSelected.jsp, Client_PostQuestion.jsp, Client_Answer.jsp, Client_ViewQuestion.jsp, Client_VoteDataDump.jsp, Client_AnswerDataDump.jsp, Client_QDataDump.jsp Password Recovery module: This module helps the registered user to recover his/her password if he/she has forgotten the password based on a security question entered during registration by the user. JSPs: SecQnCheck.jsp, ShowPass.jsp, SecQn.jsp, RecoverPassword.jsp Admin module: It is the job of the administrator to maintain the entire site hence it is the added privilege of the administrator to delete any posted question or answer or any registered user account. It is also the job of the administrator to set the questions for the test that the users are allowed to take. JSPs: Admin_DelQuestion.jsp, Admin_ViewPostedQuestions.jsp, Admin_ViewRegisteredUsers.jsp, Admin_Home.jsp, Common_DeleteAccount.jsp

Registration Module:This module mainly focuses on the registration of the users on to the site, the necessary fields are filled or not, whether there are duplicate ids,or the password is shorter in length or any of the field is left unfilled. JSPs: Client_RegistrationDataDump.jsp, Client_Register.jsp Test Module: This module mainly focuses on the test that the users take to evaluate themselves. It includes setting of questions, declaration of the test, conduction of the test, evaluation of the result. JSPs: AllQnsSet.jsp, SetPic4Qns.jsp, TestStarted.jsp, Results.jsp, SetQuestions.jsp, SetTest.jsp, AllTests.jsp, StartTest.jsp, SaveQnPicsToDB.jsp, SaveQnToDB.jsp Search Module: It allows a user to search for a particular question or an answer based on a keyword. JSPs: Search.jsp Login Module: This module focuses on the login procedure, checking whether the authentic user is entering the system. JSPs: Common_Login.jsp, Common_ValidateLogin.jsp, Common_Logout.jsp Client Module: This module seals with all the privileges that a client enjoys. JSPs: Client_Home.jsp, Client_FindAllPosts.jsp, Common_DeleteAccount.jsp, Common_DeleteMessage.jsp

Once the code is written it should be tested for correctness of the code and resolves any faults occurred during the coding phase. Software testing techniques: Two types of techniques are used. They are: 1. White box testing: It is a test case design method that uses the control structure of the procedural design to derive test cases. They are:  Conditional testing.  Data flow testing.  Loop testing. 2. Black box testing: It focuses on the functional requirements of the system. Mainly input and outputs are checked. They are:  Input testing.  Output testing.

Software testing strategies: y Unit testing: During unit testing, modules are tested in isolation. y Integration testing: After different modules of a system have been coded and unit tested modules are integrated in steps according to an integration plan. Partially integrated system is tested at each integration step. y Validation testing: Validation is the process of determining whether a fully developed system conforms to its SRS document.

Once errors are identified It is necessary identify the precise location of the errors and to fix them. Debugging approaches: Brute-Force method: y This is the most common method of debugging: Least efficient method. Program is loaded with print statements Print the intermediate values Hope that some of printed values will help identify the error Backtracking: y This is a fairly common approach. y Beginning at the statement where an error symptom has been observed: Source code is traced backwards until the error is discovered. Cause-elimination method: y Determine a list of causes: Which could possibly have contributed to the error symptom. Tests are conducted to eliminate each. y A related technique of identifying error by examining error symptoms: Software fault tree analysis.

After the software has been installed it may undergo some changes. Maintenance ensures that these changes can be incorporated whenever necessary. System development needs a proper plan with a team work of technical management economical experts. Cost and benefit analysis is also needed after development for proper monitoring of developer and client relationship. Maintenance can be of three typesy Adaptive Maintenance. y Corrective Maintenance. y Perfective Maintenance.

A risk is any favorable event that can occur while a project is underway. Risk management consists of three essential activities: y Risk identification. y Risk assessment. y Risk containment.

This project has been a rewarding experience in more ways than one. Firstly, being my first web-app project, EDUFORUM has provided me a lot of insight towards the development of user-interactive automated system. Secondly, through persistent experimentation, I ve come to be more aware of the strengths and limitations of developing a web-app with JSP and JavaScript. Thirdly, EDUFORUM has come to generate a few modules that can be used in the design of other automated systems. It has thus reinforced the concept of reusability. Lastly and most importantly, I feel really proud to have come up with a system that can help my fellow users and those to come in the coming years to prepare for the chimera that online test are often considered to be. EDUFORUM has given me a chance to give back to my alma-mater a small fraction of what it s been giving us for quite some time now.

For the successful completion of this project the following resources were used: y the largest community of Java developers y the online Encyclopedia. y - the best and the easiest way to search for widgets and scripts. y Headfast JSP, Servlets the comprehensive and brain-friendly guide to webdevelopment with JSP, Servlets.

y The Complete Reference JSP by Phil Hanna



This is to certify that the project report entitled EduForum on Web Technology submitted bySambit Duttafor 8th semester examination has been prepared following the guidelines of B. Tech degree in Computer Science and Engineering, awarded by the West Bengal University ofTechnology. He has carried out the project work under my supervision and with utmost sincerity.





Let s overview the system with the help of screen shots of the various User Interfaces: Views: Login page:

Send Message page:

Client Home page:

Recover Password page:

Question upload page:

User Test Start:

Ongoing test view:

Admin delete question:

Admin delete registered user accounts:

Admin set test:

Admin set question for test:

Client answer view page:

User registration page:

Search keyword:

Admin home page:

Client inbox page:

Client test results page: