Sie sind auf Seite 1von 84

1.

Abstract

A Knowledge Management Portal integrates information, collaboration, process, and


expertise. Knowledge Management (KM) comprises a range of practices used by
organizations to identify, create, represent, and distribute knowledge for reuse, awareness
and learning. Knowledge Management programs are typically tied to organizational
objectives and are intended to achieve specific outcomes, such as shared intelligence,
improved performance, competitive advantage, or higher levels of innovation. The
conscious strategy of getting the right knowledge to the right people at the right time and
helping people share and put information into action in ways that strive to improve
organizational performance. Knowledge Management project deals with the creation of a
portal, which consists of say proposals, reusable components and general presentation
documents, newsletters, training program of vendors etc. The project helps to avoid effort
duplication and trains the employees with minimal cost. It helps in storing several
documents of a company under a single storage. It provides the facility for upload and
download of files such as technical, commercial and cost documents. It provides the facility
to post comments because of which communication between all the Employees is made
possible.

1
2. Introduction

2.1 Brief Overview About the Knowledge Management Portal

Knowledge Management project deals with the creation of a portal, using which all the
employees of a company can find relevant and important information under a single
storage. The only irreplaceable capital an organization possesses is the knowledge and
ability of its people. The productivity of that capital depends on how effectively people
share their competence with those who can use and this portal helps in achieving it. The
application will be utilized by company management for collecting, updating and
analyzing, selecting, preparing, editing the knowledge and will be utilized by the company
management to provide sophisticated training. The various user classes anticipated to use
Knowledge Management portal are trainees and the trainers. Trainees use this more
frequently in order to get updated with training sessions. Trainers are comparatively less
frequent users than trainees, they use it when they require delivering content or to clarify
the doubts presented by the trainees or to upload any information. The respective privileges
are given to the trainees and trainers according to their functions.

1.

2.2 Advantages

• It is a free of cost service provided to all the employees of the company to update
their knowledge and share their experiences.
• The system is password protected and the overall system maintenance is quite easy.
• The system avoids effort duplication and makes the training program less tedious.

2
3. System Analysis

System analysis is a detailed study of various operations performed by a system and their
relationships within and outside the system. It deals with defining the boundaries of the
system and determining whether or not candidate systems should consider other related
systems. For analysis, data is collected from available fields, decision points and
transactions handled by the present system.

3.1 Study of the Existing System

Businesses now have to access a variety of information channels. They get locked within
this sea of information, which is dispersed and unorganised. Hence, it is crucial to create a
portal where knowledge and ideas are received, summarised, clarified and compared.
Training the employees and analyzing their performance is one of the most arduous and
cost involved tasks. Hence it is necessary to make this less burdensome.

3.2 The Proposed System

The main aim of the project is creation and sharing of knowledge. The project deals with
the creation of portal, which stores several documents such as proposals, products,
newsletters, training programs of vendors etc of a company under a single storage. This
project avoids effort duplication and trains the employees with minimal cost. The proposed
system helps the employees to stay in touch with the latest happenings and get their
technical as well as general knowledge updated. The lessons present in the portal will be of
immense use for the employees undergoing the training.

3
3.2.1 Major Functions of the Proposed System

• Authentication and Authorization.


• Registration of new employee.
• Uploading/Downloading content
• Knowledge Sharing.
• Online Examination.
• Creation of the Lesson.
• View the Lesson.
• View interview tips.
• Rate the lesson.
• View Latest News.
• Edit the latest news.

3.2.2 Constraints on the Existing System

• The portal will not be responsible for misuse of the content by the Employees of the
company.
• Only Authorized persons who are registered with the site should only be permitted
to use this Site so as misrepresentation of secure data is not done.
• Safety and security considerations: Some of the characteristics of the safety critical
operation are the performing of
I. D
atabase integrity checking with each read and write operation into a database.
II. R
ange checking.
III. C
ontinuous checking of the hardware and problem logging.

4
IV. E
liminate data redundancy.
V. D
atabase information validation.
VI. H
ardware validation.

3.3 Module Description

The Knowledge management portal consists of three modules.

3.3.1 Authentication Module

Authentication is the process of determining whether someone or something is, in fact, who
or what it is declared to be. In private and public computer networks (including the
Internet), authentication is commonly done through the use of logon passwords.
Knowledge of the password is assumed to guarantee that the user is authorized. As the
portal contains sensitive information about the company that should not be viewed by users
other than the company employees care should be taken that only the authorized employees
of the company get registered with the site. This is achieved by asking the employee to
enter a secret code given by the organization before getting registered. Only if the entered
code is proven to be correct, he can go ahead with the registration process else his
registration request is denied. Even after the entered code is correct and the user enters all
the registration details, access is provided only after verifying and validating information
provided in the registration form by the administrator.

3.3.1.1 Functionalities:

Following functionalities need to be made available before the Authentication takes place:

• Incorrect Password:

5
This may be a scenario when a registered User may forget the password and may
not be in a position to login, in which cases the user can make another attempt.

• Registration of New User:

This may be required in a scenario when an employee is newly appointed.

• Password Prompts:

User will be prompted with a success message or rejected message accordingly.


This may be required for security reasons to ensure protection of the account.

3.3.2 Information and Knowledge Sharing Module

List of all projects/products that the organization has handled can be viewed and their
technical, commercial and other documents can be viewed which makes the employees get
trained on them. They can Upload / Download Files. With this reusability of code can be
done. The employees can post a Query/Share his experience/reply to someone’s queries.
With this knowledge sharing as well as communication between the employees and others
will be achieved.

3.3.2.1 Functionalities:

• Upload files:

