You are on page 1of 86

v

TABLE OF CONTENTS
1.INTRODUCTION................................................................................................................ 1
1.1

PURPOSE .................................................................................................................. 2

1.2

PRODUCT SCOPE .................................................................................................... 2

2.SYSTEM ANALYSIS .......................................................................................................... 3


2.1

EXISTING SYSTEM ................................................................................................. 5

2.2

PROPOSED SYSTEM............................................................................................... 5

2.3

PROPOSED SDLC MODEL ..................................................................................... 7

2.4

FEASIBILITY STUDY ............................................................................................. 8

2.4.1

Economic Feasibility .......................................................................................... 8

2.4.2

Technical Feasibility ........................................................................................... 9

2.4.3

Behavioural Feasibility ....................................................................................... 9

2.4.4

Social Feasibility................................................................................................. 9

2.5

GANTT CHART ........................................................................................................ 9

2.6

COST ESTIMATION .............................................................................................. 10

3.SYSTEM REQUIREMENT SPECIFICATION ............................................................. 12


3.1

FUNCTIONAL REQUIREMENTS ........................................................................ 13

3.2

NON FUNCTIONAL REQUIREMENTS ............................................................... 14

3.3

HARDWARE REQUIREMENTS ........................................................................... 15

3.4

SOFTWARE REQUIREMENTS ............................................................................ 15

4.SYSTEM DESIGN ............................................................................................................. 16


4.1

SYSTEM OVERVIEW ............................................................................................ 17

4.2

SYSTEM MODULES .............................................................................................. 18

4.3

UML DIAGRAMS ................................................................................................... 20

4.3.1 Class diagram ......................................................................................................... 20


4.3.2 Use case Diagram ................................................................................................... 21
4.3.3 Sequence Diagram .................................................................................................. 23
4.3.4 Activity Diagram .................................................................................................... 26
4.4

DATA FLOW DIAGRAM ...................................................................................... 28

4.4.1 Purpose ................................................................................................................... 28

vi

4.5

DATABASE TABLES ............................................................................................ 34

4.6

ER DIAGRAM ......................................................................................................... 37

5.IMPLEMENTATION ....................................................................................................... 39
5.1

LANGUAGES AND PLATFORM USED .............................................................. 40

5.1.1 Java ......................................................................................................................... 40


5.2

SCREEN SHOTS ....................................................................................................... 44

5.2.1 Login page .............................................................................................................. 44


5.2.2 Sign up page ........................................................................................................... 45
5.2.3 Home Page .............................................................................................................. 46
5.2.4 Help Page ................................................................................................................ 47
5.2.5 More about KMS .................................................................................................... 48
6.TESTING ............................................................................................................................ 49
6.1

CODE TESTING ..................................................................................................... 50

6.2

UNIT TESTING ....................................................................................................... 51

6.2.1 BLACK BOX TESTING........................................................................................ 52


6.2.2 WHITE BOX TESTING ........................................................................................ 52
6.3

INTEGRATION TESTING ..................................................................................... 54

6.4

VALIDATION TESTING ....................................................................................... 55

6.5

OUTPUT TESTING ................................................................................................ 55

6.6

SYSTEM TESTING ................................................................................................ 56

6.7

TEST REPORTS ...................................................................................................... 57

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

Use case Diagram

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

More about KMS Page

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

Android Developer Tools

COCOMO

Constructive Cost Estimation Model

DFD

Data Flow Diagram

JDK

Java Development Kit

JVM

Java Virtual Machine

KLOC

Kilo Lines of Code

KMS

Knowledge Management System

REQ

Requirement

SDLC

Software Development Life Cycle

SDK

Software Development Kit

UI

User Interface

UML

Unified Modeling Language

College Knowledge Management System

Mini Project Report 2014-2015

INTRODUCTION

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

SYSTEM ANALYSIS

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Fig 1.1 System architecture

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

PROPOSED SDLC MODEL


The paradigm chosen for current project was incremental model. This

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.

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015


Lowers initial delivery cost.

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

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Fig 2.1 Gantt chart

Dept. Of Computer Science &Engg.

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

and less than rigid requirements


3. Embedded projects - developed within a set of "tight" constraints (hardware, software,
operational ...)
The basic COCOMO equations take the form:

