1.1 Objective: Knowledge Based Community Sharing System
1.1 Objective: Knowledge Based Community Sharing System
1.1 Objective: Knowledge Based Community Sharing System
INTRODUCTION
1.1 OBJECTIVE
Knowledge Based Community Sharing System Page 1
Providing an environment for students/faculty/researcher/industry experts will drive us to make up an online knowledge centre for education and research. The basic idea of Knowledge Based Community Sharing System is to provide an environment for the students and faculty of a university to enhance their technical skills and to share their knowledge with their fellow students or faculty/researchers/industrial experts. It also aims to provide a platform for mutual cooperation between different kinds of users, learning by mining (i.e., previous discussions are a source which is studied). We strongly want to replace the existing e-learning systems of many universities and colleges which are unidirectional i.e., from faculty to students to a bidirectional way i.e., also from student to faculty.
Page 2
2. SYSTEM ANALYSIS
Page 3
queries/reply.
This system maintains users personal, address, and contact details. User friendliness is provided in the application with various controls. This system makes the overall project management much easier and flexible. Various classes have been used for maintain the details of all the users and catalog. Authentication is provided for this application only registered users can access. Report generation features is provided using to generate different kind of reports.
Page 4
The system provides facilities to track the all activities of faculties and students. System also tracks the feedbacks online. A secured mechanism for accessing information based on groups A knowledge base (database) is created for maintaining the discussions. System provides facility to student/faculty for online query/reply.
Page 5
Page 6
1. THE PRESENTATION LAYER Alsocalled as the client layer comprises of components that are dedicated to presenting the data to the user. For example: Windows/Web Forms and buttons, edit boxes, Text boxes, labels, grids, etc. Knowledge Based Community Sharing System Page 7
2. THE BUSINESS RULES LAYER This layer encapsulates the Business rules or the business logic of the encapsulations. To have a separate layer for business logic is of a great advantage. This is because any changes in Business Rules can be easily handled in this layer. As long as the interface between the layers remains the same, any changes to the functionality/processing logic in this layer can be made without impacting the others. A lot of client-server apps failed to implement successfully as changing the business logic was a painful process. 3. THE DATA ACCESS LAYER This layer comprises of components that help in accessing the Database. If used in the right way, this layer provides a level of abstraction for the database structures. Simply put changes made to the database, tables, etc do not affect the rest of the application because of the Data Access layer. The different application layers send the data requests to this layer and receive the response from this layer. 4. THE DATABASE LAYER This layer comprises of the Database Components such as DB Files, Tables, Views, etc. The Actual database could be created using SQL Server, Oracle, Flat files, etc. In an n-tier application, the entire application can be implemented in such a way that it is independent of the actual Database. For instance, you could change the Database Location with minimal changes to Data Access Layer. The rest of the Application should remain unaffected.
Page 8
basic during testing phase. Any changes made to the requirements in the future will have to go through formal change approval process. SPIRAL MODEL was defined by Barry Boehm in his 1988 article, A spiral Model of Software Development and Enhancement. This model was not the first model to discuss iterative development, but it was the first model to explain why the iteration models. As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase starts with a design goal and ends with a client reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the project. The steps for Spiral model can be generalized as follows: The new system requirements are defined in as much details as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system. A preliminary design is created for the new system. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product. A second prototype is evolved by a fourfold procedure: 1. Evaluating the first prototype in terms of its strengths, weakness, and risks. 2. Defining the requirements of the second prototype.
3. Planning a designing the second prototype.
At the customer option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customers judgment, result in a less-thansatisfactory final product.
Page 9
The existing prototype is evaluated in the same manner as was the previous prototype, and if necessary, another prototype is developed from it according to the fourfold procedure outlined above.
The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired.
The final system is constructed, based on the refined prototype. The final system is thoroughly evaluated and tested. Routine maintenance is carried on a continuing basis to prevent large scale failures and to minimize down time.
ADVANTAGES Estimates(i.e. budget, schedule etc .) become more relistic as work progresses, because important issues discoved earlier.
Page 10
It is more able to cope with the changes that are software development generally entails.
Software engineers can get their hands in and start woring on the core of a project earlier.
3.4 MODULE
The system after careful analysis has been identified to be presented with the following modules: Knowledge Based Community Sharing System Page 11
1. 2. 3. 4. 5.
MODULES DESCRIPTION
Administrator In this module the role of Administrator is to maintain the Faculty and take responsibility to monitor all users activities in the system. He can introduce new courses and give announcements to the users of the system. Faculty He can share his Knowledge among the people who using the system .he can upload the data which is help for the users of the system. Industrial experts Industrial experts can provide the information to the students and faculties and users of the system by uploading data which helps to enhance the technical stuff for the users. He can share his industrial experience among the users. Students Student will get the information which will help for their career to improve technical quality by searching in the site. Students can directly interact with faculty to clarify their doubts and they can share their knowledge with industrial experts.
Security and Authentication Module The user details should be verified against the details in the user tables and if it is valid user, they should be entered into the system. Once entered, based on the user type access to Knowledge Based Community Sharing System Page 12
the different modules to be enabled / disabled and individual user can change their default password or old password.
Page 13
4. SYSTEM DESIGN
Page 14
An entity-relationship (ER) diagram is a specialized graphic that illustrates the relationships between entities in a database. ER diagrams often use symbols to represent three different types of information. Boxes are commonly used to represent entities. Diamonds are normally used to represent relationships and ovals are used to represent attributes.
solid qusref ansref solByUserId Solution noteId
Refer to
forumId creatdUserId Qdetails userId status Refers TopicDescriptn Fdate time Forum Refers Forum details Note Ndate Nname
quesid
title
Question
Create
Solved by
Uid Fdata
name
DOB
Fid subRef
Uid
User
M anage
loginType clgRefNo
forgotA emailId Refers CollegeId cname district College region Subject Belongs totttto subId
Frid
subname
Page 15
Page 16
CLASS DIAGRAM Class diagrams describe the structure of the system in terms of classes and objects. The servlet API class diagram will be as follows.
Log In Uname : string; Pwd : int; Utype : String; Notes NoteId : int; NoteName : string; Udate : date; ViewU() Admin Aname : string; Aid : int; UpateDB() GrantP() Login() Verify() Register()
DataBasse
Page 17
USE CASE DIAGRAMS Use case Diagrams represent the functionality of the system from a users point of view. Use cases are used during requirements elicitation and analysis to represent the functionality of the system. Use cases focus on the behavior of the system from external point of view. Actors are external entities that interact with the system. Examples of actors include users like administrator, student etc., or another system like central database. 1. SYSTEM USE CASE DIAGRAM
Page 18
Page 19
F a c u lt y H o m e
A s k Q u e s t io n
Q u e s t io n
V ie w A llQ u e s t io n s
V ie w A n s w e r s Fo r u m s V ie w F o r u m s G iv e M a r k s
F a c u lt y P e r s o n a l p r o f ile
P a r t ic ip a t e F o r u m s
V ie w P r o file M a t e r ia l
G iv e M a t e r ia l
S t u d e n t P r o f ile
V ie w M a t e r ia l
V ie w S t u d e n t P r o f ile
S e c u r it y
V ie w S t a t is t ic R e p o r t
Lo go ut
Cha ng e P a ss w ord
C h a n g e Q u e s t io n
Page 20
Page 21
Page 22
SEQUENCE DIAGRAMS
A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams typically are associated with use case realizations in the Logical View of the system under development. Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams 1. ADMINISTRATOR SEQUENCE DIAGRAM
Fig 4.2.7 Admin Sequence diagram Knowledge Based Community Sharing System Page 23
Page 24
Page 25
Page 26
ACTIVITY DIAGRAMS
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control ADMINISTRATOR ACTIVITY DIAGRAM
Admin
Athentication
ifNotValid
Forums
Subject
College
Profile
Queries
Logout
Activity1
Activity2
Activity3
ViewSubjet
AddSubjet
AddCollege
ViewCollege
ViewProfile
ViewStatasticReport
viewQuery
GiveSolution
Fig 4.2.11 Admin Activity diagram Knowledge Based Community Sharing System Page 27
Fig 4.2.12 Student Activity diagram Knowledge Based Community Sharing System Page 28
Faculty
if fail
A uthentication
if success
Home
F orums
subje ct
college
profile
Q ueries
Logout
Giv eSolutions
addcollege
ViewC olleges
Fig 4.2.13 Faculty Activity diagram Knowledge Based Community Sharing System Page 29
HR Ma na ge r
if fa il
Lo ginC h e ck
if succe s s
Ho me
co lle ge
Intima tion
Stude n tP ro file
F e e d ba ck
Se curity
Lo go ut
Vie w C o lle ge s
TO Stude n ts
Vie w P ro file s
Page 30
COMPONENT DIAGRAM
Fig 4.2.15 Component diagram Knowledge Based Community Sharing System Page 31
DEPLOYMENT DIAGRAM
Page 32
FORUMDETAILS
FORUMS
Page 33
NOTES
QUESTIONS
SOLUTIONS
SUBJECT
Page 34
USERDETAILS
easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters that define how text or other items enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document. HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop. HTML provides tags (special codes) to make the document look attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of the document. Anything that is not a tag is part of the document itself. JAVASCRIPT JavaScript is a script-based programming language that was developed by Netscape Communication Corporation. JavaScript was originally called live script and renamed as JavaScript to indicate its relationship with Java. JavaScript supports the development of both client and server components of Web-based applications. On the client side, it can be used to write programs that are executed by a web browser within the context of a web page. On the server side, it can be used to write web server programs that can process information submitted by a web browser and then update the browsers display accordingly Even though JavaScript supports both client and server web programming, we prefer JavaScript at client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags Here are a few things we can do with JavaScript:
Validate the contents of a form and make calculations. Add scrolling or changing messages to the Browsers status line. Animate images or rotate images that change when we move the mouse over them. Detect the browser in use and display different content for different browsers. Page 36
Detect installed plug-ins and notify the user if a plug-in is required. We can do much more with JavaScript, including creating entire application.
Java Technology Initially the language was called as oak but it was renamed as Java in 1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. Java is a programmers language. Java is cohesive and consistent. Except for those constraints imposed by the Internet environment, Java gives the programmer, full control. Finally, Java is to Internet programming where C was to system programming.
Importance of Java to the Internet Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self-executing programs cause serious problems in the areas of Security and probability. But, Java addresses those concerns and by doing so, has opened the door to an exciting new form of program called the Applet. Java can be used to create two types of programs Applications and Applets: An application is a program that runs on our computer under the operating system of that computer. It is more or less like one creating using C or C++. Javas ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change.
Page 37
Features of Java Security Every time you that you download a normal program, you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scan them for viruses prior to execution. Most users still worried about the possibility of infecting their systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both these concerns by providing a firewall between a network application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent. Portability For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed .As you will see, the same mechanism that helps ensure security also helps create portability. Indeed, Javas solution to these two problems is both elegant and efficient. The Byte code The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code. Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is, once the run-time package exists for a given system, any Java program can run on it. Although Java was designed for interpretation, there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to compile Knowledge Based Community Sharing System Page 38
an entire Java program into executable code all at once, because Java performs various run-time checks that can be done only at run time. The JIT compiles code, as it is needed, during execution. Java Virtual Machine (JVM) Beyond the language, there is the Java virtual machine. The Java virtual machine is an important element of the Java technology. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of the loading process, a class loader is invoked and does byte code verification makes sure that the code thats has been generated by the compiler will not corrupt the machine that its loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of Java code. Overall Description
Java Source
JavaVM
Java
Java Database Connectivity
.Class
JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API. Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere. Knowledge Based Community Sharing System Page 39
Establish a connection with a database Send SQL statements Process the results.
Java applet or
JAVA Application Client machine
Html browser
Database server
Database server
DBMS
DBMS
DATABASE
A database management system (DBMS) is computer software designed for the purpose of managing databases, a large set of structured data, and run operations on the data requested by numerous users. Typical examples of DBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, Firebird, PostgreSQL, MySQL, SQLite, FileMaker and Sybase Adaptive Server Enterprise. DBMSs are typically used by Database administrators in the creation of Database systems. Typical examples of DBMS use include accounting, human resources and customer support systems. Knowledge Based Community Sharing System Page 40
Originally found only in large companies with the computer hardware needed to support large data sets, DBMSs have more recently emerged as a fairly standard part of any company back office. Description A DBMS is a complex set of software programs that controls the organization, storage, management, and retrieval of data in a database. A DBMS includes: A modeling language to define the schema of each database hosted in the DBMS, according to the DBMS data model. The four most common types of organizations are the hierarchical, network, relational and object models. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost). The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS. Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory).
A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Page 41
Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data.
If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multiuser organization. These controls are only available when a set of application programs are customized for each data entry and updating function.
A transaction mechanism, that ideally would guarantee the ACID properties, in order to ensure data integrity, despite concurrent user accesses (concurrency control), and faults (fault tolerance). It also maintains the integrity of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID properties for more information (Redundancy avoidance).
SQL
Structured Query Language (SQL) is the language used to manipulate relational databases. SQL is tied very closely with the relational model. In the relational model, data is stored in structures called relations or tables. Knowledge Based Community Sharing System Page 42
SQL statements are issued for the purpose of: Data definition: Defining tables and structures in the database (DDL used to create, alter and drop schema objects such as tables and indexes). Data manipulation: Used to manipulate the data within those schema objects (DML Inserting, Updating, Deleting the data, and Querying the Database). A schema is a collection of database objects that can include: tables, views, indexes and sequences
SERVLETS
Introduction The Java web server is JavaSoft's own web Server. The Java web server is just a part of a larger framework, intended to provide you not just with a web server, but also with tools. To build customized network servers for any Internet or Intranet client/server system. Servlets are to a web server, how applets are to the browser. Servlets are objects that conform to a specific interface that can be plugged into a Javabased server.They serve as platform independent, dynamically loadable, pluggable helper byte code objects on the server side that can be used to dynamically extend server-side functionality. For example, an HTTP Servlets can be used to generate dynamic HTML content. When you use Servlets to do dynamic content you get the following advantages:
Theyre faster and cleaner than CGI scripts They use a standard API (the Servlets API) They provide all the advantages of Java (run on a variety of servers without needing to be rewritten).
Page 43
Features of Servlets Servlets are persistent. Servlet are loaded only by the web server and can maintain services between requests. Servlets are fast. Since Servlets only need to be loaded once, they offer much better performance over their CGI counterparts. Servlets are platform independent. Servlets are extensible. Java is a robust, object-oriented programming language, which easily can be extended to suit your needs Servlets are secure. Servlets can be used with a variety of clients.
Page 44
JAVA SERVER PAGES (JSP) Java server Pages is a simple, yet powerful technology for creating and maintaining dynamic-content web pages. Based on the Java programming language, Java Server Pages offers proven portability, open standards, and a mature re-usable component model .The Java Server Pages architecture enables the separation of content generation from content presentation. This separation not eases maintenance headaches; it also allows web team members to focus on their areas of expertise. Now, web page designer can concentrate on layout, and web application designers on programming, with minimal concern about impacting each others work. Features of JSP Portability Java Server Pages files can be run on any web server or web-enabled application server that provides support for them. Dubbed the JSP engine, this support involves recognition, translation, and management of the Java Server Page lifecycle and its interaction components. Components It was mentioned earlier that the Java Server Pages architecture can include reusable Java components. The architecture also allows for the embedding of a scripting language directly into the Java Server Pages file. The components current supported include Java Beans, and Servlets. Processing A Java Server Pages file is essentially an HTML document with JSP scripting or tags. The Java Server Pages file has a JSP extension to the server as a Java Server Pages file. Before the page is served, the Java Server Pages syntax is parsed and processed into a Servlet on the server side. The Servlet that is generated outputs real content in straight HTML for responding to the client. Access Models A Java Server Pages file may be accessed in at least two different ways. A clients request comes directly into a Java Server Page. In this scenario, suppose the page accesses reusable Java Bean components that perform particular well-defined computations like accessing a database. The Knowledge Based Community Sharing System Page 45
result of the Beans computations, called result sets is stored within the Bean as properties. The page uses such Beans to generate dynamic content and present it back to the client. Eclipse IDE Eclipse is an open-source software framework written primarily in Java. In its default form it is an Integrated Development Environment (IDE) for Java developers, consisting of the Java Development Tools (JDT) and the Eclipse Compiler for Java (ECJ). Users can extend its capabilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Language packs are available for over a dozen languages.
Page 46
5. TESTING
Introduction:
Page 47
Software Testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software. Testing is a process of technical investigation, performed on behalf of stakeholders, that is intended to reveal quality-related information about the product with respect to the context in which it is intended to operate. This includes, but is not limited to, the process of executing a program or application with the intent of finding errors. Quality is not an absolute; it is value to some person. With that in mind, testing can never completely establish the correctness of arbitrary computer software; testing furnishes a criticism or comparison that compares the state and behavior of the product against a specification. An important point is that software testing should be distinguished from the separate discipline of Software Quality Assurance (SQA), which encompasses all business process areas, not just testing. There are many approaches to software testing, but effective testing of complex products is essentially a process of investigation, not merely a matter of creating and following routine procedure. One definition of testing is "the process of questioning a product in order to evaluate it", where the "questions" are operations the tester attempts to execute with the product, and the product answers with its behavior in reaction to the probing of the tester[citation needed]. Although most of the intellectual processes of testing are nearly identical to that of review or inspection, the word testing is connoted to mean the dynamic analysis of the productputting the product through its paces. Some of the common quality attributes include capability, reliability, efficiency, portability, maintainability, compatibility and usability. A good test is sometimes described as one which reveals an error; however, more recent thinking suggests that a good test is one which reveals information of interest to someone who matters within the project community.
Page 48
Black box Testing: is the testing process in which tester can perform testing on an
application without having any internal structural knowledge of application. usually Test Engineers are involved in the black box testing.
White box Testing: is the testing process in which tester can perform testing on an
application with having internal structural knowledge. usually The Developers are involved in white box testing.
Gray Box Testing: is the process in which the combination of black box and white
Unit testing tests the minimal software component and sub-component or modules by the programmers. Integration testing exposes defects in the interfaces and interaction between integrated components (modules). Functional testing tests the product according to programmable work. System testing tests an integrated system to verify/validate that it meets its requirements. Acceptance testing testing can be conducted by the client. It allows the end-user or customer or client to decide whether or not to accept the product. Acceptance testing may be performed after the testing and before the implementation phase. See also Development stage
o
Alpha testing is simulated or actual operational testing by potential users/customers or an independent test team 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 beta testing. Beta testing comes after alpha testing. Versions of the software, known as beta versions, are released to a limited audience outside of the company. The software is released to groups of people so that further testing can ensure 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.
Page 49
It should be noted that although both Alpha and Beta are referred to as testing it is in fact use emersion. The rigors that are applied are often unsystematic and many of the basic tenets of testing process are not used. The Alpha and Beta period provides insight into environmental and utilization conditions that can impact the software. After modifying software, either for a change in functionality or to fix defects, a regression test re-runs previously passing tests on the modified software to ensure that the modifications haven't unintentionally caused a regression of previous functionality. Regression testing can be performed at any or all of the above test levels. These regression tests are often automated.
5.3
TEST CASES:
Test C.No. 1
INPUT
EXPECTED OUTPUT
success
Home page has to be displayed Home page is displayed Message has to be displayed to Message displayed to enter the values in the mandatory fields. mandatory fields.
success
success
Try to create the user with all 4 5 necessary info user will created user created An error message displayed Note is not found Success Success Success
Try to LogIn in as Admin with It has to display an error user details message It has to display that note is not found
Page 50
in the forum
message It has to display an error message You dont have privillages Success Success
8
9
If you join in the forum with out a vali registration If you download a valid note
Note page has to be displayed Available notes have Have been displayed
10
Success
11 12
Success
Existed questions will Success be displayed Existed questions will Success be displayed Success
13
14
15
Invalid details
Success
Page 51
6. SCREENSHOTS
ADMIN SCREENS
6.1 Admin Page
Page 52
Page 53
6.2 LoginPage
Page 54
Page 55
Page 56
Page 57
Page 58
Page 59
Page 60
Page 61
Page 62
Page 63
7. CONCLUSION
The Web Based School Administraton System has been successfully designed and is tested for accuracy and quality.During this project we have accomplished all the objectives and this project meets the needs of the organization. The developed project will be used in searching, retrieving and generating information for the concerned requests. GOALS Reduced entry work Easy retrieval of information Reduced errors due to human intervention User friendly screens to enter the data Portable and flexible for further enhancement Web enabled. Fast finding of information requested
8. FUTURE ENHANCEMENT
It is not possible to develop a system that meets all the requirements of the user. User requirements keep changing as the system is being used. Some of the future enhancements that can be done to this system are:
As the technology emerges, it is possible to upgrade the system and can be adaptable to desired environment. As it is based on object-oriented design, any further changes can be easily adaptable. Based on the future security issues, security can be improved using emerging technologies. Attendance module can be added Sub admin module can be added
Page 64
9. PROJECT SUMMARY
This application software has been computed successfully and was also tested successfully using taking test cases. It is user friendly, and has required options, which can be utilized by the user to perform the desired operations. The software is developed using Java as front end and Oracle as back end in Windows environment. The goals that are achieved by the software are: Optimum utilization of resources. Efficient management of records. Simplification of the operations.
Less processing time and getting required information.
User friendly.
Portable and flexible for further enhancement.
Page 65
10. BIBLIOGRAPHY
BOOKS
i) Cay S. Hortsman and Gary Cornell, Core Java 2 Volume I Fundamentals 7th Edition.
iv) Thau SPD , The Book of JavaScript 2nd Edition, OReilly,2005 v) Joshua Bloch, Effective Java Programming Language Guide,Pearson Education,2009
Sun Microsystems
vi) George Reese , Java Database Best Practices, OReilly,2003. vii) Norman Richards and Sam Griffith, JBoss A Developers Notebook,OReilly,2005 SPD
WEBSITES
viii)
ix) Google, URL: http://www.google.co.in x) Project Management URL: http://www.startwright.com/project.htm xi) For java script www.w3shools.com and www.hscripts.com xii) Answers.com, Encyclopedia and much more, URL:
http://www.answers.com
Page 66
Fig No. Fig 3.1 Fig 3.2.1 Fig 4.1.1 Fig 4.2.1 Fig 4.2.1-6 Fig 4.3.7-10 Fig 4.3.11-14 Fig 4.3.15 Fig 4.5.16
Name of the Figure System Architecture Spiral Model ER Diagram Class diagram Use case diagrams Sequence Diagram Activity Diagram Component Diagram Deployment Diagram
Page No 6 9 14 16 17 22 26 30 31
11. APPENDIX
11.1 List of Figures
Fig 6.1
Admin Page
Fig 6.2 Fig 6.3 Fig 6.4 Fig 6.5 Fig 6.6 Fig 6.7 Fig 6.8 Fig 6.9
Log In Page Student Home Page Post Questions Select category of questions List of Questions List of Answers List of Technical Data
Download List of Technical Data Knowledge Based Community Sharing System Fig 6.10 View of Student Profile Fig 6.11 View of Student Marks
if(session.getAttribute("user")==null){
--%><!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <head id="ctl00_header"> <head>
<script language="JavaScript" src="js/gen_validatorv31.js" type="text/javascript"></script> <script language="JavaScript" type="text/javascript" src="js/ts_picker.js"></script> <script language="JavaScript1.1" src="js/pass.js"> </script> <script type="text/javascript" src="js/image.js"> </script> <script type="text/javascript" src="js/general.js"> </script> <script type="text/javascript" src="js/adi.js"> </script> <script type="text/javascript" src="js/form_validation.js"> </script>
Page 68
function goOn() { var port=document.register.port.value; var host=document.register.host.value; var username=document.register.username.value; window.location.href='http://'+host+':'+port+'/KBCSS/ChekUserAction? username='+username+"&path=./jsps/registration.jsp";
} </script>
.Title1 {
Page 69
<form action="<%=request.getContextPath()+"/RegisterAction"%>" name="register" method="post" onsubmit="return validate()"> <!--<table border="1"><tr><td></td></tr></table>--> <input type="hidden" name="port" value="<%=request.getLocalPort()%>" /> <input type="hidden" name="host" value="<%=request.getServerName() %>" /> <br />
<table border='0' align="center" width=70%> Knowledge Based Community Sharing System Page 70
<th colspan="6" bgcolor="#999933"> Account Details </th> <tr></tr> <tr></tr> <tr> <td align='right'> User Name : </td> <td width="303"> <input type="text" name="username" value="<% if(request.getParameter("username")!=null) out.print(request.getParameter("username")); %>" size="20" onblur="goOn()" />
<td align='left'>
Page 71
test="$ {'requestScope.status1'!='null'}">
</td> <td></td><td></td> <td></td> </tr> <tr> <td align='right'> PassWord : </td> <td> <input type="password" name="password" onkeyup="testPassword(document.forms.register.password.value);" onchange="Encrypt(document.forms.register.password.value);" /> </td> <td></td> <td></td> </tr> Knowledge Based Community Sharing System Page 72
<tr> <td></td> <td align='right'> <a id="Words"> Strength :</a> </td> <td> <center> <table border='0' cellpadding=0 cellspacing=0 colspan='2'> <tr> <td height=15 bgcolor=red></td> </tr> </table></center> </td>
<td></td> </tr> <tr> <td align='right'> Confirm : </td> <td> <input type="password" name="conformpassword" value="" size="20" onBlur="checkconformpassword()" /> </td> <td border="0" align="left" rowspan="5" colspan='2'> Knowledge Based Community Sharing System Page 73
<td width="276"> <select name="logintype" onChange="cleartext()"> <option value="select" selected="true"> <font size="3" face="Verdana">Select </font> </option>
<option value="students"> <font size="3" face="Verdana">students</font> </option> <option value="faculty"> Knowledge Based Community Sharing System Page 74
<font size="3" face="Verdana">faculty</font> </option> <option value="industry experts"> <font size="3" face="Verdana">industry experts</font> </option>
</select> </td>
<tr> <td align='right'> SecurityQuestion : </td> <td> <select name="squest"> <option value="select" selected="true"> <font size="3" face="Verdana">-Select One---</font> </option> <option value="What is your favorite pastime?"> <font size="3" face="Verdana">What is your favorite pastime?</font> Knowledge Based Community Sharing System Page 75
</option> <option value="Who your childhood hero?"> <font size="3" face="Verdana">Who your childhood hero?</font> </option> <option value="What is the name of your first school?"> <font size="3" face="Verdana">What is the name of your first school?</font> </option> <option value="Where did you meet your spouse?"> <font size="3" face="Verdana">Where did you meet your spouse?</font> </option> <option value="What is your favorite sports team?"> <font size="3" face="Verdana">What is your favorite sports team?</font> </option> <option value="What is your father middle name?"> <font size="3" face="Verdana">What is your father middle name?</font> </option> Knowledge Based Community Sharing System Page 76
<option value="What was your high school mascot?"> <font size="3" face="Verdana">What was your high school mascot?</font> </option> <option value="What make was your first car or bike?"> <font size="3" face="Verdana">What make was your first car or bike?</font> </option> <option value="What is your pet name?"> <font size="3" face="Verdana">What is your pet name?</font> </option> </select> </td> </tr> <tr> <td colspan="2" align='center'> <input type="checkbox" name="ch" value="1" onClick="check(register)" /> Own Question : </td> </tr> <tr> Knowledge Based Community Sharing System Page 77
<td> <span class="style3"><font size="3" face="verdana"></font> </td> <td> <input type="text" name="ownquest" disabled="disabled" size="37" /> </td> </tr>
<tr> <td align='right'> Security Answer : </td> <td> <input type="text" name="sans" value="" size="20" /> </td>
<tr> <td>
Select Course :<select style="width: 200px;" name="subname" id="select"> <option>--SELECT--</option> Knowledge Based Community Sharing System Page 78
<c:if test="${not empty subject}"> <c:forEach var="Subname" items="${subject}"> <option value="${Subname.subname}">$ {Subname.subname}</option> </c:forEach> </c:if>
</select> </td>
</tr> <tr>
<td > Select College:<select style="width: 200px;" name="collegeid" id="select"> <option>--SELECT--</option> <c:if test="${not empty College}"> <c:forEach var="college" items="${College}"> <option value="${college.collegeid}">${college.cname}</option> </c:forEach> </c:if>
</select> </td>
Page 79
</tr>
<tr></tr> <tr></tr> <th colspan="6" bgcolor="#999933"> Personal Details </th> <tr></tr> <tr></tr> <tr> <td align='right'> First Name : </td> <td width="276"> <input type="text" name="firstname" value="" /> </td> <td align='right'> Gender : </td> Knowledge Based Community Sharing System Page 80
<td> <select name="gender"> <option value="select" selected="true"> <font size="3" face="Verdana">-Select--</font> </option> <option value="Male"> <font size="3" face="Verdana">Male</font> </option> <option value="Female"> <font size="3" face="Verdana">Female</font> </option> </select> </td> </tr> <tr> <td align='right'> Last Name : </td> <td width="276"> <input type="text" name="lastname" value="" size="20" /> </td> <td align='right'> Email : Knowledge Based Community Sharing System Page 81
</td> <td> <input type="text" name="email" value="" size="20" /> </td> </tr> <tr> <td align='right'> Birth Date : </td> <td> <input type="text" name="birthdate1" value="" size="20" readonly="readonly" /> <a href="javascript:show_calendar('document.register.birthdate1', document.register.birthdate1.value);"> <img src="images/cal.gif" alt="a" width="18" height="18" border="0" /> </a> </td>
</tr> <tr> <td align='right'> Browse Photo : Knowledge Based Community Sharing System Page 82
</td> <td> <input type="file" name="photo" class="textfield" onChange="preview(this)" /> </td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> <tr></tr> <tr></tr> <th colspan="6" bgcolor="#999933"> <center> Contact Details </center> Knowledge Based Community Sharing System Page 83
<td width="120" align='right'> City : </td> <td width="273"> <input type="text" name="city" value="" size="20"/> </td>
</tr> <tr> <td align='right'> House No : </td> <td> <input type="text" name="houseno" value="" size="20" /> </td>
<td align='right'> Street : </td> <td> <input type="text" name="street" value="" size="20" /> </td> <td align='right'> State : </td> <td> <input type="text" name="state" value="" size="20" /> </td> </tr> <tr> <td align='right'> Country : </td> <td> <input type="text" name="country" value="" size="20" /> </td> </tr> <tr> <td align='right'> Knowledge Based Community Sharing System Page 85
Phone No : </td> <td> <input type="text" name="phoneno" value="" size="20" onBlur="ValidateForm()" /> </td> <td align='right'> Pin : </td> <td> <input type="text" name="pin" value="" size="20" onChange="showStatus()" /> </td> </tr> <th colspan="5"> </th> <tr></tr> <tr></tr>
<tr> <td></td> <td align="right"> <font size="3" face="Verdana"> <input type="submit" Knowledge Based Community Sharing System Page 86
name="register" value="Register" /> </font> </td> <td align="left"> <font size="3" face="Verdana"> <input type="reset" name="cancel" value="Cancel" /> </font> </td> <td></td> </tr> </table> <p> <br /> <br /> <br /> </p> <p> </p> <p> </p> <p> </p> <p> Knowledge Based Community Sharing System Page 87
</form>
<script language="JavaScript" type="text/javascript"> //You should create the validator only after the definition of the HTML form var frmvalidator = new Validator("register");
frmvalidator.addValidation("username","req","Please enter your Username"); frmvalidator.addValidation("password","req","Please enter your Password"); frmvalidator.addValidation("conformpassword","req","Please enter your Confirm Password"); frmvalidator.addValidation("secrete","req","Please enter your Answer"); frmvalidator.addValidation("squest","dontselect=0");
frmvalidator.addValidation("firstname","req","Please enter your First Name"); frmvalidator.addValidation("firstname","maxlen=20", "Max length for FirstName is 20");
frmvalidator.addValidation("lastname","req","Please enter your Last Name"); frmvalidator.addValidation("lastname","maxlen=20","Max length is 20"); frmvalidator.addValidation("lastname","alpha"," Last Name Alphabetic chars only");
frmvalidator.addValidation("gender","dontselect=0"); frmvalidator.addValidation("birthdate","req","Please enter your birthdate"); Knowledge Based Community Sharing System Page 88
frmvalidator.addValidation("phoneno","req");
frmvalidator.addValidation("city","req","Please enter your city Name"); frmvalidator.addValidation("state","req","Please enter your State Name"); frmvalidator.addValidation("country","req","Please enter your Country Name"); frmvalidator.addValidation("pin","req","Please enter your pin Number");
Page 89
</script>
<jsp:include page="footer.jsp"></jsp:include>
</body> </html>
Page 90