An authenticated person (Trainer) is given the access to upload the content, which
gets stored in the Knowledge Bank. Knowledge bank is a huge database where all the
information related to company is stored.

• Download files:

6
An authenticated person (trainer) can view the content present in the knowledge bank
by downloading the lessons he is authorized to.

• Knowledge Sharing:

All the employees can share any kind of information or their opinions and increase
their technical skills.

• Online Examination:

This feature is exclusively meant for the trainees. After going through the lessons in
the portal, he may wish to test his level of understanding. This can be achieved by
taking an online exam.

• Create Lesson:

An authenticated experienced person (trainer) can prepare the necessary lessons by


selecting the information present in the knowledge bank.

• View Lesson:

All the employees can view the lessons created by their colleagues.

3.3.3 Knowledge Analytics Module

Rating of knowledge is implemented in this module. These analytic reports enable the
administrator to provide remuneration/rewards to the author. Here one can also know the
latest news in the organization through News Latest option and post their opinions.

3.3.3.1 Functionalities:

• Rating:
7
In this section, all the trainees are given the privilege to rate the lesson created by
their respective trainer. Depending upon these reports, the Source/Author of the
content is provided remuneration/rewards.

• Latest News:

This feature enables the employees of the company to be updated with the latest
happenings in and around the world including their company. This helps the
employee to enhance their general knowledge as well.

• Update News:

Only Administrator will have the right to delete the unnecessary news and add the
New ones.

• Annotation:

All the employees are given the freedom to post their opinions and share their
experiences.

• Interview Tips:

The portal has an additional feature where in all its users can have a glance at the latest
questions being posed at the interviews and thereby prepare oneself for the future.

3.4 Assumptions and Dependencies

8
It is assumed that all the systems will have the basic HW, SW and Communication
Interfaces available for the deployment of the application. The users are trained in using the
application.

4. Feasibility Analysis

The feasibility analysis is designed to determine whether or not, given the project
environment, a project will be successful (in virtually any interpretation of that word).
In other words, feasibility analysis is the measure of how beneficial or practical the
development of information system will be to an organization. A feasibility analysis
should examine three main areas:

• Ease of operation.
• Financial overview.
• Technical requirements.

4.1 Operational Feasibility

It refers to the feasibility of the product to be operational. In this the operation scope of the
system is checked. The operational scope means, how well the system can perform the
operations that are assigned to it, how can the users use the system in an efficient manner
and how easily can the system be used by different users .It is observed that the proposed
system is very user friendly and has all the features mentioned above.

4.2 Financial Overview

It deals with establishing the cost-effectiveness of the proposed system i.e. if the benefits
do not outweigh the costs then it is not worth going ahead. The proposed system does not
9
require any special software technologies to be developed whose cost is huge. The
technologies and the hardware used in the development are the most popular ones, which
can be acquired by anyone, and moreover they promise portability, security, reliability and
easy maintainability.

4.3 Technical Requirements

The technologies and the standard used for the development of the project are as follows:

4.3.1 Dot Net Technology

It is a Microsoft operating system platform that incorporates applications, a suite of tools


and services and a change in the infrastructure of the company's Web strategy.
There are four main principles of .NET from the perspective of the user:
(a) It erases the boundaries between applications and the Internet. Instead of
interacting with an application or a single Web site, .NET will connect the
user to an array of computers and services that will exchange and combine
objects and data.

(b) Software will be rented as a hosted service over the Internet instead of
purchased on a store shelf. Essentially, the Internet will be housing all where
applications and data.

(c) Users will have access to their information on the Internet from any device,
anytime, anywhere.

(d) There will be new ways to interact with application data, such as speech and
handwriting recognition.

4.3.1.1 Features Of Dot Net

Consistency

10
Using Master Page, Themes and using Cascaded Style Sheet feature of ADO.NET, one can
achieve this feature.

Personalization
This is done in regards with the Users taste. It may be in terms of colors, font size,
background colors, and look and feel with respect t the application. After gathering
requirements from the user by making use of and using Themes, Skin and Cascaded Style
Sheet feature of ADO.NET we can achieve personalization.

Themes and skins


These are new feature of ASP. Net. By this way you can customize your sites look and feel.
Like the master pages they also improve the maintainability of your site and avoid
unnecessary duplication of code for shared style.

A theme is a collection of property settings that allow you to define the look of pages and
controls, and then apply the look consistently across pages in a Web application, across an
entire Web application, or across all Web applications on a server.

A skin file has the file name extension. Skin and contains property settings for individual
controls such as Button, Label, Textbox, or Calendar controls. Control skin settings are like
the control markup itself, but contain only the properties you want to set as part of the
theme.

Tools for Navigation

Every site requires tools for navigation. The List of Navigation tools available in .NET
is as follows:

Menu Pull down / Drop down menu

11
Fig 4.1 Menu control for navigation

Tree View These are structured links. User can know where they are currently located.

Fig 4.2 Tree View control for navigation

Breadcrumbs Renders tabs indicating parent and current web page.

Fig 4.3 Breadcrumbs control for navigation

12
The new Site Navigation features in ASP.NET 2.0 can make building navigation structures
across a web-site much easier.
At a high-level, the new Site Navigation features allow you to define (outside of code or
pages) the “site map” structure of how your site is laid out. Specifically, it allows you to
define the relationships between pages on the site – what is the “home” entry-point, what
are the sub-sections of it, and how individual pages fit within it. This information is cached
by ASP.NET, and you can then get access to this sitemap structure at runtime.