Effort Applied = a*(KLOC) b[ man-months ]


Development Time = c*(Effort Applied) d[months]
People required = Effort Applied / Development Time [count]

Category of software project is semi-detached.

Dept. Of Computer Science &Engg.

10

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Table 1.1 COCOMO Model coefficients

Cost Estimation of Our Project:


Lines of Code (LOC): 3000
Effort for Development: 0.6 PM
Time for development is expected to be 3months
No: of members: 4
Salary of each member:3500

Dept. Of Computer Science &Engg.

11

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

SYSTEM REQUIREMENT
SPECIFICATION

Dept. Of Computer Science &Engg.

12

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

3. SOFTWARE REQUIREMENT SPECIFICATION


A software requirement specification is a complete description of the behaviour of a
system to be developed. It includes a set of use cases that describes all the interactions the
users will have with the software. Use cases are also known as functional requirements. In
addition to this, SRS also contains non-functional requirements which impose constraints on
the design or implementation.

3.1

FUNCTIONAL REQUIREMENTS
A functional requirement defines a function of a system and its components. A

function is described as a set of inputs, the behavior, and outputs.


Functional requirements may be calculations, technical details, data manipulation and
processing and other specific functionality that define what a system is supposed to
accomplish. Behavioral requirements describing all the cases where the system uses the
functional requirements are captured in use cases.
REQ 1: Login module
Login module is used to check whether the user is an authorized person to use the
system or not. For this the user should give the correct user name and password. Admin have
a unique username and password as his log in detail. By entering these details admin can
successfully log in to admin panel. Unique log in details prevent unauthorized access to the
system. In case of unauthorized access, the application generates an error message.
REQ 2: Input
All the details related to academic and official details are given as input to the
proposed system.
REQ 3: Processing
In the processing of academic information in college management system is extended
with the information of experience and official performances of staff members.

Dept. Of Computer Science &Engg.

13

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

NON FUNCTIONAL REQUIREMENTS

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.

Dept. Of Computer Science &Engg.

14

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

3.3

HARDWARE REQUIREMENTS
A digital computer system with following features:

Processor - Pentium / Higher processors

RAM - 1GB (minimum)

Hard Disk 80GB (minimum)

3.4

SOFTWARE REQUIREMENTS

3.4.1 Development / Test Environment

OS:Windows platform

Java Enterprise Edition and Java web components

Eclipse IDE

Android ADT,AVD,AndroidUI,SQLite,Push Notification Service

MySQL Workbench

HTML5/CSS/JavaScript

3.4.2

Production Environment

Front End: Android UI,Web UI

Web/App Server :Tomcat Server

Back End: MySQL Database

Dept. Of Computer Science &Engg.

15

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

SYSTEM DESIGN

Dept. Of Computer Science &Engg.

16

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Dept. Of Computer Science &Engg.

17

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Dept. Of Computer Science &Engg.

18

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Add contents to the list

1.3 Call findDuplicate()


1.4 Print duplicate elements
2. In findDuplicate()
2.1 final Set<String>setToReturn = newHashSet<String>()
2.2 final Set<String> set1 = newHashSet<String>()
2.3 From i=0 to listContainingDuplicates.size(),do the following step
2.3.1

String yourInt=listContainingDuplicates.get(i)

2.3.2

If content cant be added to set1, add it to setToReturn

2.4 Return setToReturn


Database
All the information is stored with in the DB. All datas stored in DB can be
accessed by app server. Data layer contains DB.
When ever any information or data is needed app server access it from the DB as per
the user need. Business logic contains the entire algorithms that is used to access data from
DB.

Dept. Of Computer Science &Engg.

19

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

4.3

UML DIAGRAMS

4.3.1 Class diagram


Purpose
The purpose of the class diagram is to model the static view of an application. The
class diagrams are the only diagrams which can be directly mapped with object oriented
languages and thus widely used at the time of construction.
The UML diagrams like activity diagram, sequence diagram can only give the
sequence flow of the application but class diagram is a bit different. So it is the most popular
UML diagram in the coder community.
So the purpose of the class diagram can be summarized as:

Analysis and design of the static view of an application.

Describe responsibilities of a system.

Base for component and deployment diagrams.

Forward and reverse engineering.

Dept. Of Computer Science &Engg.

