college knowledge management system

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

Upload: amalj2255

Post on 15-Nov-2015

18 views

Category:

Documents


0 download

DESCRIPTION

College knowledge management system provides with the useful information that should be followed during a process.

TRANSCRIPT

  • 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

    1 System Architecture 6

    2 Gantt Chart 9

    3 Class Diagram 21

    4 Use case Diagram 23

    5 Sequence Diagram 25

    6 Activity Diagram 27

    7 DFD Level 0 31

    8 DFD Level 1 32

    9 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

    1 COCOMO Model 11

    2 Artifact 34

    3 Group 34

    4 User 35

    5 Permission 35

    6 Category 36

    7 Role 36

    8 Author 36

    9 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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 1 College Of Engg.,Cherthala

    INTRODUCTION

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 2 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 3 College Of Engg.,Cherthala

    SYSTEM ANALYSIS

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 4 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 5 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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 6 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.

    Fig 1.1 System architecture

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 7 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 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 8 College Of Engg.,Cherthala

    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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 9 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.

    Fig 2.1 Gantt chart

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 10 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

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 11 College Of Engg.,Cherthala

    The coefficients ab, bb, cb and db are given in the following table.

    Software project a b c d

    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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 12 College Of Engg.,Cherthala

    SYSTEM REQUIREMENT

    SPECIFICATION

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 13 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 14 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 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 15 College Of Engg.,Cherthala

    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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 16 College Of Engg.,Cherthala

    SYSTEM DESIGN

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 17 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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 18 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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 19 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 list = newLinkedList()

    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 SetsetToReturn = newHashSet()

    2.2 final Set set1 = newHashSet()

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 20 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 21 College Of Engg.,Cherthala

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

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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 22 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 23 College Of Engg.,Cherthala

    Diagram

    Fig 3.2 Use case diagram

    Description

    Use case diagram in the Unified Modeling language (UML) is a type of behavioral di-

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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 24 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 25 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 26 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 27 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 28 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 29 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 30 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 31 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 32 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 33 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 34 College Of Engg.,Cherthala

    4.5 DATABASE TABLES

    Artifact

    Table 2.1 Artifact

    Group

    Table 2.2 Group

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 35 College Of Engg.,Cherthala

    User

    Table 2.3 User

    Permission

    Table 2.4 Permission

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 36 College Of Engg.,Cherthala

    Category

    Table 2.5 Category

    Role

    Table 2.6 Role

    Author

    Table 2.7 Author

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 37 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 38 College Of Engg.,Cherthala

    Fig 5.1 ER Diagram

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 39 College Of Engg.,Cherthala

    IMPLEMENTATION

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 40 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 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 program-

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

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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 41 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 platform-

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

    trusted 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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 42 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 43 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 44 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 45 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 46 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 47 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 48 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 49 College Of Engg.,Cherthala

    TESTING

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 50 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:

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 51 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 52 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 53 College Of Engg.,Cherthala

    TEST RESULT

    MODULE UNDER TEST:LOGIN

    Table 3.1 Login

    MODULE UNDER TEST: KMS SERVER

    SL

    NO

    TEST CASES EXPECTED

    OUTPUT

    ACTUAL

    OUTPUT

    TEST

    RESULT

    1 Searching Allow search Allowed search Success

    2 Conent addition Upload Upload Success

    3 Forum Add comments Add comments Success

    4 Help Help page Help page Success

    Table 3.2 KMS Server

    SL NO TEST CASE EXPECTED

    OUTPUT

    ACTUAL

    OUTPUT

    TEST

    RESULT

    1 Correctuname+

    correct password

    Successful

    Login

    Successful

    Login

    Success

    2 Correctuname+

    Inorrectpassword

    Error message Error message Success

    3 Incorrectuname+

    Correctpassword

    Error message Error message Success

    4 Incorrectuname+

    Incorrectpassword

    Error message Error message Success

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 54 College Of Engg.,Cherthala

    MODULE UNDER TEST: DATABASE

    Table 3.3 Database

    MODULE UNDER TEST: DEDUPLICATION

    SL NO TEST CASES EXPECTED

    OUTPUT

    ACTUAL

    OUTPUT

    TEST

    RESULT

    1 Add new

    content

    Successful

    Entry

    Successful entry Success

    2 Add old content Error message Error message Success

    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

    SL

    NO

    TEST CASES EXPECTED

    OUTPUT

    ACTUAL

    OUTPUT

    TEST

    RESULT

    1 Input user information Enter to DB Entered to DB Success

    2 Content addition Enter to DB Entered to DB Success

    3 Searching Display content Display content Success

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 55 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

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 56 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 57 College Of Engg.,Cherthala

    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

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 58 College Of Engg.,Cherthala

    CONCLUSION

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 59 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. 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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 60 College Of Engg.,Cherthala

    FUTURE SCOPE

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 61 College Of Engg.,Cherthala

    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.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 62 College Of Engg.,Cherthala

    REFERENCES

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 63 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]

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 64 College Of Engg.,Cherthala

    APPENDIX

    SAMPLE PROGRAM CODE: JAVA

    Login

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 65 College Of Engg.,Cherthala

    Registration

    0) {

    //session.setAttribute("userid", user);

    response.sendRedirect("welcome.jsp");

    // out.print("Registration Successfull!"+"Go to Login");

    } else {

    response.sendRedirect("kms.jsp");

    }

    %>

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 66 College Of Engg.,Cherthala

    Home

    KMS HOME

    $(document).ready(function () {

    $('.menu').jqsimplemenu();

    });

    #header {

    background-color:purple;

    color:white;

    text-align:center;

    padding:5px;

    }

    #nav {

    line-height:30px;

    background-color:lightgray;

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 67 College Of Engg.,Cherthala

    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;

    }

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 68 College Of Engg.,Cherthala

    WELCOME TO KMS!!!

    Home

    Articles

    View Articles

    Content Addition

    Category

    Depatment

    CSE

    ECE

    EEE

    Other

    About

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 69 College Of Engg.,Cherthala

    Help

    Task

    Operation failed

    Forum

    Logout

    Welcome to CEC knowledge management system.

    CEC knowledge management system provides with the useful information closed to our

    college.

    We hope that you will enjoy using KMS.

    Send your feedback to [email protected]

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 70 College Of Engg.,Cherthala

    Content addition

    File Uploading Form

    File Upload:

    Select a file to upload:

    Help

    What is kms?

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 71 College Of Engg.,Cherthala

    $(document).ready(function () {

    $('.menu').jqsimplemenu();

    });

    #footer {

    height:30px;

    background-color:white;

    color:white;

    clear:both;

    text-align:center;

    padding:5px;

    }

    Home

    Articles

    View Articles

    Content Addition

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 72 College Of Engg.,Cherthala

    Category

    Depatment

    CSE

    ECE

    EEE

    Other

    About

    Help

    Task

    Operation failed

    Forum

    Logout

    Want to know more about KMS???

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 73 College Of Engg.,Cherthala

    KMS provides an opportunity to aware more about the closed information of college of

    engineering,cherthala.

    Allows to search topics related to your courses,procedures to be followed during a

    process and all your related doubts.

    It also provides the users to upload files to the KMS.

    notification in their phone upon adding a new content to KMS.

    Users can search contents in the search bar provided in the home page of KMS

    Send your feedback to "[email protected]"

    Upload file

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 74 College Of Engg.,Cherthala

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

    out.println("");

    out.println("JSP File upload");

    out.println("");

    out.println("");

    while ( i.hasNext () )

    {

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 75 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 + "");

    }

    }

    out.println("");

    out.println("");

    }catch(Exception ex) {

    System.out.println(ex);

    }

    }else{

    out.println("");

    out.println("");

    out.println("Servlet upload");

    out.println("");

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 76 College Of Engg.,Cherthala

    out.println("");

    out.println("No file uploaded");

    out.println("");

    out.println("");

    }

    %>

    More about KMS

    how to use kms

    $(document).ready(function () {

    $('.menu').jqsimplemenu();

    });

    #footer {

    height:30px;

    background-color:white;

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 77 College Of Engg.,Cherthala

    color:white;

    clear:both;

    text-align:center;

    padding:5px;

    }

    Home

    Articles

    View Articles

    Content Addition

    Category

    Depatment

    CSE

    ECE

    EEE

    Other

    About

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 78 College Of Engg.,Cherthala

    Help

    Task

    Operation failed

    Forum

    Logout

    How can we help you ??

    How to add contents:

    KMS allows users to add contents / upload files to the system.

    Users can add ppt,pdf or images.

    Follow the following steps to add /upload files :

    1. Select the ARTICLE from the menu bar in the home page

    2. The above selection will lead you to a page where you can upload contents.

    3. Select browse button which allows you to select the folder which contains files.

    4. Select the file and upload it.

    How to search topics:

    KMS allows you to search various topics related to various categories.

    Users can either search in the search bar provided in the home page or else can search

    topics on category wise.

    1. Select category from the main menu provided in the home page.

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 79 College Of Engg.,Cherthala

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

    want.

    3. The above procedure will lead you to another category selection ,select any one.

    4. In the current page it provides a search bar which allows you to search the

    content.

    5. You can either view or helps you to download from it.

    Send your feedback to "[email protected]"

  • Mini Project Report 2014-2015 College Knowledge Management System

    Dept. Of Computer Science &Engg. 80 College Of Engg.,Cherthala