ASP.NET includes a basic built-in XML based SiteMap provider that allows you to define
this site structure within an XML file whose default name is “web.sitemap” (note: you can
change the name if you want). For example, web.sitemap XML file can contain several
levels of hierarchy (a homepage root, then three sub-nodes, and under the products node
three additional sub-nodes).

Security
In .NET security considerations can be verified by carrying out authentication of entries,
password checking, password reminders and facility to create new users. It helps in
permitting authorized users and denies access to unauthorized users.

Wizard
. NET provides a wizard called as “Web Site Administrative Tools” which facilitates in the
• Database Providers
• Security Management – Provides security consideration like password and
username checking
• Roles Management – Which pages and folders a user is permitted to view.
With built in Windows authentication, you can be assured that your applications are secure.

Database controls
These controls are used to connect with the database and then retrieve, display or edit the
contents of the database. They can be categorized as:

Data Source Control


These offer the behavior of connecting to sources of data.

13
Examples of Data source Controls are SQL Data Source, Site Map Data Source, XML Data
Source, Object Data Source.

Data-bound Controls
These perform the task of taking information provided by Data Source Controls and render
it into HTML. Examples of Data Bound controls are Grid View, Data List, Details View,
Form View and Repeater.

Componentization
Code for the various parts of the page can be handled independently.
• Code for the presentation layer can be kept in a separate file i.e. ‘default.aspx’ file.
• Code for the execution is kept in a separate file i.e. ‘default.aspx.cs’ file.

Web Services

Web Services are methods of making information available in a standardized way that
could be accessed by any developer’s application over the web. A web service on its own
• Is not an application
• Can’t be seen as web pages.
• Can’t be seen as an .exe files.
• They come as part of user interface.
• Helps in preventing code duplication & thus save time.
• They can be created & exposed to web for other applications to share it or one can
search for web service to add to his own application.
• Web services conform to the Simple Object Access Protocol SOAP and Extensible
Markup Language XML

Deployment

• In the past series of steps were required to be carried out to register and configure
the site on the host machine.

14
• ASP .NET 2.0 has devised DOS XCOPY type of folder copying mechanism.
• This XCOPY deploys your site from the development machine to the deployment
host.
• All registration and machine level customizations occur automatically when the
first request hits the site.
• XCOPY/ FTP will suffice for simple applications – for more sophisticated
requirements it may well be preferable to create a Windows Installer based setup
package.
• There are many common installation tasks that are not possible via XCOPY, some
of which are
• Creating IIS web sites or virtual directories
• However, if you do need any of these you have Microsoft Windows Installer at your
disposal

4.3.1.2 Summary of ASP .NET

ASP.NET is a programming framework built on the common language runtime that can
be used on a server to build powerful Web applications. ASP.NET offers several important
advantages over previous Web development models:

Enhanced Performance:
ASP.NET is compiled common language runtime code running on the server.
Unlike its interpreted predecessors, ASP.NET can take advantage of early binding,
just-in-time compilation, native optimization, and caching services right out of the
box. This amounts to dramatically better performance before you ever write a line
of code.

World-Class Tool Support:


A rich toolbox and designer in the Visual Studio integrated development
environment complement the ASP.NET framework. Drag-and-drop server controls,
and automatic deployment are just a few of the features this powerful tool provides.

15
Power and Flexibility:
Because ASP.NET is based on the common language runtime, the power and
flexibility of that entire platform is available to Web application developers. The
.NET Framework class library, Messaging, and Data Access solutions are all
seamlessly accessible from the Web. ASP.NET is also language-independent, so you
can choose the language that best applies to your application or partition your
application across many languages.

Simplicity:
ASP.NET makes it easy to perform common tasks, from simple form submission
and client authentication to deployment and site configuration. For example, the
ASP.NET page framework allows you to build user interfaces that cleanly separate
application logic from presentation code and to handle events in a simple, Visual
Basic - like forms processing model. Additionally, the common language runtime
simplifies development, with managed code services such as automatic reference
counting and garbage collection.

Security:
With built in Windows authentication and per-application configuration, you can be
assured that your applications are secure.

Language Independency:
ASP.NET is language-independent, so you can choose the language that best applies
to your application or partition your application across many languages.
ASP .NET 2.0 supports more than 20 different languages.
Irrespective of language the code is converted to Intermediate Language prior to
execution.

4.3.2 SQL Server


SQL Server has many advanced features like:

Database mirroring
Database mirroring is a new high-availability feature in SQL Server 2005. It's similar to
server clustering in that fail over is achieved by the use of a stand-by server; the difference

16
is that the fail over is at the database level rather than the server level. The primary
database continuously sends transaction logs to the backup database on a separate SQL
Server instance. A third SQL Server instance is then used as a witness database to monitor
the interaction between the primary and the mirror databases.

Database snapshots
A database snapshot is essentially an instant read-only copy of a database, and it is a great
candidate for any type of reporting solution for your company. In addition to being a great
reporting tool, you can revert control from your primary database to your snapshot database
in the event of an error. The only data loss would be from the point of creation of the
database snapshot to the event of failure.

CLR integration
With SQL Server 2005, creation of custom .NET objects is possible with the database
engine. For example, stored procedures, triggers, and functions can now be created using
familiar .NET languages such as VB and C#. Exposing this functionality gives tools that
never had access to before such as regular expressions.

Service Broker
This feature gives the ability to create asynchronous, message-based applications in the
database entirely through TSQL. The database engine guarantees message delivery,
message order consistency, and handles message grouping. In addition, Service Broker
gives you the ability to send messages between different SQL Server instances. Server
Broker is also used in several other features in SQL Server 2005. For example, defining
Event Nonfictions in the database to send a message to a Queue in the database when
someone attempts to alter a table structure, of if there is a string of login failures.