20

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Diagram

Fig 3.1 Class 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

Dept. Of Computer Science &Engg.

21

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

22

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Diagram

Fig 3.2 Use case diagram


Description
Use case diagram in the Unified Modeling language (UML) is a type of behavioral diagram. Its purpose is to represent the graphical overview of the functionality provided by a
system in terms of actors, their goals (represented use cases), and any dependencies between
those use cases. The main purpose of a use case diagram is to show what system functions
are performed for which actor. Role of the actors in the system can be depicted.
4.3.3 Sequence Diagram
Purpose
Sequence diagram tell the manner in which interaction takes place and the style in
which it is executed. They generally show the sequence in which the diagram demonstrates
how objects are statically connected. It demonstrates the behaviour of an object in a use case
by describing the actions they performed. The object is represented in rectangle and existence
of objects is shown by vertical lines.

Dept. Of Computer Science &Engg.

23

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

24

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Diagram

Fig 3.3 Sequence diagram


Description
A Sequence diagram depicts the sequence of actions that occur in a system. It
portrays the different perspectives of behavior of the system and different types of inferences
can be drawn from them. The invocation of methods in each object, and the order in which
the invocation occurs is captured in a Sequence diagram. This makes the Sequence diagram a
very useful tool to easily represent the dynamic behavior of a system.

Dept. Of Computer Science &Engg.

25

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

4.3.4 Activity Diagram


Purpose
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 are intended to model both computational and organisational
processes (i.e. workflows). Activity diagrams show the overall flow of control.
Activity diagrams are constructed from a limited number of shapes, connected with
arrows.The most important shape types:

rounded rectangles represent actions

diamonds represent decisions

bars represent the start (split) or end (join) of concurrent activities

a black circle represents the start (initial state) of the workflow

an encircled black circle represents the end (final state)


Arrows run from the start towards the end and represent the order in which activities

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.

Dept. Of Computer Science &Engg.

26

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Diagram

Fig 3.4 Activity diagram


Description
Activity diagrams, which are related to program flow plans (flowcharts), are used to illustrate
activities. In the external view, we use activity diagrams for the description of those business
processes that describe the functionality of the business system.Contrary to use case
diagrams, in activity diagrams it is obvious whether actors can perform business use cases
together or independently from one another.

Dept. Of Computer Science &Engg.

27

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

4.4

DATA FLOW DIAGRAM

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.

Dept. Of Computer Science &Engg.

28

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

29

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

30

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Level 0: KMS

Fig 4.1 DFD Level 0


Description
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.

Dept. Of Computer Science &Engg.

31

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Level 1: User Interaction

Fig 4.2 DFD Level 1

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.

Dept. Of Computer Science &Engg.

32

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Level 3: User Home Page Processing Searching

Fig 4.3 DFD Level 3


Description
The user can search topic details in the KMS by inputing the topics in the search
bar.If the contents are available in the repository it will display the contents else it will print
as no contents found.

Dept. Of Computer Science &Engg.

33

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

4.5

DATABASE TABLES

Artifact

Table 2.1 Artifact


Group

Table 2.2 Group

Dept. Of Computer Science &Engg.

34

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

User

Table 2.3 User


Permission

Table 2.4 Permission

Dept. Of Computer Science &Engg.

35

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Category

Table 2.5 Category


Role

Table 2.6 Role


Author

Table 2.7 Author

Dept. Of Computer Science &Engg.

36

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

37

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

Fig 5.1 ER Diagram

Dept. Of Computer Science &Engg.

38

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

IMPLEMENTATION

Dept. Of Computer Science &Engg.

39

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

LANGUAGES AND PLATFORM USED


The product is developing in Java environment and we are using MySQL for

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

Dept. Of Computer Science &Engg.

40

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Dept. Of Computer Science &Engg.

41

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

42

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

43

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

5.2 SCREEN SHOTS


5.2.1 Login page

Fig 6.1 Login Page

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.

Dept. Of Computer Science &Engg.

44

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

5.2.2 Sign up page

Fig 6.2 Sign up page

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.

Dept. Of Computer Science &Engg.

45

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

5.2.3 Home Page

Fig 6.3 Home page

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.

Dept. Of Computer Science &Engg.

46

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

5.2.4 Help Page

