Upload
vinay999
View
218
Download
0
Embed Size (px)
Citation preview
8/14/2019 knowledge manag portal
1/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
8/14/2019 knowledge manag portal
2/84
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 useKnowledge 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.2Advantages
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
8/14/2019 knowledge manag portal
3/84
8/14/2019 knowledge manag portal
4/84
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. Database 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
8/14/2019 knowledge manag portal
5/84
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
8/14/2019 knowledge manag portal
6/84
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 someones 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
8/14/2019 knowledge manag portal
7/84
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
8/14/2019 knowledge manag portal
8/84
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
8/14/2019 knowledge manag portal
9/84
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 proposedsystem 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
8/14/2019 knowledge manag portal
10/84
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
8/14/2019 knowledge manag portal
11/84
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 likethe 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
8/14/2019 knowledge manag portal
12/84
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
BreadcrumbsRenders tabs indicating parent and current web page.
Fig 4.3 Breadcrumbs control for navigation
12
8/14/2019 knowledge manag portal
13/84
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
8/14/2019 knowledge manag portal
14/84
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 developers application over the web. A web service on its own
Is not an application
Cant be seen as web pages.
Cant 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
8/14/2019 knowledge manag portal
15/84
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
8/14/2019 knowledge manag portal
16/84
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
8/14/2019 knowledge manag portal
17/84
8/14/2019 knowledge manag portal
18/84
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
8/14/2019 knowledge manag portal
19/84
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
8/14/2019 knowledge manag portal
20/84
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
8/14/2019 knowledge manag portal
21/84
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
8/14/2019 knowledge manag portal
22/84
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
http://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Systemhttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/System8/14/2019 knowledge manag portal
23/84
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.
Fig 5.1 Sample use case
Actors
23
Watch
8/14/2019 knowledge manag portal
24/84
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
8/14/2019 knowledge manag portal
25/84
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 processmeaning, but is an enhancement of the parent use case.
UseCase1 UseCase2
Fig 5.5 Generalization relationship between use cases
Usecase1:
25
8/14/2019 knowledge manag portal
26/84
Trainee
Trainer
User
Authentication
Information andKnowledge Sharing
Database
Analytics
5.6 Use case diagram of the Knowledge Management Portal
Usecase2:
26
8/14/2019 knowledge manag portal
27/84
Trainer
Trainee
Login
UserRegistration
Database
Access to Services
5.7 Use case diagram of Module 1
Usecase3:
27
8/14/2019 knowledge manag portal
28/84
Trainee
Trainer
Company History
Latest News
Interview Tips
Knowledge Updation/Downloading
Database
Knowledge Creation
5.8 Use case diagram of Module 2
Usecase4:
28
8/14/2019 knowledge manag portal
29/84
Online Exam
Rating Knowledge
Database
Trainee
Knowledge SearchTrainer
Annotations
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
8/14/2019 knowledge manag portal
30/84
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
8/14/2019 knowledge manag portal
31/84
Fig 5.12 Generalization relationship between classes
Database
Interview Tips()
Latest News()
Knowledge Bank()
Authentication
EmployeeId
Emp Name
Designation
Salary
PlatForm
Registration()
Services
View Lesson()
Rating()
Annotations()
Searching()
Online Examination()
Authorization
Updating()
Downloading()
Creation()
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
8/14/2019 knowledge manag portal
32/84
5.2.3.1 Elements of a Sequence Diagram and their Notation
Object:
The primary element involved in a sequence diagram is an Objectan 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
8/14/2019 knowledge manag portal
33/84
U:User User Portal Database
1: Login/Registration2: 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
8/14/2019 knowledge manag portal
34/84
Fig 5.17 Sequence diagram of Module 2
Sequence Diagram 3:
34
8/14/2019 knowledge manag portal
35/84
User User Portal Service Engine DataBase
1: If User
2: Display Service
3: Select Service4: Request Page
7: Retrive the service
8: Searching Service9: Request Page
10: Search
6: Validate
11: Validate
12: Retrive the Service
13: Annotations service
14: Request Page 15: Search16: Validate
17: Retrive Service
18: If Trainee
19: Online Examination
20: Request Page 21: Search
22: Validate
23: Retrive Page
24: Rating25: Request Page
26: Search27: Validate
28: Retrive Page
5: Search
Fig 5.18 Sequence diagram of Module 3
35
8/14/2019 knowledge manag portal
36/84
8/14/2019 knowledge manag portal
37/84
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:
U:User
Login/Registration
Check Valid User or not
Access System
Valid User
Invalid user
DataBaseValidateUser
Fig 5.23Activity diagram of Module 1
37
8/14/2019 knowledge manag portal
38/84
Activity Diagram 2:
Fig 5.24 Activity diagram of Module 2
38
8/14/2019 knowledge manag portal
39/84
Activity Diagram 3:
Fig 5.25 Activity diagram of Module 3
39
8/14/2019 knowledge manag portal
40/84
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
http://www.filemaker.com/help/Glossary211.html#wp88644http://www.filemaker.com/help/Glossary211.html#wp886448/14/2019 knowledge manag portal
41/84
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 aunique content Id to identify them.
5.4.3 Lesson Table
This table contains the details of the lessons created by the trainers.
41
8/14/2019 knowledge manag portal
42/84
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 traineebelonging to Dot net department.
5.4.6 JQuestionBank Table
This table consists of the questions to be presented in the online exam for the traineebelonging to Java department.
42
8/14/2019 knowledge manag portal
43/84
5.4.7 OraQuestionBank Table
This table consists of the questions to be presented in the online exam for the traineebelonging 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 theannotations section.
43
8/14/2019 knowledge manag portal
44/84
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 intoblack 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
http://en.wikipedia.org/wiki/Black_box_testinghttp://en.wikipedia.org/wiki/White_box_testinghttp://en.wikipedia.org/wiki/White_box_testinghttp://en.wikipedia.org/wiki/Black_box_testinghttp://en.wikipedia.org/wiki/White_box_testinghttp://en.wikipedia.org/wiki/White_box_testing8/14/2019 knowledge manag portal
45/84
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 softwares 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 ofsource 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
http://en.wikipedia.org/wiki/Source_codehttp://searchsoa.techtarget.com/sDefinition/0,,sid26_gci213030,00.htmlhttp://en.wikipedia.org/wiki/Source_codehttp://searchsoa.techtarget.com/sDefinition/0,,sid26_gci213030,00.html8/14/2019 knowledge manag portal
46/84
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 ofblack 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
http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212363,00.htmlhttp://en.wikipedia.org/wiki/Requirementshttp://en.wikipedia.org/wiki/Black_box_testinghttp://en.wikipedia.org/wiki/Integration_testinghttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212363,00.htmlhttp://en.wikipedia.org/wiki/Requirementshttp://en.wikipedia.org/wiki/Black_box_testinghttp://en.wikipedia.org/wiki/Integration_testing8/14/2019 knowledge manag portal
47/84
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 presentin 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
8/14/2019 knowledge manag portal
48/84
8/14/2019 knowledge manag portal
49/84
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
8/14/2019 knowledge manag portal
50/84
SECURITY CODE SCREEN FOR ACCOUNT CREATION:
Fig 7.2 Asking the user to enter the secret code before getting registered.
50
8/14/2019 knowledge manag portal
51/84
ERROR MESSAGE DISPLAYED FOR INVALID CODE:
Fig 7.3 The page displaying error if the entered code is not valid.
51
8/14/2019 knowledge manag portal
52/84
REGISTRATION PAGE:
Fig 7.4 Employee Registration page.
52
8/14/2019 knowledge manag portal
53/84
VALIDATIONS IN REGISTRATION PAGE:
Fig 7.5 Validation checks made in the registration form .
53
8/14/2019 knowledge manag portal
54/84
FILLING THE REGISTRATION DETAILS:
Fig 7.6 Filling the registration form.
54
8/14/2019 knowledge manag portal
55/84
SUCCESS MESSAGE AFTER ACCOUNT CREATION:
Fig 7.7 Success message displayed after the user account is created.
55
8/14/2019 knowledge manag portal
56/84
LOGIN PAGE:
Fig 7.8 The login page
56
8/14/2019 knowledge manag portal
57/84
8/14/2019 knowledge manag portal
58/84
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
8/14/2019 knowledge manag portal
59/84
KNOWLEDGE BANK PAGE:
Fig 7.11 The Knowledge Bank page, which displays the contents present in it.
59
8/14/2019 knowledge manag portal
60/84
KNOWLEDGE BANK UPDATION PAGE:
Fig 7.12 Update page, using which the trainer can upload the files in the knowledge
bank.
60
8/14/2019 knowledge manag portal
61/84
KNOWLEDGE BANK UPDATION PAGEFILLING DETAILS:
Fig 7.13 Once the upload button is clicked the file gets uploaded into the knowledge bank.
61
8/14/2019 knowledge manag portal
62/84
HOME PAGE OF ADMINISTRATOR:
Fig 7.14 Services accessed by the administrator presented in the form of enabled
buttons.
62
8/14/2019 knowledge manag portal
63/84
8/14/2019 knowledge manag portal
64/84
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
8/14/2019 knowledge manag portal
65/84
FAQ PAGE:
Fig 7.17 The frequently asked questions page.
65
8/14/2019 knowledge manag portal
66/84
RATING PAGE:
Fig 7.18 The Knowledge Rating Page, which displays the ratings given to various topics.
66
8/14/2019 knowledge manag portal
67/84
ANNOTATIONS PAGE:
Fig 7.19 The annotations page displaying different comments.
67
8/14/2019 knowledge manag portal
68/84
POSTING COMMENT:
Fig 7.20 If the employee wants to post a comment he needs to click on the Post Your Opinion.
68
8/14/2019 knowledge manag portal
69/84
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
8/14/2019 knowledge manag portal
70/84
HOME PAGE OF TRAINEE:
Fig 7.22 The services available for a trainee.
70
8/14/2019 knowledge manag portal
71/84
VIEW LESSON PAGE:
Fig 7.23 The View lesson page where all the lessons are displayed chapter wise.
VIEW LESSON PAGE:
71
8/14/2019 knowledge manag portal
72/84
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
8/14/2019 knowledge manag portal
73/84
VIEW LESSON PAGE:
Fig 7.25 Once the link is clicked, the trainee can download the file.
73
8/14/2019 knowledge manag portal
74/84
RATING THE LESSON:
Fig 7.26 The trainee can click on the Rate the Topic link to give rating to that particular
lesson.
74
8/14/2019 knowledge manag portal
75/84
NEWS PAGE:
Fig 7.27 The News page displaying the latest news in a scrolling format.
75
8/14/2019 knowledge manag portal
76/84
NEWS PAGE:
Fig 7.28 Once the scrolling news is clicked, news is displayed in detail.
76
8/14/2019 knowledge manag portal
77/84
ONLINE EXAM PAGE:
Fig 7.29 The Online exam page displayed to the trainee.
77
8/14/2019 knowledge manag portal
78/84
RESULT PAGE:
Fig 7.30 The result displayed after the online exam.
78
8/14/2019 knowledge manag portal
79/84
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
8/14/2019 knowledge manag portal
80/84
NEWS UPDATE PAGE:
Fig 7.32 The administrator can delete unnecessary ones by clicking the Update News link.
80
8/14/2019 knowledge manag portal
81/84
NEWS UPDATE PAGE:
Fig 7.33 The administrator can add new ones by clicking on the Update News button.
81
8/14/2019 knowledge manag portal
82/84
SUCCESS MESSAGE AFTER INSERTION:
Fig 7.34 Once the news is updated successfully, a success message appears on the screen.
82
8/14/2019 knowledge manag portal
83/84
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
8/14/2019 knowledge manag portal
84/84
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
http://www.wikipedia.org/http://www.answers.com/http://www.google.co.in/http://www.wikipedia.org/http://www.answers.com/http://www.google.co.in/