Professional Documents
Culture Documents
TABLE OF CONTENTS
1.INTRODUCTION................................................................................................................ 1
1.1
PURPOSE .................................................................................................................. 2
1.2
2.2
PROPOSED SYSTEM............................................................................................... 5
2.3
2.4
2.4.1
2.4.2
2.4.3
2.4.4
Social Feasibility................................................................................................. 9
2.5
2.6
3.2
3.3
3.4
4.2
4.3
vi
4.5
4.6
ER DIAGRAM ......................................................................................................... 37
5.IMPLEMENTATION ....................................................................................................... 39
5.1
6.2
6.4
6.5
6.6
6.7
7.CONCLUSION .................................................................................................................. 58
8.FUTURE SCOPE ............................................................................................................... 60
9.REFERENCES ................................................................................................................... 62
APPENDIX ......................................................................................................................... 64
INDEX ................................................................................................................................ 80
vii
LIST OF FIGURES
System Architecture
Gantt Chart
Class Diagram
21
23
Sequence Diagram
25
Activity Diagram
27
DFD Level 0
31
DFD Level 1
32
DFD Level 2
33
10
ER Diagram
38
11
Login Page
44
12
Sign up Page
45
13
Home Page
46
14
Help Page
47
15
48
viii
LIST OF TABLES
COCOMO Model
11
Artifact
34
Group
34
User
35
Permission
35
Category
36
Role
36
Author
36
Login
53
10
KMS Server
53
11
Database
54
12
Deduplication
54
13
Test Report
57
ix
LIST OF ABBREVIATIONS
ADT
COCOMO
DFD
JDK
JVM
KLOC
KMS
REQ
Requirement
SDLC
SDK
UI
User Interface
UML
INTRODUCTION
College Of Engg.,Cherthala
1. INTRODUCTION
In this android era, we present an android app and web page based oncollege
knowledge management system. Tacit knowledge is knowledge that's difficult to write down,
visualize or transfer from one person to another. It is an attempt to transform tacit knowledge
into explicit knowledge in order to benefit students in an academic program. The goal of this
Web and Android-based system is to focus on providing help for the most common issues,
relevant points and frequently asked questions.
1.1
PURPOSE
College knowledge management system provides with the useful information that
should be followed during a process. The web based central server manages the vast
repository. The teachers and students can contribute knowledge artifacts to this. All the
android subscribers can visit the web contents using desktop web UI or mobile android app.
Hence it is easier to access any information related to their course. It also includes open
forum facility for the users.
1.2
PRODUCT SCOPE
College knowledge management system provides with the information which are
closed to our college.This system allows users to aware about the procedures that should be
followed during a process.The web based central server manages the vast repository.The
teachers and students can contribute knowledge artifacts to this.All the android subscribers
can visit the web contents using desktop web UI or mobile android app.Hence it is easier to
access any information related to their courses.It also includes an open forum facility for the
users.
College Of Engg.,Cherthala
SYSTEM ANALYSIS
College Of Engg.,Cherthala
2. SYSTEM ANALYSIS
Generally system study/analysis and design refers to the process of examining a
business solution with the intent of improving it through better procedures and methods.
System analysis and system design are the two major component of system development.
Analysis specifies what the system to do. Analysis is detailed study of various operations to
be performed by the system. This involves a great deal of gathering information, data and
structured tools for analysis. The main stage in system analysis is detailed evaluation of the
present system and data collections. The result will be a Logical model of system-e.g.: data
dictionary, data flow diagrams and pertinent data.
One aspect of analysis is defining the boundaries of the system and determines
whether or not a candidate system should consider other related systems. During analysis,
data is collected on available files, decision points and transactions handled by the present
system. Data flow diagrams, interviews, on-site observations and questionnaires are
examples. The interview is a commonly used tool in analysis. It requires special skill and
sensitivity to the subjects being interviewed. Bias in data collection and interpretation pose a
problem.
Analysis is the heart of the process. It is the key component of the first two phases of
the system cycle. In the first phase, we focus on the problem definition and initial
investigations, where analysis helps in understanding the present system. In phase two, the
feasibility study goes into details studying the present system and determining the possible
solutions. The outcome is system specification that initiates system design. The traditional
approach is to organize and convert the data through the system flow chart, which supports
the future developments of the system, and simplify communication with the user. But the
flowchart represents physical rather than a logical system.
Because of the drawbacks of the traditional approach, the analyst requires something
analogous to the architects blue print as a physical point for system design. It is a way to
focus on the functions rather than the physical implementations. One such tool is data flow
diagram.
College Of Engg.,Cherthala
2.1
EXISTING SYSTEM
If a student want notes on any topic he/she need to search in Google or any global
sites. The student may get what he/she requires but it is time consuming because he/she need
to go through many search results to get the relevant points that is needed. A topic generates
several thousand or lakhs of result. So going through all the results will be difficult especially
for exam preparation for which there is only limited time. Currently a student need to consult
many office staffs to get the information about the registration procedures of the exams. Also
a student cant even search anywhere about the lab facilities available in the college also
about the mechanisms of the various lab equipments.
2.2
PROPOSED SYSTEM
College knowledge management system provides with the useful information that
should be followed during a process .Tacit knowledge is knowledge that's difficult to write
down, visualize or transfer from one person to another. It is an attempt to transform tacit
knowledge into explicit knowledge in order to benefit students in an academic program. The
goal of this Web and Android-based system is to focus on providing help for the most
common issues, relevant points and frequently asked questions.
Information retrieval systems like search engines retrieve just documents, i.e. given
some keywords it only returns the relevant ranked documents that contain these keywords.
Currently a student need to consult many office staffs to get the information about the
registration procedures of the exams.Also a student dont have any facility to search about
the lab facilities available in the college also about the mechanisms of the various lab
equipments.
Data layer
Data layer is the layer where KMS DB is placed.It is the vast repository.The language
used in here is MySQL.
App server layer
App server has BL which is the business logic.It is the KMS server.Business logic
means to process the requests from the server.It has mainly 4 functions:
1. to accept request
College Of Engg.,Cherthala
2. to access data
3. to process request
4. to provide a user interface
The tool used in this section is JavaEE.
Presentation layer
It is the user interface layer which interacts with the clients.When client requests
something on web,this is being denoted here.It is for admin and user.The users of mobile
android can interact with to mobile.To interact with web we use java web components and
for mobile android we use android push notification.
College Of Engg.,Cherthala
Functions
The product is intended to perform the following functions
User friendly interface to upload various documents which is specific to the college and
courses.
KMS server manages the documents using the algorithms for deduplication.
User can access features via web and android native app interfaces.
Users can use KMS system for seeking and sharing of context specific knowledge inputs
via open discussion forums.
2.3
modelcombines the elements of waterfall model which are then applied in a iterative
manner.A working version of software is produced during the first module, so you have
working software early on during the software life cycle. Each subsequent release of the
module adds function to the previous release. The process continues till the complete system
is achieved.The model consists of six distinct stages in each phases, namely:
Requirements analysis phase
Specification phase
System and software design phase
Implementation and testing phase
Integration and system testing phase
Maintenance phase
Reasons for choosing Incremental model:
Generates working software quickly and early during the software life cycle.
This model is more flexible less costly to change scope and requirements.
It is easier to test and debug during a smaller iteration.
In this model customer can respond to each built.
College Of Engg.,Cherthala
Easier to manage risk because risky pieces are identified and handled during iteration.
2.4
FEASIBILITY STUDY
A feasibility study is defined as an evaluation or analysis of the potential impact of a
proposed project. The main objective of this study is to determine whether the proposed
system is feasible or not. Mainly there are three types of feasibility studies to which the
proposed system is subjected. They are Economical Feasibility, Technical Feasibility and
Behavioural Feasibility.
The proposed system is evaluated from a technical view point first and if technically
feasible, its impact on the organization must be accessed. If compatible, the behavior of the
system can be devised. Then those must be tested for economic feasibility.
2.4.1 Economic Feasibility
Economic analysis is used for evaluating the cost effectiveness of a proposed system.
In the proposed system, a user of minimum skills can efficiently use this software to send and
receive data anonymously. The system is economically feasible, as the organization
College Of Engg.,Cherthala
possesses the hardware and the software resources required for functioning of the system.
Any additional resources, if required, can also be acquired.
2.4.2 Technical Feasibility
The technical requirements of the proposed system are highly affordable. There is no
difficulty in migrating from the existing system to the proposed system. We are using simple
software concentrated instead of the complex software.
2.4.3 Behavioural Feasibility
This software can easily implement to other processes in the system. We use simple
and user friendly approach in this, so that the user can send and receive data anonymously.
2.4.4 Social Feasibility
The proposed project is beneficial because this software reduces most of the manual
work. The user interface is designed in such a way that the users are not bound to have any
doubts to use the interface.
2.5
GANTT CHART
The Gantt chart is a type of bar illustrates a project schedule. Gantt charts illustrate
the start and finish dates of the terminal elements and summary elements of a project.
Terminal elements and summary elements comprise the work breakdown structure of the
project. Some Gantt charts also show the dependency (i.e., precedence network )
relationships between activities.
College Of Engg.,Cherthala
Gantt charts have become a common technique for representing the phases and
activities of a project breakdown structure (WBS), so they can be understood by a wide
audience. Although a Gantt chart is useful and valuable for small projects that fit on a single
sheet or screen, they can become quite difficult for projects with more than about 30
activities. Larger Gantt chart may not be suitable for most computer displays. A related
criticism is that Gantt charts communicate relatively little information per unit area of
display. That is, projects are often considerably more complex than can be communicated
effectively with a Gantt chart.
2.6
COST ESTIMATION
Basic COCOMOcomputes software development effort (and cost) as a function of
program size. Program size is expressed in estimated thousands of lines of code (KLOC).
COCOMO applies to three classes of software projects:
1. Organic projects small teams with good experience working with less than
rigid requirements
2. Semi-detached medium teams with mixed experience working with a mix of
rigid
10
College Of Engg.,Cherthala
The coefficients ab, bb, cb and db are given in the following table.
Software project
Organic
2.4
1.05
2.5
0.38
Semi-detached
3.0
1.12
2.5
0.35
Embedded
3.6
1.20
2.5
0.32
11
College Of Engg.,Cherthala
SYSTEM REQUIREMENT
SPECIFICATION
12
College Of Engg.,Cherthala
3.1
FUNCTIONAL REQUIREMENTS
A functional requirement defines a function of a system and its components. A
13
College Of Engg.,Cherthala
REQ 4: Output
The details of academic information in college management system can be access
easily by this proposed system.
REQ 5: Other Requirements
The administrator governs the working of the system.
A mechanism to uniquely identify content
. The KMS should provide access to previous access-based database, online databases.
The system should have help feature.
3.2
Performance Requirements
The android phone should have enough free RAM memory available while the
application runs. Thesystem should be fast enough so that the error detection can be done
faster. The user must enter the input in the exact format as specified in the application.
Safety Requirements
Do not press the home button of the android phone while the application runs. It
could result in the loss of saved programs and can also make the program non responsive.
Software Quality Attributes
The software quality attributes of the application are as follows:
Portability
The application is portable since it works on the android platform.
Correctness
The user will get exact information from the database.
Maintainability
The application must be maintained by installing the updates as it is released.
Reliability
The application must be reliable, such that it should produce the correct output as desired.
14
College Of Engg.,Cherthala
3.3
HARDWARE REQUIREMENTS
A digital computer system with following features:
3.4
SOFTWARE REQUIREMENTS
OS:Windows platform
Eclipse IDE
MySQL Workbench
HTML5/CSS/JavaScript
3.4.2
Production Environment
15
College Of Engg.,Cherthala
SYSTEM DESIGN
16
College Of Engg.,Cherthala
4. DESIGN
Design of the system includes mainly two steps: System design and detailed design.
In system design a structural framework for the entire system is created. It is done in such a
way that the related part come under particular groups. Thus after the system design, a
network of different groups is obtained. It is the high level strategy for solving the problem
and building a solution. It includes the decision about the organization of the system into
subsystems, the allocation of subsystems to hardware and software components and major
conceptual and policy decisions that form the framework for the detailed design. System
design is the first stage in which the basic approach to solve problem is selected. During
system design, the overall style and structure are decided.
In detailed design, each group is studied in detail and the internal operations are
decided. Based on this, the data structures and the programming language to be used is
decided. Apart from detailed design, the system design can be grouped into physical design
and structural design. The physical design maps out the details of physical system and plans
the system implementation and specifies the hardware and software requirements. Structured
design is an attempt to minimize the complexity and make a problem manageable by
subdividing into smaller segments, which is called modularization or decomposition.
In this way structuring minimizes intuitive reasoning and promotes maintainable
provable systems. This structured design partitions a program into small, independent
modules. They are arranged in a hierarchy that approximates a model of business and is
organized in atop down manner. Logical design proceeds in a top down manner. General
features, such as reports and inputs are identified. Then each is studied individually and in
more detail. Hence the structured design is an attempt to minimize the complexity and make
a problem.
4.1
SYSTEM OVERVIEW
College knowledge management system provides with the useful information that
should be followed during a process .Tacit knowledge is knowledge that's difficult to write
down, visualize or transfer from one person to another. It is an attempt to transform tacit
knowledge into explicit knowledge in order to benefit students in an academic program. The
17
College Of Engg.,Cherthala
goal of this Web and Android-based system is to focus on providing help for the most
common issues, relevant points and frequently asked questions.
4.2
SYSTEM MODULES
The following are the modules that are used to develop the proposed system. Based
upon the levels of the product, the project had been divided to 4 modules which are
mentioned a follows.
KMS server
Clients
Deduplication
Database
KMS server
In the web based central server or app server manges the vast repository. This is the
heart of this project. It has business logic (BL) that consists of all the algorithms. It is of high
priority. It provides the communication between presentational layer and application layer.
App server access all the information needed that is stored in the DB.
Clients
Clients are the users.They can interact with KMS by login with their UserID and
password.They can search data,add new data, can participate in open forum activity. This
module focuses on development of user interfaces for the clients KMS has web based UI as
well as android based UI. KMS allows users to access features via web and android native
app interfaces. Student or teacher can search for the informations via android app or web UI.
The user can use the system either through mobile android app or through we if he or she has
a network connection. User interface includes in presentation layer. User actually interacts
with the system through UI.
Deduplication
In this section, we discuss how Deduplication is done in the central repository. Each
document is compared with each other.When more 70% appears to be same after comparison
18
College Of Engg.,Cherthala
the admin is notified that duplicate documents are found out.The following is the pseudocode
for the Deduplication.
1. In class findDuplicatelist
1.1 List<String> list = newLinkedList<String>()
1.2 From i=0 to end of the document do the following steps
1.2.1
String yourInt=listContainingDuplicates.get(i)
2.3.2
19
College Of Engg.,Cherthala
4.3
UML DIAGRAMS
20
College Of Engg.,Cherthala
Diagram
Description
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 systems classes, their attributes, operations (or methods), and the relationships among objects.The classes in a class
diagram represent both the main objects, interactions in the application and the classes to be
programmed.A class with three sections.In the diagram, classes are represented with boxes
which contain three parts:The top part contains the name of the class.The middle part
contains the attributes of the class.The bottom part gives the methods or operations the class
can take or undertake.
4.3.2 Use case Diagram
Purpose
Use case is a set of scenarios that describing an interaction between a user and a
system. The two main component of use case diagram are use cases and actors. They are
helpful in exposing requirements and planning the projects. During the initial stage of a
project, most use cases should be defined. But as the project continues more might become
21
College Of Engg.,Cherthala
visible, the use case diagram for showing the project is that it measures the size of the
software. It reduces users need for training and operating the system.
In use case diagram, we all know, the main two things are the actors and the actions.
Here the actors are the system administrator, customer and a billing staff. Apart from the
actors there are actions to be performed by these actors. These actions are shown in oval.
Use case diagrams are relatively easy UML diagram. They are helpful in exposing
requirements and planning of the project. During the initial stage of a project most use cases
should be defined, but as the project continues more might become visible. A use case is an
external view of the system that represents some action the user might perform in order to
complete a task. A use case diagram displays the relationship among actors and use cases.
22
College Of Engg.,Cherthala
Diagram
23
College Of Engg.,Cherthala
The main purpose of a sequence diagram is to define event sequences that results in
some desired outcome. The focus is less on events themselves and more on the order in
which events occur; nevertheless, most sequence diagrams will communicate what
information are sent between a systems objects is information along the horizontal well as
the order in which they occur. The diagram conveys this information along the horizontal and
vertical dimensions: the vertical dimensions shows, top down, the time sequence of
instructions as they occur, and the horizontal dimension shows, left to right, the object
instances that the instructions are sent to. Here in this there are some rules to draw the
diagram. They are explained as follows: When drawing a sequence diagram, lifeline notation
elements are placed across the top of the diagram. Lifelines represent either roles or object
instances that participate in the sequence being modelled. Lifelines are drawn as a box with a
dashed line descending from the center of the bottom edge. The lifelines name is placed
inside the box.
24
College Of Engg.,Cherthala
Diagram
25
College Of Engg.,Cherthala
happen.
Activity diagrams may be regarded as a form of flowchart. Typical flowchart
techniques lack constructs for expressing concurrency. However, the join and split symbols
in activity diagrams only resolve this for simple cases; the meaning of the model is not clear
when they are arbitrarily combined with decisions or loops.
26
College Of Engg.,Cherthala
Diagram
27
College Of Engg.,Cherthala
4.4
4.4.1 Purpose
The purpose of the design is to create architecture for the evolving implementation
and to establish the common tactical policies that must be used by desperate elements of the
system. We begin the design process as soon as we have some reasonably completed model
of the behaviour of the system. It is important to avoid premature designs, wherein develop
designs before analysis reaches closer. It is important to avoid delayed designing where in
the organization crashes while trying to complete an unachievable analysis model.
Throughout my project, the context flow diagrams, data flow diagrams and flow
charts have been extensively used to achieve the successful design of the system. In my
opinion," efficient design of the data flow and context flow diagram helps to design the
system successfully without much major flaws within the scheduled time". This is the most
complicated part in a project. In the designing process, my project took more than the
activities in the software life cycle. If we design a system efficiently with all the future
enhancements the project will never become junk and it will be operational.
The data flow diagrams were first developed by Larry Constantine as a way of
expressing system requirements in graphical form. A data flow diagram also known as
"bubble chare' has the purpose of clarifying system requirements and identifying major
transformations that will become programs in system design. It functionally decomposes the
requirement specification down to the lowest level. Data Flow Diagram depicts the
information flow, the transformation flow and the transformations that are applied as data
move from input to output. Thus DFD describes what data flows rather than how they are
processed.
Data Flow Diagram is quite effective, especially when the required design is unclear
and the user and analyst need a notational language for communication. It is one of the most
important tools used during system analysis. It is used to model the system components such
as the system process, the data used by the process, any external entities that interact with the
system and information flows in the system.
28
College Of Engg.,Cherthala
Data Flow Diagrams are made up of a number of symbols, which represents system
components. Data flow modelling method uses four kinds of symbols, which are used to
represent four kinds of system components.
These are
Process
Data stores
Data flows
External entity
Basic DFD Symbols:
Process
Process shows the work of the system. Each process has one or more data inputs and
produce one or more data outputs. Processes are represented by rounded rectangles in Data
Flow Diagram. Each process has a unique name and number. This name and number appears
inside the rectangle that represents the process in a Data Flow Diagram.
Data Stores
A data store is a repository of data. Processes can enter data, into a store or retrieve
the data from the data store. Each data has a unique name.
Data Flows
Data flows show the passage of data in the system and are represented by lines
joining system components. An arrow indicates the direction of flow and the line is labelled
by name of the data flow.
29
College Of Engg.,Cherthala
External Entity
External entities are outside the system but they either supply input data into the
system or use other systems output. They are entities on which the designer has control. They
may be an organizations customer or other bodies with which the system interacts. External
entities that supply data into the system are sometimes called source. External entities that
use the system data are sometimes called sinks. These are represented by rectangles in the
Data flow Diagram.
Four basic symbols are used to construct data flow diagrams. They are symbols that
represent data source, data flows, and data transformations and data storage. The points at
which data are transformed are represented by enclosed figures, usually circles, which are
called nodes.
Description
1. Process: Describes how each input data is converted to output data
2. Data Store: Describes the repositories of data in a system.
3. Data Flow: Describes the data flowing between process, Data stores and entities.
4. Source: An external entity causing the origin of data.
5. Sink: An external entity, which consumes the data.
30
College Of Engg.,Cherthala
Level 0: KMS
31
College Of Engg.,Cherthala
Description
Generally speaking, one can become a registered user by providing some credentials,
usually in the form of a username and password. After that, one can access information and
privileges unavailable to non-registered users. Login refers to the credentials required to
obtain access to KMS.
32
College Of Engg.,Cherthala
33
College Of Engg.,Cherthala
4.5
DATABASE TABLES
Artifact
34
College Of Engg.,Cherthala
User
35
College Of Engg.,Cherthala
Category
36
College Of Engg.,Cherthala
4.6
ER DIAGRAM
In software engineering an entityrelationship model (ER model) is a data model for
describing the data or information aspects of a business domain or its process requirements,
in an abstract way that lends itself to ultimately being implemented in a database such as a
relational database. The main components of ER models are entities (things) and the
relationships that can exist among them, and databases. In ER model is typically
implemented as a database.In the case of a relational database, which stores data in tables,
every row of each table represents one instance of an entity. Some data fields in these tables
point to indexes in other tables; such pointers represent the relationships.
37
College Of Engg.,Cherthala
38
College Of Engg.,Cherthala
IMPLEMENTATION
39
College Of Engg.,Cherthala
5. IMPLEMENTATION
Implementation is the stage in the project where the theoretical design is turned into a
working system and is giving confidence on the new system for users that it will work
effectively and effectively. It involves careful planning, investigation of the current system
and it constraints on implementation, design of achieve the changeover, an evolution of
change over method. A part from planning major task of preparing the implementation are
education and training of users .The more complex system being implemented ,the more
involved will be the system analysis and the design effort required just for implementation.
The product is developed in java environment in windows platform. This chapter may
explain our implementation details.
5.1
database. Microsoft SQL Server automatically tunes many of the server configuration
options, therefore requiring little, if any, tuning by a system administrator. Although these
configuration options can be modified by the system administrator, it is generally
recommended that these options be leftat their default values, allowing SQL Server to
automatically tune itself based on run-time conditions.
5.1.1 Java
Java is a general purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers write once, run anywhere (WORA),
meaning that code that runs on one platform does not need to be recompiled to run on another.Java applications are typically compiled to byte code (class file) that can run on any
Java Virtual Machine (JVM) regardless of computer architecture. Java is, as of 2012, one of
the most popular programming languages in use, particularly for client-server web
applications, with a reported 10 million users. Java was originally developed by James
Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released
40
College Of Engg.,Cherthala
in 1995 as a core component of Sun Microsystems Java platform. The language derives
much of its syntax from C and C++, but it has fewer low-level facilities than either of them.
JAVA offers a number of advantages to developers:
Java is simple: Java was designed to be easy to use and is therefore easy to write, com-pile,
debug, and learn than other programming languages. The reason why Java is much
simpler than C++ is because Java uses automatic memory allocation and garbage
collection where else C++ requires the programmer to allocate memory and to collect
garbage. Because Java is simple, it is easy to read and write. By keeping the language
simple Java help programmers write bug-free code. Despite its simplicity Java has
considerably more functionality than C, primarily because of the large class library.
About half of the bugs in programs are related to memory allocation and reallocation.
Therefore the second important addition Java makes to providing bug-free code is
automatic memory allocation and reallocation by making use of garbage collection.
Java is platform-independent: One of the most significant advantages of Java is its ability
to move easily from one computer system to another. Java is compiled to an intermediate
form called byte code. A Java program never really executes natively on the host
machine.Rather a special native program called the Java interpreter reads the byte code
and executes the corresponding native machine instructions. Thus to port Java program to
a new platform all that is needed is to port the interpreter and some of the library routines.
Even the compiler is written in Java. The byte codes are precisely defined, and remain the
same on all platforms. The ability to run the same program on many different systems is
crucial to World Wide Web software, and Java succeeds at this by being platformindependent at both the source and binary levels.
Java is secure: Java is one of the first programming languages to consider security as part
of its design. The Java language, compiler, interpreter, and runtime environment were
each developed with security in mind. Java was designed from the ground up to allow for
secure execution of code across a network, even when the source of that code was entrusted and possibly malicious. This required the elimination of many features of C and
C++. Most notably there are no pointers in Java. Java programs cannot access arbitrary
41
College Of Engg.,Cherthala
addresses in memory. All memory access is handled behind the scenes by the
(presumably) trusted runtime environment. Furthermore Java has strong typing. Variables
must be declared, and variables do not change types when you arent looking. Casts are
strictly limited to casts between types that make sense. Java implements a robust
exception handling mechanism to deal with both expected and unexpected errors. Most
importantly Java applets can be executed in an environment that prohibits them from
introducing viruses, deleting or modifying files, or otherwise destroying data and
crashing the host computer.
Java is robust: Robust means reliable and no programming language can really assure
reliability. Java puts a lot of emphasis on early checking for possible errors, as Java
compilers are able to detect many problems that would first show up during execution
time in other languages.
Java is dynamic: The compiler searches the current directory and directories specified in
the CLASSPATH environment variable to find other classes explicitly referenced by
name in each source code file. If the file youre compiling depends on other,
noncompiled files the compiler will try to find them and compile them as well. The
compiler is quite smart, and can handle circular dependencies as well as methods that are
usedbefore theyre declared. It also can determine whether a source code file has changed
since the last time it was compiled. More importantly, classes that were unknown to a
program when it was compiled can still be loaded into it at runtime.
Java is multithreaded: Java is inherently multi-threaded. A single Java program can have
many different threads executing independently and continuously. Three Java applets on
the same page can run together with each getting equal time from the CPU with very little
extra effort on the part of the programmer. This makes Java very responsive to user input.
It also helps to contribute to Javas robustness and provides a mechanism whereby the
Java environment can ensure that a malicious applet doesnt steal all of the hosts CPU
cycles.
Java is object oriented: In object-oriented programs data is represented by objects. Objects
have two sections, fields (instance variables) and methods. Fields tell what an object is.
42
College Of Engg.,Cherthala
Methods tell what an object does. These fields and methods are closely tied to the
objects real world characteristics and behavior. When a program is run messages are
passed back and forth between objects. When an object receives a message it responds
accordingly as defined by its methods.
Object oriented programming is alleged to have a number of advantages including:
Simpler, easier to read programs.
More efficient reuse of code.
Faster time to market.
More robust, error-free code.
43
College Of Engg.,Cherthala
Description
The Login page is used for authenticating the user. The user or admin is recognized
using a unique password. The user interacts with the KMS by providing the user
credentials.The KMS will supply necessary response code back to the user.There is an
administrator who checks the relevance and add /update contents according to it.
The source code of this page contains some of the important function calls used in
this project. If the entered password appears to be correct, then the user is given a message
showing successful login, using a dialogue box. Similarly, if the entered password is wrong,
then an alert is given to the user indicating invalid password.
44
College Of Engg.,Cherthala
Description
The administrator may allow users to sign up for their own accounts. If so, a link to
Sign up for your own account will be available. The administrator may also have anonymous
login allowed. Anonymous users will be logged in under a common account. You will be
allowed to select a project to work in after logging in. You can make a project your default
selection from the Select Project screen or from your Account Options.SignupHere you can
signup for a new account. You must supply a valid email address and select a unique
username. Your randomly generated password will be emailed to your email account.
45
College Of Engg.,Cherthala
Description
A home page that is generally the first page a visitor navigating to a website from
a search engine will see, and may also serve as a landing page to attract the attention of
visitors.The home page is used to facilitate navigation to other pages on the site, by providing
links to important and recent articles and pages, and possibly a search box.For example, a
news website may present the headlines and first paragraphs of top stories, with links to the
full articles, in a dynamic web pagethat reflects the popularity and recentness of stories.
A website may have multiple home pages, although most have one.For a Web site
developer, a home page is the first page presented when a user selects a site or presence on
the World Wide Web. The usual address for a Web site is the home page address, although
you can enter the address (Uniform Resource Locator) of any page and have that page sent to
you.
46
College Of Engg.,Cherthala
Description
Help systems should be conveniently accessible in locations where users can possibly
need answers to their questions. Theyre critical because they are one of the last places a
website visitor will look before deciding to give up and search for another website that will
fulfill their requirements. Therefore, help systems can be crucial in retaining your site
visitors.
47
College Of Engg.,Cherthala
Description
The help menu in the home page allows the users to know more about usage of
CECKMS.It also includes the guidance for the usage.KMS provides an opportunity to know
more about the closed information of our college.It provides various features to the users like
uploading articles,downloading articles etc.Users will get the notification of addition of new
content via push notication in their registered phone.
48
College Of Engg.,Cherthala
TESTING
49
College Of Engg.,Cherthala
6. SYSTEM TESTING
When a system is developed, it is hoped that it performs properly. In practice,
however some errors always occur. The main purpose of testing an information system is to
find the error and correct them. A successful test is one that finds an error. System testing is a
critical aspect of Software Quality Assurance and represents the ultimate review of
specification, design and coding. Testing is the process of executing a program with the
intent of finding an as yet undiscovered error. Nothing is complete without testing. Testing is
vital to the success of the system.
The main objectives of the system testing are:
6.1
CODE TESTING
In code testing the logic of the developed system is tested. For this every module of
the program is executed to find any error. To perform specification test, the examination of
the specifications stating what the program should do and how it should perform under
various conditions.
This testing was done side by side with coding. This examines the logic of the
program. In java special test cases are used for testing the code. Every part of the program
was tested in this phase.
50
College Of Engg.,Cherthala
6.2
UNIT TESTING
Unit testing is undertaken after a module has been coded and reviewed.The various
test cases are driver and stub modules. The main objective is to determine the correct
working of the individual modules.
During the testing each module is isolated from other modules and individually unit
tested. It involves a precise definition of the test cases, testing criteria, and management of
test cases. Unit testing focuses verification error on the smallest unit of system design. Using
the test plan proposed in the design phase of the system, important control paths are tested to
uncover the errors within the module. This testing was carried out during the coding itself. In
this testing setup, each module is tested if it is working satisfactorily to produce the expected
output. If a set of errors are encountered correction is difficult because the isolation of causes
is complicated by vastness of the entire program.
In unit testing,
Module interface is tested to ensure that information properly flows into and put of the
program under test.
Local data structures are examined to ensure that data stored temporarily maintains its
integrity during all steps in algorithm execution.
Boundary condition is tested to ensure that the module operates properly at boundaries
established to limit or restrict processing.
All independent paths through the control structures are executed to ensure that all
statements in the module have been executed at least once.
Various modules of the Anonymous Network Code Based Communication were tested
individually for the required output. All the modules worked as per the requirements. All
the errors found in the various modules were corrected for the next testing steps.
51
College Of Engg.,Cherthala
It focuses on the functional requirements of the software. Applied during the later stages
of testing.
Interface errors
Performance errors
Focuses on procedural details, i.e. the internal logic of the program. It is performed in the
early stagesof process. Generally applied to find errors in the following categories:
52
College Of Engg.,Cherthala
TEST RESULT
MODULE UNDER TEST:LOGIN
SL NO
TEST CASE
EXPECTED
ACTUAL
TEST
OUTPUT
OUTPUT
RESULT
Correctuname+
Successful
Successful
Success
correct password
Login
Login
Correctuname+
Error message
Error message
Success
Error message
Error message
Success
Error message
Error message
Success
Inorrectpassword
3
Incorrectuname+
Correctpassword
Incorrectuname+
Incorrectpassword
TEST CASES
NO
EXPECTED
ACTUAL
TEST
OUTPUT
OUTPUT
RESULT
Searching
Allow search
Allowed search
Success
Conent addition
Upload
Upload
Success
Forum
Add comments
Add comments
Success
Help
Help page
Help page
Success
53
College Of Engg.,Cherthala
SL
TEST CASES
NO
EXPECTED
ACTUAL
TEST
OUTPUT
OUTPUT
RESULT
Enter to DB
Entered to DB
Success
Content addition
Enter to DB
Entered to DB
Success
Searching
Display content
Display content
Success
EXPECTED
ACTUAL
TEST
OUTPUT
OUTPUT
RESULT
Successful entry
Success
Error message
Success
TEST CASES
Add
new Successful
content
Entry
Error message
6.3
INTEGRATION TESTING
This testing is carried out after all modules have been unit tested. In this testing the
objective is to check whether the different modules of a program interface with each other
properly. During this testing different modules are integrated using integration plan. A
dependency graph guides the integration plan. For example, it is checked that no parameter
mismatch occurs when one module invokes the functionality of another module.
The results of Integration testing are documented in the form of a test report. The test
report summarizes the outcome of all the testing that was carried out during the different
54
College Of Engg.,Cherthala
phases. It is a systematic technique for constructing the program structures by conducting test
to uncover errors associated with interfacing. Many test modules are combined in to a
subsystem which is then tested. Unit tested module were taken and a single program structure
was built that has been dictated by the design. Incremental integration has adopted here.
The entire software was developed and tested in small segments, where errors were
easy to locate and rectify. Integration testing is a systematic testing for building the program
structure by conducting the tests to find out errors associated with user interaction, data
manipulation analysis, and display processing.
These tests can also be performed in this step.
a) Top down integration
b) Bottom up integration
In the College Knowledge Management System all the modules are integrated and by
using the integration test plans prepared in the design phase of the system developed, as a
guide, the integration testing was carried out. All the errors found during integration testing
were corrected for the next testing steps.
6.4
VALIDATION TESTING
The process of evaluating software during the development process or at the end of
6.5
OUTPUT TESTING
This testing checks whether the system gives correct output for a given set of inputs.
Output testing was performed with varying test data and the correct output was verified. The
following outputs are obtained successfully.
55
College Of Engg.,Cherthala
6.6
SYSTEM TESTING
After all units of a program have been integrated together and tested system testing is
taken up. It is same for both procedural and object oriented programming. System tests are
designed to validate a fully developed system to assure that it meets its requirements. The
system test cases can be classified into performance and functionality test cases. The
functionality test cases are designed to check whether the software satisfies the functional
requirements as documented in the SRS document. The performance tests on the other hand
test the conformance of the system with nonfunctional requirements of the system.
56
College Of Engg.,Cherthala
6.7
TEST REPORTS
The tests are conducted properly by defining the test cases and proper results are
57
College Of Engg.,Cherthala
CONCLUSION
58
College Of Engg.,Cherthala
7.CONCLUSION
College knowledge management system is the better system for managing any
information related to the courses. All the users can access any information from their home
itself so it reduces time with better output. Currently students need to approach office or
other respective persons to get various informations related to college or the course. By
knowledge management system this complexity is reduced to a great extend as all the
students can get various informations via mobile android app or desktop web UI. Also
students can access the notes which is being posted by any other student or teacher. This
makes not just one but many to access the notes easily so that the time consuming for
checking the notes in web is reduced.
beneficial for the students for an efficient learning process. Once this system is established
this will definitely become popular among the students so that all students and teachers
preferably uses it.
59
College Of Engg.,Cherthala
FUTURE SCOPE
60
College Of Engg.,Cherthala
8. FUTURE SCOPE
This
system
provides
the detail
structure of
its departments.KMS synchronizes the working of all the departments. It looks on all aspects
of acollege, its students, faculties, departments, marks and other co-curricular activities.
KMS is the easiest way to manage all functionalities of a college, which facilitates
colleges to maintain the functionality related to college employees and their students.
61
College Of Engg.,Cherthala
REFERENCES
62
College Of Engg.,Cherthala
9.REFERENCES
[1] http://docs.oracle.com/javase/7/docs/api/ [Accessed on 12/12/2014]
[2] http://dev.mysql.com/doc/refman/5.6/en/ [Accessed on 12/12/2014]
[3] https://developer.android.com/google/auth/api-client.html [Accessed on 12/5/2014]
[4] http://api.jqueryui.com/category/ui-core/ [Accessed on 01/01/2015]
[5] https://help.ubuntu.com/community/CommandLineResources [Accessed on 12/1/2015]
[6]http://www.w3schools.com/html/html_basic.asp [Accessed on 12/1/2015]
[7]Fundamentals of Software engineering Rajib Mall
[8]http://www.w3schools.com/css/css_intro.asp [Accessed on 18/1/2015]
[9]http://www.codecademy.com/ [Accessed on 02/02/2015]
[10]https://helpx.adobe.com/dreamweaver.html [Accessed on 02/02/2015]
63
College Of Engg.,Cherthala
APPENDIX
64
College Of Engg.,Cherthala
Registration
<%@ page import ="java.sql.*" %>
<%
String user = request.getParameter("uname");
String pwd = request.getParameter("pass");
String fname = request.getParameter("fname");
String lname = request.getParameter("lname");
String email = request.getParameter("email");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/study",
"root", "admin");
Statement st = con.createStatement();
//ResultSetrs;
inti = st.executeUpdate("insert into members(first_name, last_name, email, uname, pass,
regdate) values ('" + fname + "','" + lname + "','" + email + "','" + user + "','" + pwd + "',
CURDATE())");
if (i> 0) {
//session.setAttribute("userid", user);
response.sendRedirect("welcome.jsp");
// out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
} else {
response.sendRedirect("kms.jsp");
}
%>
65
College Of Engg.,Cherthala
Home
<%@ page language="java"contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>KMS HOME</title>
<script type="text/javascript"src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript"src="js/jqsimplemenu.js"></script>
<link rel="stylesheet"href="css/jqsimplemenu.css"
type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function () {
$('.menu').jqsimplemenu();
});
</script>
</head>
<style>
#header {
background-color:purple;
color:white;
text-align:center;
padding:5px;
}
#nav {
line-height:30px;
background-color:lightgray;
66
College Of Engg.,Cherthala
height:300px;
width:100px;
float:left;
padding:10px;
color:white;
}
#section {
background-color:lightgray;
text-align:center;
width:350px;
float:left;
padding:40px;
}
#footer {
background-color:purple;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body>
<div id="header">
67
College Of Engg.,Cherthala
<h1>WELCOME TO KMS!!!</h1>
</div>
<div id="nav">
</div>
<link rel="stylesheet"href="css/jqsimplemenu.css" type="text/css"/>
<body bgcolor="lightgray">
<ul class="menu">
<li><a href='home.jsp'>Home</a></li>
<li><a href="#">Articles</a>
<ul>
<li><a href="View Articles.jsp">View Articles</a></li>
<li><a href="ContentAdd.jsp">Content Addition</a></li>
</ul>
</li>
<li><a href="#">Category</a>
<ul>
<li><a href="#">Depatment</a>
<ul>
<li><a href="cse.jsp">CSE</a></li>
<li><a href="ece.jsp">ECE</a></li>
<li><a href="eee.jsp">EEE</a><li>
</ul>
</li>
<li><a href="other.jsp">Other</a></li>
</ul>
</li>
<li><a href="#">About</a>
68
College Of Engg.,Cherthala
<ul>
<li><a href="help.jsp">Help</a></li>
<li><a href="add.jsp">Task</a></li>
<li><a href="fail.jsp">Operation failed</a></li>
</ul>
</li>
<li><a href='forum.jsp'>Forum</a></li>
<li><a href="logout.jsp">Logout</a></li>
</ul>
<div id="section">
</div>
</body>
<div id="footer">
<font color="white" size="5">
<marquee>Send your feedback to ceckms@gmail.com</marquee></font>
</div>
</html>
69
College Of Engg.,Cherthala
Content addition
<%@ page language="java"contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action="UploadFile.jsp" method="post"
enctype="multipart/form-data">
<input type="file" name="file" size="100" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
Help
<%@ page language="java"contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>What is kms?</title>
<script type="text/javascript"src="js/jquery-1.4.4.min.js"></script>
70
College Of Engg.,Cherthala
<script type="text/javascript"src="js/jqsimplemenu.js"></script>
<link rel="stylesheet"href="css/jqsimplemenu.css"
type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function () {
$('.menu').jqsimplemenu();
});
</script>
<style>
#footer {
height:30px;
background-color:white;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body bgcolor="bisque">
<ul class="menu">
<li><a href='home.jsp'>Home</a></li>
<li><a href="#">Articles</a>
<ul>
<li><a href="View Articles.jsp">View Articles</a></li>
<li><a href="ContentAdd.jsp">Content Addition</a></li>
</ul>
71
College Of Engg.,Cherthala
</li>
<li><a href="#">Category</a>
<ul>
<li><a href="#">Depatment</a>
<ul>
<li><a href="cse.jsp">CSE</a></li>
<li><a href="ece.jsp">ECE</a></li>
<li><a href="eee.jsp">EEE</a><li>
</ul>
</li>
<li><a href="other.jsp">Other</a></li>
</ul>
</li>
<li><a href="#">About</a>
<ul>
<li><a href="help.jsp">Help</a></li>
<li><a href="add.jsp">Task</a></li>
<li><a href="fail.jsp">Operation failed</a></li>
</ul>
</li>
<li><a href='forum.jsp'>Forum</a></li>
<li><a href="logout.jsp">Logout</a></li>
</ul>
<br>
72
College Of Engg.,Cherthala
<ul style="list-style-type:none">
<li>KMS provides an opportunity to aware more about the closed information of college of
engineering,cherthala.</li>
<li>Allows to search topics related to your courses,procedures to be followed during a
process and all your related doubts.</li>
<li>It also provides the users to upload files to the KMS.</li>
notification in their phone upon adding a new content to KMS. </li>
<li>Users can search contents in the search bar provided in the home page of KMS</li>
</ul>
</font>
<div id="footer">
<font color="darkgoldenrod" size="5">
<marquee>Send your feedback to "ceckms@gmail.com"</marquee></font>
</div>
</body>
</html>
Upload file
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="org.apache.commons.io.output.*" %>
<%
File file ;
int maxFileSize = 5000 * 1024;
int maxMemSize = 5000 * 1024;
73
College Of Engg.,Cherthala
out.println("<html>");
out.println("<head>");
out.println("<title>JSP File upload</title>");
out.println("</head>");
out.println("<body>");
while ( i.hasNext () )
{
74
College Of Engg.,Cherthala
FileItem fi = (FileItem)i.next();
if ( !fi.isFormField () )
{
// Get the uploaded file parameters
String fieldName = fi.getFieldName();
String fileName = fi.getName();
boolean isInMemory = fi.isInMemory();
long sizeInBytes = fi.getSize();
// Write the file
if( fileName.lastIndexOf("\\") >= 0 ){
file = new File( filePath +
fileName.substring( fileName.lastIndexOf("\\"))) ;
}else{
file = new File( filePath +
fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
fi.write( file ) ;
out.println("Uploaded Filename: " + filePath +
fileName + "<br>");
}
}
out.println("</body>");
out.println("</html>");
}catch(Exception ex) {
System.out.println(ex);
}
}else{
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet upload</title>");
out.println("</head>");
75
College Of Engg.,Cherthala
out.println("<body>");
out.println("<p>No file uploaded</p>");
out.println("</body>");
out.println("</html>");
}
%>
<style>
#footer {
height:30px;
background-color:white;
76
College Of Engg.,Cherthala
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body bgcolor="bisque">
<ul class="menu">
<li><a href='home.jsp'>Home</a></li>
<li><a href="#">Articles</a>
<ul>
<li><a href="View Articles.jsp">View Articles</a></li>
<li><a href="ContentAdd.jsp">Content Addition</a></li>
</ul>
</li>
<li><a href="#">Category</a>
<ul>
<li><a href="#">Depatment</a>
<ul>
<li><a href="cse.jsp">CSE</a></li>
<li><a href="ece.jsp">ECE</a></li>
<li><a href="eee.jsp">EEE</a><li>
</ul>
</li>
<li><a href="other.jsp">Other</a></li>
</ul>
</li>
<li><a href="#">About</a>
77
College Of Engg.,Cherthala
<ul>
<li><a href="help.jsp">Help</a></li>
<li><a href="add.jsp">Task</a></li>
<li><a href="fail.jsp">Operation failed</a></li>
</ul>
</li>
<li> <a href='forum.jsp'>Forum</a></li>
<li> <a href="logout.jsp">Logout</a></li>
</ul>
<br>
78
College Of Engg.,Cherthala
79
College Of Engg.,Cherthala
INDEX
A
Activity Diagram 27
Appendix 64
Level 0 DFD 31
Behavioural feasibility 9
Level 1 DFD 32
Level 2 DFD 33
Class diagram 20
Non-functional requirement 14
Conclusion 59
Cost estimation 10
Output testing 55
Database tables 34
Product Scope 2
Deduplication 18
Performance requirements 14
Design 17
Presentation layer 6
Detailed design 18
Production environment 15
Proposed system 5
Existing system 5
Reference 46
Economic feasibility 8
Screen shot 44
Feasibility study 8
Sequence diagram 23
Functional requirement 13
Future scope 60
System analysis 4
Gantt chart 9
System modules 18
System overview 17
Hardware requirements 15
System testing 56
System design 4
Implementation 39
80
College Of Engg.,Cherthala
Introduction 2
Technical feasibility 9
Java 40
Testing 49
Test report 57
U
UML Diagrams 20
Use case diagram 21
Unit testing 51
V
Validation testing 55
W
White box testing 52
81
College Of Engg.,Cherthala