DDL triggers
DDL triggers are defined at the server or database level and fire when DDL statements
occur. This gives the ability to audit when new tables, stored procedures, or logins are
created.

Ranking functions

17
SQL Server 2005 provides the ability to rank result sets returned from the database engine.
This allows customizing the manner in which result sets are returned, such as creating
customized paging functions for Web site data.

XML integration
SQL Server 2005 introduces the new XML data-type. Using this feature, full XML
documents in this new data-type, and validations can be placed on the well-formed
documents in the database. Additional enhancements include the ability to query the XML
documents and create indexes on the XML data-type.
TRY...CATCH
Use of new TRY...CATCH constructs in SQL Server 2005 helps to catch and handle
deadlocks when they occur in the database. This long-awaited feature simplifies error
handling in the database.

Database Mail
Database Mail, the eventual successor to SQL Mail, is a greatly enhanced e-mail solution
available in the database engine. With Database Mail, there is no longer a dependency on

Microsoft Outlook or MAPI e-mail clients. Database Mail uses standard SMTP to send e-
mail messages. These messages may contain query results, attachments (which can be
governed by the DBA), and is fully cluster aware. In addition, the e-mail process runs
outside of the database engine space, which means that messages can continue to be queued
even when the database engine has stopped.

Fast Recoveries
A new faster recovery option improves availability of SQL Server databases.
Administrators can reconnect to a recovering database after the transaction log has been
rolled forward.

Standards-based Information Access

18
Any object, data source, or business intelligence component can be exposed using
standards-based protocols such as Simple Object Access Protocol (SOAP) and Hypertext
Transfer Protocol (HTTP)—eliminating the need for a middle-tier listener, such as IIS, to
access a Web services interface that is exposed by SQL Server 2005.

Security Enhancements
The security model in SQL Server 2005 separate users from objects, provides fine-grain
access, and enables greater control of data access. Additionally, all system tables are
implemented as views, providing more control over database system objects.

Web Services
With SQL Server 2005 developers can develop Web services in the database tier, making
SQL Server a hypertext transfer protocol (HTTP) listener and providing a new type of data
access capability for Web services-centric applications.

T-SQL
T-SQL (Transact-SQL) is the primary means of programming and managing SQL Server. It
exposes keywords for the operations that can be performed on SQL Server, including
creating and altering database schemas, entering and editing data in the database as well as
monitoring and managing the server itself. Client applications, both which consume data or
manage the server, leverage SQL Server functionality by sending T-SQL queries and
statements which are then processed by the server and results (or errors) returned to the
client application. SQL Server allows it to be managed using T-SQL. For this it exposes
read only tables from which server statistics can be read. Management functionality is
exposed via system-defined stored procedures, which can be invoked from T-SQL queries
to perform the management operation.

Replication Monitor
With its intuitive user interface and wealth of data metrics, Replication Monitor is a tool
that sets a new standard for ease of use in managing complex data replication operations.

Cross-Tier and Cross-Language Debugging

19
SQL Server 2005 and Visual Studio 2005 together provide even deeper integration in the
area of application debugging. The combination lets you seamlessly debug both CLR and
Transact-SQL code using the same Visual Studio debugging interface, and enables you to
debug from CLR to Transact-SQL and back again, regardless of the location of the code,
whether it is on the developer computer or stored in the SQL Server database

4.3.3 Standards used

SCORM stands for "Shareable Content Object Reference Model", is a standard for
developing, packaging and delivering high-quality training materials for online training
Courses. We are following SCORM standards in our project. SCORM was developed
based on the concept of "using a common e-learning Standard to modernize education and
training courses". Now, with the SCORM standard, and more specifically SCORM
compliant tools/platforms, you can find, import, share, reuse and export learning contents
through compliant web-based learning systems.

The benefits of using SCORM standards are as follows:

Reusability
Lowers cost because learning contents can be used many times. SCORM incorporated
contents can be easily incorporated into multiple applications, allowing for learning
contents to be easily modified and used by different tools and platforms. This allows you to
spend less effort in creating new contents from scratch and focus more on incorporating
existing contents to meet the specific needs of the learner and corporation.

Accessibility
Increased access to learning information. The SCORM standard offers you the ability to
access learning contents from anywhere and at anytime. It enables you to customize the
delivery of your learning contents from one remote location and deliver them too many
other locations. It allows you to search, identify, access and retrieve contents that are
widely distributed in SCORM compliant repositories. This way, it is easier for learners to
identify, retrieve, and incorporate valuable content from many trusted sources.

20
Interoperability
Systems work efficiently together. SCORM provides an extension for compliant
courseware and similar tools/platforms to communicate under a common interface. With
consistent content production specifications, learning contents developed using one set of
tools/platform can be easily identified, and launched with a different set of tools/platform.
In other words, SCORM compliant learning contents can be authored and/or launched by
any SCORM compliant authoring tools and/or platforms, providing maximum flexibility.

Durability
Learning contents will not easily become obsolete. SCORM is becoming the technological
standard for the e-Learning industry because SCORM compliant contents are preserved and
portable even when base technology (tools/platform) changes. This means learning
contents do not need to go through a Redesign or redevelopment process, even when
technology changes (platforms, tools, Access, devices, products, vendors).

Manageability
A track of system usage and learning experience can be maintained. SCORM can keep
track of the learners' learning experiences and activities, and more Specifically how
learning objects are created, stored, assembled, and delivered to individuals. Also it
provides tracking based on an individuals learning assessment, which gives a better
evaluation reference for determining the learning results. Thus, corporations purchasing
SCORM compliant software (such as TCMS 2.0 or Stream Author 2.5) can better assess
their e-Learning environment and provide a more detailed measurement for their ROI.