Fig 6.4 Help page

Fig 6.5 Help page

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.

Dept. Of Computer Science &Engg.

47

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

5.2.5 More about KMS

Fig 6.6 More about KMS

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.

Dept. Of Computer Science &Engg.

48

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

TESTING

Dept. Of Computer Science &Engg.

49

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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:

If the testing conducted successfully, it will uncover errors in the software. As a


secondary benefit, testing demonstrates that the software functions appear to be working
according to specification and that performance requirements appear to have been satisfied.

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.

Dept. Of Computer Science &Engg.

50

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

51

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

6.2.1 BLACK BOX TESTING

It focuses on the functional requirements of the software. Applied during the later stages
of testing.

Applied to find the errors in the following categories.

Incorrect or missing functions

Interface errors

Errors in data structures

Performance errors

Programming knowledge not required for this testing.

6.2.2 WHITE BOX TESTING

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:

Internal logic of the program

Status of the program.

Programming knowledge is required for this type of testing.

Dept. Of Computer Science &Engg.

52

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Table 3.1 Login


MODULE UNDER TEST: KMS SERVER
SL

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

Table 3.2 KMS Server

Dept. Of Computer Science &Engg.

53

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

MODULE UNDER TEST: DATABASE

SL

TEST CASES

NO

EXPECTED

ACTUAL

TEST

OUTPUT

OUTPUT

RESULT

Input user information

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

Table 3.3 Database


MODULE UNDER TEST: DEDUPLICATION
SL NO

TEST CASES

Add

new Successful

content

Entry

Add old content

Error message

Table 3.4 Deduplication

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

Dept. Of Computer Science &Engg.

54

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

the development process to determine whether it satisfies specified business requirements.


Validation Testing ensures that the product actually meets the client's needs. It can
also be defined as to demonstrate that the product fulfills its intended use when deployed on
appropriate environment.
It answers to the question, Are we building the right product?

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.

Dept. Of Computer Science &Engg.

55

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

Dept. Of Computer Science &Engg.

56

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

6.7

TEST REPORTS
The tests are conducted properly by defining the test cases and proper results are

obtained. The application produces error free output.

Table 4.1 Test Reports

Dept. Of Computer Science &Engg.

57

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

CONCLUSION

Dept. Of Computer Science &Engg.

58

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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.

So college knowledge management system is

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.

Dept. Of Computer Science &Engg.

59

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

FUTURE SCOPE

Dept. Of Computer Science &Engg.

60

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

8. FUTURE SCOPE
This

system

provides

the detail

structure of

the college campus and

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.

Dept. Of Computer Science &Engg.

61

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

REFERENCES

Dept. Of Computer Science &Engg.

62

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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]

Dept. Of Computer Science &Engg.

63

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

APPENDIX

SAMPLE PROGRAM CODE: JAVA


Login
<%@ page import ="java.sql.*" %>
<%
String userid = request.getParameter("uname");
String pwd = request.getParameter("pass");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/study",
"root", "admin");
Statement st = con.createStatement();
ResultSetrs;
rs = st.executeQuery("select * from members where uname='" + userid + "' and pass='" +
pwd + "'");
if (rs.next()) {
session.setAttribute("userid", userid);
//out.println("welcome " + userid);
//out.println("<a href='logout.jsp'>Log out</a>");
response.sendRedirect("success.jsp");
} else {
out.println("Invalid password <a href='kms.jsp'>try again</a>");
}
%>

Dept. Of Computer Science &Engg.

64

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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");
}
%>

Dept. Of Computer Science &Engg.

65

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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;

Dept. Of Computer Science &Engg.

66

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

height:300px;
width:100px;
float:left;
padding:10px;
color:white;

border-right: 1em solid purple;

}
#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">

Dept. Of Computer Science &Engg.

67

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

<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>

Dept. Of Computer Science &Engg.

68

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

<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">

<h2>Welcome to CEC knowledge management system.</h2>


<p>
CEC knowledge management system provides with the useful information closed to our
college.
</p>
<p>
We hope that you will enjoy using KMS.
</p>

</div>
</body>
<div id="footer">
<font color="white" size="5">
<marquee>Send your feedback to ceckms@gmail.com</marquee></font>

</div>
</html>

Dept. Of Computer Science &Engg.

