Beruflich Dokumente
Kultur Dokumente
Abstract
1
2. Introduction
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.
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.
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
• 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.
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.
• Password Prompts:
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:
• View Lesson:
All the employees can view the lessons created by their colleagues.
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.
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.
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.
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.
The technologies and the standard used for the development of the project are as follows:
(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.
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.
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.
Every site requires tools for navigation. The List of Navigation tools available in .NET
is as follows:
11
Fig 4.1 Menu control for navigation
Tree View These are structured links. User can know where they are currently located.
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:
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
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.
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.
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.
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.
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
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.
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.
• Pentium 4 processor
• Minimum 256 MB memory
21
• 10 GB Hard disk
• Modem / Network card
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.
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:
It emphasizes the functional requirements of the system from the user's point of view. This
includes use case diagrams.
It emphasizes the static structure of the system using objects, attributes, operations, and
relationships. This includes class diagrams.
Use case diagrams overview the usage requirements for a system. They describe "the
meat" of the actual requirements.
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
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.
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.
• 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:
UseCas e1 UseCase2
25
Authentication
Trainee
Information and
User Dat abase
Knowledge Sharing
Trainer
Analytics
Usecase2:
26
Login
<<includes>>
Trainer
Registration
User Database
Trainee
Access to Services
Usecase3:
27
Company History
Latest News
Trainee
Interview Tips
Database
Knowledge Updation/
Trainer
Downloading
Knowledge Creation
Usecase4:
28
Online Exam
Rating Knowledge
Trainee
Annotations
Database
Knowledge Search
Trainer
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:
Relationships
Association:
When two classes are connected to each other in any way, an association relation is
established.
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()
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:
Message:
Sequence Diagram 1:
32
U:User User Portal Database
1: Login/Registration
2: search for the req page
3: validate
8: succefully logged in
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
8: Searching Service
9: Request Page
10: Search
11: Validate
12: Retrive the Service
18: If Trainee
24: Rating
25: Request Page
26: Search
27: Validate
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.
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.
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.
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.
U:User
Login/Registration
Invalid user
37
Activity Diagram 2:
38
Activity Diagram 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:
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.
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.
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.
This table consists of the questions to be presented in the online exam for the trainee
belonging to Dot net department.
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.
This table stores the headlines as well as the detailed news to be presented in the news
section.
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.
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.
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.
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.
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.
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:
52
VALIDATIONS IN REGISTRATION PAGE:
53
FILLING THE REGISTRATION DETAILS:
54
SUCCESS MESSAGE AFTER ACCOUNT CREATION:
Fig 7.7 Success message displayed after the user account is created.
55
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:
65
RATING PAGE:
Fig 7.18 The Knowledge Rating Page, which displays the ratings given to various topics.
66
ANNOTATIONS PAGE:
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:
70
VIEW LESSON PAGE:
Fig 7.23 The View lesson page where all the lessons are displayed chapter wise.
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:
77
RESULT PAGE:
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.
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
9.2 Websites
http://www.answers.com.
3. Google, URL: http://www.google.co.in
84