4.4 Hardware and Software Requirements

4.4.1 Hardware Requirements

• Pentium 4 processor
• Minimum 256 MB memory

21
• 10 GB Hard disk
• Modem / Network card

4.4.2 Software Requirements

• Microsoft Windows XP Professional, Version 2002 or above


• C# with ASP.NET 2.0
• SQL server 2000 / 2005

5. System Design
5.1 Introduction
Systems design is the process or art of defining the architecture, components, modules,
interfaces, and data for a system to satisfy specified requirements. Once the software
requirements are analyzed and specified, the software design involves three technical
activities-- design, code generation and testing that are required to build and verify the
software. The design activities are of main importance in this phase because in this activity
decisions ultimately affecting the success of the software implementation and its ease of
maintenance are made. These decisions have the final bearing upon the reliability and
maintainability of the system. Design is the only way to accurately transfer the customer
requirements into a finished software or system.

5.2 UML Diagrams

UML, the Unified Modeling Language, is a visual language for specifying, constructing,
and documenting the artifacts of systems. UML can be used with all processes, throughout

22
the development lifecycle, and across different implementation technologies. UML
diagrams represent three different views of a system model:

Functional requirements view:

It emphasizes the functional requirements of the system from the user's point of view. This
includes use case diagrams.

Static structural view:

It emphasizes the static structure of the system using objects, attributes, operations, and
relationships. This includes class diagrams.

Dynamic behavior view:

It emphasizes the dynamic behavior of the system by showing collaborations among


objects and changes to the internal states of objects. This Includes sequence diagrams,
activity diagrams.

5.2.1 Use Case Diagrams

Use case diagrams overview the usage requirements for a system. They describe "the
meat" of the actual requirements.

5.2.1.1 Elements of a Use Case Diagram and their Notation

Use cases

A use case describes a sequence of actions that provide something of measurable value to
an actor and is drawn as a horizontal ellipse.

Watch

Fig 5.1 Sample use case

Actors

23
An actor is a person, organization, or external system that plays a role in one or more
interactions with your system. Actors are drawn as stick figures.

Fig 5.2 Actor

Relationships

A relationship between two use cases is basically a dependency between the two use cases.
Use case relationships can be one of the following:

• Include:

When a use case is depicted as using the functionality of another use case in a diagram,
this relationship between the use cases is named as an include relationship.

Fig 5.3 Include relationship between use cases

• Extend:

In an extend relationship between two use cases, the child use case adds to the existing
functionality and characteristics of the parent use case.
24
Fig 5.4 Extend relationship between use cases

• Generalization:

A generalization relationship is also a parent-child relationship between use cases. The


child use case in the generalization relationship has the underlying business process
meaning, but is an enhancement of the parent use case.

UseCas e1 UseCase2

Fig 5.5 Generalization relationship between use cases


Usecase1:

25
Authentication

Trainee

Information and
User Dat abase
Knowledge Sharing

Trainer

Analytics

5.6 Use case diagram of the Knowledge Management Portal

Usecase2:

26
Login

<<includes>>
Trainer

Registration
User Database

Trainee

Access to Services

5.7 Use case diagram of Module 1

Usecase3:

27
Company History

Latest News
Trainee

Interview Tips
Database

Knowledge Updation/
Trainer
Downloading

Knowledge Creation

5.8 Use case diagram of Module 2

Usecase4:

28
Online Exam

Rating Knowledge
Trainee

Annotations
Database

Knowledge Search
Trainer

5.9 Use case diagram of Module 3

5.2.2 Class Diagram

The purpose of the class diagram is to show the types being modeled within the system. A
class diagram is a pictorial representation of the detailed system designs.
29
5.2.2.1 Elements of a Class Diagram and their Notation

Class:

A class represents an entity of a given system that provides an encapsulated implementation


of certain functionality of a given entity. The class to others as methods exposes these. The
properties of a class are called attributes. A class is represented by a rectangle. The
following diagram shows a typical class in a class diagram:

Fig 5.10 Representation of a sample class

Relationships

Association:

When two classes are connected to each other in any way, an association relation is
established.

Fig 5.11 Association relationship between classes

Inheritance/Generalization:

Also called an "is a" relationship, because the child class is a type of the parent class.
Generalization is the basic type of relationship used to define reusable elements in the class
diagram.

30
Fig 5.12 Generalization relationship between classes

Authentication
EmployeeId
Emp Name
Designation Database
Salary
PlatForm
Interview Tips()
Latest News()
Registration()
Knowledge Bank()

Authorization

Updating()
Downloading()
Creation()

Services

View Lesson()
Rating()
Annotations()
Searching()
Online Examination()

5.13 Class diagram of the Knowledge Management Portal

5.2.3 Sequence Diagram

A Sequence diagram depicts the sequence of actions that occur in a system. 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.
31
5.2.3.1 Elements of a Sequence Diagram and their Notation

Object:

The primary element involved in a sequence diagram is an Object—an instance of a class.


An object is represented by a named rectangle. The name to the left of the ":" is the object
name and to its right is the class name.

Fig 5.14 Object in a sequence diagram

Message:

The interaction between different objects in a sequence diagram is represented as


messages. A directed arrow denotes a message. Depending on the type of message, the
notation differs. In a Sequence diagram, you can represent simple messages, special
messages to create or destroy objects, and message responses.

Fig 5.15 Messages in a sequence Diagram

Sequence Diagram 1:

32
U:User User Portal Database

1: Login/Registration
2: search for the req page
3: validate

4: Retrives the page