69

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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>

Dept. Of Computer Science &Engg.

70

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

<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>

Dept. Of Computer Science &Engg.

71

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

</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>

<h1><font color=" darkgoldenrod"> Want to know more about KMS???</font>


</h1>

<font color="crimson" size="5">

Dept. Of Computer Science &Engg.

72

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

<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;

Dept. Of Computer Science &Engg.

73

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

ServletContext context = pageContext.getServletContext();


String filePath = context.getInitParameter("file-upload");

// Verify the content type


String contentType = request.getContentType();
if ((contentType.indexOf("multipart/form-data") >= 0)) {

DiskFileItemFactory factory = new DiskFileItemFactory();


// maximum size that will be stored in memory
factory.setSizeThreshold(maxMemSize);
// Location to save data that is larger than maxMemSize.
factory.setRepository(new File("c:\\temp"));

// Create a new file upload handler


ServletFileUpload upload = new ServletFileUpload(factory);
// maximum file size to be uploaded.
upload.setSizeMax( maxFileSize );
try{
// Parse the request to get file items.
List fileItems = upload.parseRequest(request);

// Process the uploaded file items


Iterator i = fileItems.iterator();

out.println("<html>");
out.println("<head>");
out.println("<title>JSP File upload</title>");
out.println("</head>");
out.println("<body>");
while ( i.hasNext () )
{

Dept. Of Computer Science &Engg.

74

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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>");

Dept. Of Computer Science &Engg.

75

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

out.println("<body>");
out.println("<p>No file uploaded</p>");
out.println("</body>");
out.println("</html>");
}
%>

More about KMS


<%@ 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>how to use kms</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>

<style>

#footer {
height:30px;
background-color:white;

Dept. Of Computer Science &Engg.

76

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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>

Dept. Of Computer Science &Engg.

77

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

<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>

<h1><font color="darkgoldenrod">How can we help you ??</font> </h1>


<h2><font color="chocolate">How to add contents:</font></h2>
<ul style="color:crimson">
<ul style="list-style-type:none">
<li>KMS allows users to add contents / upload files to the system.</li>
<li>Users can add ppt,pdf or images.</li>
<li>Follow the following steps to add /upload files :</li>
<li>1. Select the ARTICLE from the menu bar in the home page</li>
<li>2. The above selection will lead you to a page where you can upload contents.</li>
<li>3. Select browse button which allows you to select the folder which contains files.</li>
<li>4. Select the file and upload it.</li>
</ul>
</ul>
<h2><font color="chocolate">How to search topics:</font></h3>
<ul style="color:crimson">
<ul style="list-style-type:none">
<li>KMS allows you to search various topics related to various categories.</li>
<li>Users can either search in the search bar provided in the home page or else can search
topics on category wise.</li>
<li>1. Select category from the main menu provided in the home page.</li>

Dept. Of Computer Science &Engg.

78

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

<li>2. category provides various department,select the department/course which you


want.</li>
<li>3. The above procedure will lead you to another category selection ,select any one.</li>
<li>4. In the current page it provides a search bar which allows you to search the
content.</li>
<li>5. You can either view or helps you to download from it.</li>
</ul></ul>
<div id="footer">
<font color="darkgoldenrod" size="5">
<marquee>Send your feedback to "ceckms@gmail.com"</marquee></font>
</div>
</body>
</html>

Dept. Of Computer Science &Engg.

79

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

INDEX
A

Activity Diagram 27

Languages and platform 40

Appendix 64

Life cycle model 7

Level 0 DFD 31

Behavioural feasibility 9

Level 1 DFD 32

Black Box testing 52

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

Data flow diagram 28

Proposed system 5

Existing system 5

Reference 46

Economic feasibility 8

Screen shot 44

Feasibility study 8

Sequence diagram 23

Functional requirement 13

System requirement specification 12

Future scope 60

Software quality attributes 14

System analysis 4

Gantt chart 9

System modules 18

System overview 17

Hardware requirements 15

System testing 56

System design 4

Implementation 39

Dept. Of Computer Science &Engg.

80

College Of Engg.,Cherthala

College Knowledge Management System

Mini Project Report 2014-2015

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

Dept. Of Computer Science &Engg.

81

College Of Engg.,Cherthala

You might also like