5: Enter the details


6: Submit()
7: validate

8: succefully logged in

Fig 5.16 Sequence diagram of Module 1

Sequence Diagram 2:

33
Fig 5.17 Sequence diagram of Module 2

Sequence Diagram 3:

34
User User Portal Service Engine DataBase

1: If User

2: Display Service

3: Select Service
4: Request Page 5: Search

6: Validate

7: Retrive the service

8: Searching Service
9: Request Page
10: Search
11: Validate
12: Retrive the Service

13: Annotations service


14: Request Page 15: Search
16: Validate

17: Retrive Service

18: If Trainee

19: Online Examination


20: Request Page 21: Search
22: Validate
23: Retrive Page

24: Rating
25: Request Page
26: Search
27: Validate

28: Retrive Page

Fig 5.18 Sequence diagram of Module 3

35
5.2.4 Activity Diagram

Activity diagrams are typically used for business process modeling, for modeling the logic
captured by a single use case or usage scenario, or for modeling the detailed logic of a
business rule.

5.2.4.1 Elements of an Activity Diagram and their Notation

Initial node
The filled in circle is the starting point of the diagram. An initial node isn’t required
although it does make it significantly easier to read the diagram.

Fig 5.19 Initial node in an activity diagram

Activity final node


The filled circle with a border is the ending point. An activity diagram can have zero or
more activity final nodes.

Fig 5.20 Final node in an activity diagram

Activity
The rounded rectangles represent activities that occur. An activity may be physical, such
as Inspect Forms, or electronic, such as Display Create Student Screen.

Fig 5.21 Activity

Flow/edge
Arrows on the diagram denote them.

36
Decision
A diamond with one flow entering and several leaving denotes it. The flows leaving
include conditions although some modelers will not indicate the conditions if it is obvious.

Fig 5.22 Decision


Activity Diagram 1:

User Validate DataBase

U:User

Login/Registration

Invalid user

Check Valid User or not


Valid User
Access System

Fig 5.23Activity diagram of Module 1

37
Activity Diagram 2:

Fig 5.24 Activity diagram of Module 2

38
Activity Diagram 3:

Fig 5.25 Activity diagram of Module 3

39
5.3 Architecture Diagram

The architecture of a software system defines its structure. In fact, it defines several
structures, each of which comprises elements and the relationships among those elements.
The elements may be computational entities related by control flow or business entities
connected by semantic constraints. It is a multi-perspective, quality-based approach to
ensuring that software is built to fit its purpose.
The architecture below explains the complete flow of the project:

Fig 5.26 Architecture diagram of Knowledge Management Portal

5.4 Database Tables Used for The Design

Database tables are used to organize and group the data by common characteristics
or principles. The database can contain as many tables as needed to organize the
data. Database tables involved in this project for storing and retrieving the
data/information are as following:

40
5.4.1 Employee Table

This table is used to store the details of the employees registered with the portal.

5.4.2 KBank Table

This table is used to store all the files pertaining to all the departments. All the files have a
unique content Id to identify them.

5.4.3 Lesson Table

This table contains the details of the lessons created by the trainers.

41
5.4.4 Ratings Table

This table stores the details of the ratings given by the employees.

5.4.5 DNQuestionBank Table

This table consists of the questions to be presented in the online exam for the trainee
belonging to Dot net department.

5.4.6 JQuestionBank Table

This table consists of the questions to be presented in the online exam for the trainee
belonging to Java department.

42
5.4.7 OraQuestionBank Table

This table consists of the questions to be presented in the online exam for the trainee
belonging to oracle department.

5.4.7 News Table

This table stores the headlines as well as the detailed news to be presented in the news
section.

5.4.8 Comments Table

This table is used to store the details of the comments posted by the employees in the
annotations section.

43
6. Testing

In general, testing is finding out how well something works. In computer hardware and
software development, testing is used at key checkpoints in the overall process to
determine whether objectives are being met. For example, in software development,
product user representatives test product objectives. When the design is complete, coding
follows and each programmer tests the finished code at the unit or module level, at the
component level by the group of programmers involved; and at the system level when all
components are combined together. At early or late stages, a product or service may also be
tested for usability. Software testing is a critical element of software quality assurance and
represents the ultimate review of specification design and code generation.

6.1 Testing Objectives

• Testing is a process of executing a program with the intent of finding an error.


• A good test case is one that has a high probability of finding an as yet undiscovered
error.
• A successful test is one that uncovers an as yet undiscovered error.

6.2 White -Box and Black-Box Testing

Software testing methods are traditionally divided into black box testing and white box
testing. These two approaches are used to describe the point of view that a test engineer
takes when designing test cases.

6.2.1 White –Box Testing

White box testing is a security testing method that can be used to validate whether code
implementation follows intended design, to validate implemented security functionality,
and to uncover exploitable vulnerabilities. White box testing is performed based on the
knowledge of how the system is implemented. White box testing includes analyzing data
flow, control flow, information flow, coding practices, and exception and error handling

44
within the system, to test the intended and unintended software behavior. White box testing
requires access to the source code.
Using white-box testing we can derive test cases that
• Guarantee that all independent paths within a module have been exercised at least
once.
• Exercise all logical decisions on their true and false sides.
• Execute internal data structures to assure their validity.
By the test cases each of the modules have been executed at least once and tested for bugs.
All the logic decisions on their true and false sides are executed so that the system will
perform well.

6.2.2 Black –Box Testing

Black box testing is based on the software’s specifications or requirements, without


reference to its internal workings. Black box testing attempts to derive sets of inputs that
will fully exercise all the functional requirements of a system. This type of testing attempts
to find errors in the following categories:
• Incorrect or missing functions.
• Interface errors.
• Errors in data structures or external database access.
• Performance errors
• Initialization and termination errors.
All the modules have been thoroughly tested in order to find if all the functions,
interfaces designed for the user, all the data structures used are working as per the
intended requirement.

6.3 Unit Testing

Unit testing is a procedure used to validate that individual units of source code are working
properly. This would test the interaction of many functions but confine the test within one
unit. Unit testing involves only those characteristics that are vital to the performance of the
unit under test. This encourages developers to modify the source code without immediate
concerns about how such changes might affect the functioning of other units or the program

45
as a whole. Unit testing must be done with an awareness that it may not be possible to test a
unit for every input scenario that will occur when the program is run in a real-world
environment.

Keeping in mind the above rules, each and every module of our project was tested
individually and seen that all the modules are working in an error-free manner.

6.4 Integration Testing

Integration testing is a logical extension of unit testing. In its simplest form, two units that
have already been tested are combined into a component and the interface between them is
tested. A component, in this sense, refers to an integrated aggregate of more than one unit.
Integration testing can expose problems with the interfaces among program components
before trouble occurs in real-world program execution. Simulated usage of shared data
areas and inter-process communication is tested and individual subsystems are exercised
through their input interfaces.

After testing the individual modules, we have combined all the modules and tested if all the
modules as a whole are working properly or not.

6.5 System Testing

System testing of software or hardware is testing conducted on a complete, integrated


system to evaluate the system's compliance with its specified requirements. System testing
falls within the scope of black box testing, and as such, should require no knowledge of the
inner design of the code or logic. As a rule, system testing takes, as its input, all of the
"integrated" software components that have successfully passed integration testing and also
the software system itself integrated with any applicable hardware system(s). The purpose
of integration testing is to detect any inconsistencies between the software units that are
integrated together (called assemblages) or between any of the assemblages and the
hardware. System testing is a more limiting type of testing; it seeks to detect defects both
within the "inter-assemblages" and also within the system as a whole.

46
7. Implementation
All the front-end pages are created using ASP. Net. The users can access most of the
services offered by the portal only when they log in. So, both the trainers and the trainees
must become members of the portal. As the portal contains sensitive information about the
company that should not be viewed by users other than the company employees, care
should be taken that only the authorized employees of the company get registered with the
site. This is achieved by asking the employee to enter a secret code given by the
organization before getting registered. Only if the entered code is proven to be correct, he
can go ahead with the registration process else his registration request is denied. This is to
ensure that additional security is provided. Once filling in the registration details is
completed, the details are stored in the database after proper verification by the
administrator. Here the freedom of choosing the user id is given to the employee himself. A
check is made in order to see if the user id already exists. If so, the employee is asked to
enter another one else he get registered with the given id. Here, constraint checking is made
on certain fields to ensure that the data he is entering is valid and meaningful. The data
entered by the employee is stored in the database using SQL server after proper
verification.

After successful login, the user will be directed to the ‘home page’. At the time of login his
category i.e. whether he is a trainer or trainee or admin is stored and this category acts as a
criteria in enabling different services to different classes of users. All the services offered
by the portal are present in the form of buttons, which are enabled, or disabled depending
upon the category of the user signed in. Clicking on the buttons will direct the user to the
appropriate pages.

If the user is a trainer, he will be given the privilege to create lessons from the files present
in the knowledge bank. For this activity to be performed, the documents he wishes to be
present in the lesson must be first updated in the knowledge bank. The provision of
updating and viewing the contents present in the knowledge bank is given only to the
administrator and the trainer. The trainer of a particular department is allowed to create
lessons pertaining to that department only. This particular feature is implemented by
displaying only the contents pertaining to his department only while creating the lessons.
47
T
he trainee is restricted to create lessons and view the content in the knowledge bank. The
trainees can view the lessons created by the trainer and they can easily get trained thereby.
He can also download the files present in the portal. This helps the trainee to improve his
technical knowledge and even reduced the effort of the trainer, as he just needs to update
the necessary files to the portal. The rest is in the hands of the trainee.

The trainees can even rate the lessons created by their trainers. Depending upon these
reports, the Source/Author of the content is provided remuneration/rewards. This increases
the interest of the trainer to create interesting lessons useful for the trainees. The trainers
are not allowed to rate the lessons, as they are the one who create them. But all the
registered employees can view the ratings given to the lessons.

After going through the lessons in the portal, the trainee may wish to test his level of
understanding. This can be achieved by taking an online exam. This exam presented to him
will consist of multiple-choice questions, which he needs to answer. Soon after he finishes
the exam, his score as well as grade will be displayed based on which he can analyze his
performance.

All the employees are given the freedom to post their opinions and share their experiences.
This helps to increase the communication between the employees even when they are off
the work place. The portal has an additional feature where in all its users can have a glance
at the latest questions being posed at the interviews and thereby prepare oneself for the
future. All the questions are neatly categorized into java, .Net, oracle and general based
upon their content and place in different pages.
The news section in the portal will provide the employees with the latest happenings and
thereby keep them updated with the things around the world. The trainees and the trainers
can view the news even before log in to the portal. In other words this option is kept open
for all the people opening the site. The function of updating the news present in the news
section is given only to the administrator. He can remove the unnecessary news and add the
new ones.

All the information to be provided to the users is stored in the database. When the users
request for a particular service, the database is queried to obtain the required information
and retrieved data is presented to the user.

48
7.1 Input/Output (Sample Screens)

This section is to provide the sample screens of the knowledge management portal. These
screen shots provide an insight into the general working of the system.

LOGIN SCREEN:

Fig 7.1 the login page where the user needs to enter his user id and password

49
SECURITY CODE SCREEN FOR ACCOUNT CREATION:

Fig 7.2 Asking the user to enter the secret code before getting registered.

50
ERROR MESSAGE DISPLAYED FOR INVALID CODE:

Fig 7.3 The page displaying error if the entered code is not valid.

51
REGISTRATION PAGE:

Fig 7.4 Employee Registration page.

52
VALIDATIONS IN REGISTRATION PAGE:

Fig 7.5 Validation checks made in the registration form .

53
FILLING THE REGISTRATION DETAILS:

Fig 7.6 Filling the registration form.

54
SUCCESS MESSAGE AFTER ACCOUNT CREATION:

Fig 7.7 Success message displayed after the user account is created.

55
LOGIN PAGE:

Fig 7.8 The login page

56
ERROR MESSAGE IN LOGIN PAGE:

Fig 7.9 Error message displayed if the UserId and Password are incorrect.

57
HOME PAGE:

Fig 7.10 The home page displaying the services that can be accessed by the trainer.
The services, which cannot be accessed, are displayed in the form of disabled buttons.

58
KNOWLEDGE BANK PAGE:

Fig 7.11 The Knowledge Bank page, which displays the contents present in it.

59
KNOWLEDGE BANK UPDATION PAGE:

Fig 7.12 Update page, using which the trainer can upload the files in the knowledge
bank.

60
KNOWLEDGE BANK UPDATION PAGE—FILLING DETAILS:

Fig 7.13 Once the upload button is clicked the file gets uploaded into the knowledge bank.

61
HOME PAGE OF ADMINISTRATOR:

Fig 7.14 Services accessed by the administrator presented in the form of enabled
buttons.

62
KNOWLEDGE CREATION PAGE:

Fig 7.15 The Knowledge Creation Page. Since the user belongs to oracle
department only that button is accessible by him, others are disabled.

63
LESSON CREATION PAGE:

Fig 7.16 The lesson creation page where the trainer needs to select the subtopics to be
present in the lesson being created.

64
FAQ PAGE:

Fig 7.17 The frequently asked questions page.

65
RATING PAGE:

Fig 7.18 The Knowledge Rating Page, which displays the ratings given to various topics.

66
ANNOTATIONS PAGE:

Fig 7.19 The annotations page displaying different comments.

67
POSTING COMMENT:

Fig 7.20 If the employee wants to post a comment he needs to click on the Post Your Opinion.

68
POSTING COMMENT:

Fig 7.21 once the opinion is posted, the ‘post’ button is disabled. The user needs to login again
to get that button enabled.

69
HOME PAGE OF TRAINEE:

Fig 7.22 The services available for a trainee.

70
VIEW LESSON PAGE:

Fig 7.23 The View lesson page where all the lessons are displayed chapter wise.

VIEW LESSON PAGE:


71
Fig 7.24 The sub topics of a particular chapter in the form of links are displayed whenever the
chapter number is selected from the pull down menu.

72
VIEW LESSON PAGE:

Fig 7.25 Once the link is clicked, the trainee can download the file.

73
RATING THE LESSON:

Fig 7.26 The trainee can click on the ‘Rate the Topic’ link to give rating to that particular
lesson.

74
NEWS PAGE:

Fig 7.27 The News page displaying the latest news in a scrolling format.

75
NEWS PAGE:

Fig 7.28 Once the scrolling news is clicked, news is displayed in detail.

76
ONLINE EXAM PAGE:

Fig 7.29 The Online exam page displayed to the trainee.

77
RESULT PAGE:

Fig 7.30 The result displayed after the online exam.

78
HOME PAGE OF ADMIN:

Fig 7.31 The services page displayed to the administrator. The ‘update news’ link is enabled
only for the administrator.

79
NEWS UPDATE PAGE:

Fig 7.32 The administrator can delete unnecessary ones by clicking the Update News link.

80
NEWS UPDATE PAGE:

Fig 7.33 The administrator can add new ones by clicking on the Update News button.

81
SUCCESS MESSAGE AFTER INSERTION:

Fig 7.34 Once the news is updated successfully, a success message appears on the screen.

82
8. Conclusions and Scope for Future enhancements

8.1 Conclusions

The Knowledge Management Portal, which can be easily accessed over the web by the
authorized employees, is a free of cost service provided by the company. Using this service,
the employees of the company can have the benefit of knowing the latest happenings, share
their experiences by posting comments and update their technical knowledge by going
through the lessons made available in the portal. The system is easy and convenient to use
and is made available round the clock. The system also aids in easy retrieval of the required
information. The system being portable helps in easy upgrading and maintenance.
Thus, we have developed the Knowledge Management Portal, which helps its users in
creating, sharing and maintaining valuable information in a user-friendly environment.

8.2 Scope for Future enhancements

The System can be enhanced to increase look and feel of the application. We can give some
more advanced features to the application like making it more automated (less Human
intervention), Secure Remote connectivity etc.

83
9. References

9.1 Textbooks

1. William H. Murray and Chris H. Pappas., Visual C++.NET: The Complete


Reference, McGraw-Hill/Osborne, Microsoft.net framework, Published 2002.
2. Matthew MacDonald, Robert Standefer., ASP.NET: The Complete Reference,
McGraw-Hill/Osborne, Active server pages, Published 2002.

9.2 Websites

1. Wikipedia, URL: http://www.wikipedia.org.

2. Answers.com, Online Dictionary, Encyclopedia and much more, URL:

http://www.answers.com.
3. Google, URL: http://www.google.co.in

84

Das könnte Ihnen auch gefallen