Sei sulla pagina 1di 65

E-LEARNING

1. COMPANY PROFILE

1.1 INTRODUCTION:

GTB was established in year 1999 by Mr. Gurpreet Singh, Ex-Lecturer, Apeejay. Mr.
Gurpreet Singh is Post Graduate in Computers having vast knowledge in the field of
computer education. This institute is headed by Mr. J.P Singh, Ex-Regional Manager,
State Bank of India having 38 years' experience.

GTB Computer Education, Jalandhar.is an ISO 9001 & Govt. Registered Institute. They are
providing quality concept based computer education at reasonable rates for the last 10 years
by Ex-Lecturer Apeejay, MCA Faculty. Institute is run by Professionals, for Professionals.
GTB Computer Education, Jalandhar focuses on concept based training instead of cramming
using latest art of technology i.e. Multimedia LCD Projector. Latest modules of the course
are implemented in the course curiculum so that student gets maximum benefit when he / she
goes for the job. Every student is given ample practical examples so that he can get hold of
the course perfectly. Proper projects, questions related to the topic are given regularly.

They are teaching .NET, PHP, Web Designing, .NET projects, VB.NET, ASP.NET,
C#.NET, Flash, Website Creation, Live Projects, Dreamweaver, Tally, CSS coaching, 6
months, 6 weeks training of BTech, All Types of Trainings, BCA, MCA Final Year Projects
are done in their centre for the last 10 yrs.

1
E-LEARNING

GTB is a dynamic growing organization, focused on the development of cutting edge


solutions in the following domains:

Core Java + JSP

.Net

PHP & Mysql

C/C++ with Data Structures

Flash and Photoshop

Web Designing and Development.

1.2 OVERVIEW:

Our Strengths

We take pride in being able to deliver what our customers want. Taking time to understand your
requirements, we then convert them into a smooth flow through an online solution and deliver it
to you on time.

Our Approach

Our approach towards our work goes beyond merely applying the latest technology. We feel, the
difference lies in how we customize the technology to meet, and exceed, the clients
expectations. To this end, we make an earnest effort to get into our clients shoes to understand
their business needs and provide the best online solution that meet their objectives and gets them
a high return on investment.

1.3 Work Area

Static Website:- All the pages are static and the site is mainly meant for providing information
to users & Search Engines Friendly. This is considered a beginners site and useful to companies
who just want to maintain their mere presence on internet and do not have often updating on

2
E-LEARNING

site.

Custom Web Application:- Building a database driven web site that bring a new level of
functionality & modules to a site.

Dynamic Web Site:- In this dynamic world, things are changing very quickly. Hence it
becomes necessary to update the information on your website from time to time.

Technologies

We offer various services in all technologies

Asp.net using C# and vb (web- applications)

Windows applications using

C# and vb.net

PHP

XML

Flash

JavaScript

Oracle

Networking

Website Design

Red Hat Linux

3
E-LEARNING

1.4 SERVICES

Website Design & Development

Specializing in affordable custom small business & non-profit organization websites. We try to
create original, professional and interactive websites that will help you generate more business,
generate and manage leads, communicate better with customers and help you become more
efficient. All at the lowest prices available in todays market.

Website Updates & Redesigns

Whether we design your website or you have an exciting site, we can help with updates,
maintenance, designs etc.

1.5 WORK DETAIL

First two month:

The training started with the learning of basics of :

C++.
Data structure.
Core Java.
Project on core java.

Then I studied Java and made a Minor project using java platform.

JAVA
Minor Project (Unique Identification Authority System)

Then I studied JSP, jQuery, Servlets,Javascript and HTML and made a Major project using java
platform.

Major Project(Online Shopping)

4
E-LEARNING

1.6 BASICS

C++

In this section we covered the basic topics of C++ like variables and operators, data types,
control structures, loop controls, case controls, functions and pointers, arrays, file handling and
oops concepts.

DATA STRUCTURES

For this we learned the implementation of various data structures like arrays, linked list, stacks
and queues.

JAVA

2. INTRODUCTION TO THE PROJECT

2.1 TITLE:

The project I am currently working on is known by the name E-LEARNING . The virtual
classroom is a collaborative teaching tool to assist the students to learn in an interactive manner.
It aims to complement the efforts of teachers to integrate technology into their classrooms and
link the students to the internet in educationally productive ways and provide them a simulating,
positive and enjoyable environment to study.

2.2 WHY E-LEARNING?

With e-learning and webinars you can reach a global audience in a fraction of the time it would
take to turn around an e-learning programme. Easy answering of doubts can be provided with
such a system. In a well-timed Virtual Classroom, SMSes can be there to answer them- youre a
trusted source of knowledge and have a wealth of it. Deal with any uncertainty, get your
learners buy-in and nip any doubts in the bud right from the start. You can mop up
misunderstandings or misconceptions, and explain things differently there and then, at the

5
E-LEARNING

moment of need. Personal experiences can be easily shared and thus social learning can be
encouraged.

2.3 TYPES OF USERS AND THEIR ROLES:

Virtual Classroom is a web application, which consists of three sets of users:

Student

Staff

Every student has to perform a one-time registration and login, in order to use the system. The
student is allowed to perform the following actions after logging in:

Search and Download Articles Uploaded by Staff.

Post Doubts in any subject to the subject-experts.

View the replies to their doubts made by the staff.

Rate the replies to their doubts as per their satisfaction level.

Change Password of the account

Personalize the theme for his account

Take examination.

The staff has to apply for the membership by registering on the system and can be a part of the
system only if admin approves the request. The admin can also reject the request. After a staff
request is approved by admin he can login, to use the system. While registration the staffs
specialization is obtained from him. Those specializations are sorted out for the students as
Doubt-Subject for posting doubts. The corresponding staff will get the doubt in the inbox.

The staff can answer the doubts of the student and the student is notified when the doubt is
answered by the staff. The staff can upload articles to the system. The articles can be browsed or

6
E-LEARNING

searched and be downloaded by the student by using the search tags given by the staff. The staff
is allowed to perform the following actions after logging in:

Upload articles and learning material.

View doubts posted by the student for his subjects.

Reply to the doubts posted by the student.

Change Password of the account

Prepare examinations for the students

Add words to the Games for students

Administrator has the over-all controller of the system.

The administrator is allowed to:

View the student and staff details registered in the system.

Accept or reject a staff request.

View the answered and un-answered doubts.

Update student or staff profile.

View the files uploaded by the staff.

Generate performance report for students and staff.

2.4 EXISTING SYSTEM AND ITS DISADVANTAGES

In a traditional classroom setting, students are made to sit passively while the teacher delivers a
lecture. There are reasons as to why many teachers seem dissatisfied with this practice. For now,
I shall limit myself to only three:

7
E-LEARNING

A. Students' focus is set in the wrong direction; in taking notes rather than understanding and
absorbing new concepts.

Result:

students' inability to grasp key ideas and concepts,

Failed lesson objective.

B. Too much focus on presentation, little time left for practice: Since a teacher has to deliver
a fixed number of concepts within a limited time, most classroom activities are sufficed to the
presentation stage only. Practice is left for the student to do as homework

Result:

This strategy does not allow for students to experiment with new concepts. Their learning
is put to a halt at a certain stage; they end up cramming concepts, and are unable to
produce anything fruitful, except generic answers to exam questions.

Furthermore, many students might get stuck while doing problem sets at home. This too
thwarts their performance. If they are unable to master one concept, and have been unable
to practice it effectively, we cannot possibly expect them to grasp a newer concept based
on the previous one.

C. A teacher's lecture is generally one-size-fit-all.

Not every student has the same pace of learning. While some students can follow the teacher's
lecture with convenience, most of the others require time to chow on the information that they
are getting. Also, each student has a different learning style.

You can't expect a kinesthetic learner to master a concept by just listening to a lecture. If a visual
learner gets worse grades than an auditory learner, it doesn't mean that the former is slow or dull;
it might simply mean that the classroom strategies were designed for the auditory learner only.

8
E-LEARNING

Result:

This results in the students' inability to keep pace with the teachers'. The world
stereotypes them as 'slow learners'.

Poor grades and lagging in classroom performance is a major contributor to a poor self-
image and lack of confidence. In fact, the failure of many students to achieve what they
are capable of achieving can be attributed to the above factors.

This not only mars potential talent, it also causes distress to a lot many dedicated and
hardworking teachers.

The traditional public school system and classroom practices are far from perfect.

3. APPROACHES TO E-LEARNING SERVICES

E-learning services have evolved since computers were first used in education. There is a trend
to move towards blended learning services, where computer-based activities are integrated with
practical or classroom-based situations.

Bates and Poole (2003) and the OECD (2005) suggest that different types or forms of e-learning
can be considered as a continuum, from no e-learning, i.e. no use of computers and/or the
Internet for teaching and learning, through classroom aids, such as making classroom lecture
Power point slides available to students through a course web site or learning management
system, to laptop programs, where students are required to bring laptops to class and use them as
part of a face-to-face class, to hybrid learning, where classroom time is reduced but not
eliminated, with more time devoted to online learning, through to fully online learning, which is
a form of distance education. This classification is somewhat similar to that of the Sloan
Commission reports on the status of e-learning, which refer to web enhanced, web supplemented
and web dependent to reflect increasing intensity International Journal of u- and e- Service,
Science and Technology of technology use. In the Bates and Poole continuum, 'blended learning'
can cover classroom aids, laptops and hybrid learning, while 'distributed learning' can
incorporate either hybrid or fully online learning. It can be seen then that e-learning can describe
a wide range of applications, and it is often by no means clear even in peer reviewed research

9
E-LEARNING

publications which form of e-learning. However, Bates and Poole argue that when instructors say
they are using e-learning, this most often refers to the use of technology as classroom aids,
although over time, there has been a gradual increase in fully online learning.

3.1 Computer-based Learning

Computer-based learning, sometimes abbreviated to CBL, refers to the use of computers as a key
component of the educational environment. While this can refer to the use of computers in a
classroom, the term more broadly refers to a structured environment in which computers are used
for teaching purposes. The concept is generally seen as being distinct from the use of computers
in ways where learning is at least a peripheral element of the experience (e.g. computer games
and web browsing).

3.2 Computer-Based Training

Computer-Based Trainings (CBTs) are self-paced learning activities accessible via a computer or
handheld device. CBTs typically present content in a linear fashion, much like reading an online
book or manual. For this reason they are often used to teach static processes, such as using
software or completing mathematical equations. The term Computer-Based Training is often
used interchangeably with Web-based training (WBT) with the primary difference being the
delivery method. Where CBTs are typically delivered via CDROM, WBTs are delivered via the
Internet using a web browser. Assessing learning in a CBT usually comes in the form of
multiple-choice questions, or other assessments that can be easily scored by a computer such as
drag-and-drop, radial button, simulation or other interactive means. Assessments are easily
scored and recorded via online software, providing immediate end-user feedback and completion
status. Users are often able to print completion records in the form of certificates.

CBTs provide learning stimulus beyond traditional learning methodology from textbook,
manual, or classroom-based instruction. For example, CBTs offer user-friendly solutions for
satisfying continuing education requirements. Instead of limiting students to attending courses or
reading printing manuals, students are able to acquire knowledge and skills through methods that
are much more conducive to individual learning preferences. For example, CBTs offer visual
learning benefits through animation or video, not typically offered by any other means. CBTs

10
E-LEARNING

can be a good alternative to printed learning materials since rich media, including videos or
animations, can easily be embedded to enhance the learning. Another advantage to CBTs are that
they can be easily distributed to a wide audience at a relatively low cost once the initial
development is completed.

However, CBTs pose some learning challenges as well. Typically the creation of effective CBTs
requires enormous resources.

The software for developing CBTs (such as Flash or Adobe Director) is often more complex than
a subject matter expert or teacher is able International Journal of u- and e- Service, Science and
Technology to use. In addition, the lack of human interaction can limit both the type of content
that can be presented as well as the type of assessment that can be performed. Many learning
organizations are beginning to use smaller CBT/WBT activities as part of a broader online
learning program which may include online discussion or other interactive elements.

3.3 Computer-supported collaborative learning (CSCL)

Computer-supported collaborative learning (CSCL) is one of the most promising innovations to


improve teaching and learning with the help of modern information and communication
technology. Most recent developments in CSCL have been called E-Learning but the concept of
collaborative or group learning whereby instructional methods are designed to encourage or
require students to work together on learning tasks has existed much longer. It is widely agreed
to distinguish collaborative learning from the traditional 'direct transfer' model in which the
instructor is assumed to be the distributor of knowledge and skills, which is often given the
neologism E-Learning 1.0, even though this direct transfer method most accurately reflects
Computer-Based Learning systems (CBL).

3.4 Technology-Enhanced Learning (TEL)

Technology enhanced learning (TEL) has the goal to provide socio-technical innovations (also
improving efficiency and cost effectiveness) for e-learning practices, regarding individuals and
organizations, independent of time, place and pace. The field of TEL therefore applies to the
support of any learning activity through technology.

11
E-LEARNING

4. LEARNING MANAGEMENT SYSTEM

It is a software application for the administration, documentation, tracking and reporting of


training programmes, class room and on line events, e-learning programmes, and training
content. It is designed to teach how e learning can be implemented .

4.1 Objectives

E-Learning represents an innovative shift in the field of learning, providing rapid access to
specific knowledge and information. It offers online instruction that can be delivered anytime
and anywhere through a wide range of electronic learning solutions such as Web-based
courseware, online discussion groups, live virtual classes, video and audio streaming, Web chat,
online simulations, and virtual mentoring.

E-Learning enables organizations to transcend distance and other organizational gaps by


providing a cohesive virtual learning environment. Companies must educate and train vendors,
employees, partners, and clients to stay competitive, and eLearning can provide such just-in-time
training in a cost-effective way.

Developing and deploying effective eLearning programs may require products and services
supplied by a variety of vendors, leaving one to connect the dots.

One way to start is to define the goals of the desired learning solution.

5. FEASIBILITY STUDY

A feasibility study is used to determine the viability of an idea. The objective of such a study is
to ensure a project is legally and technically feasible and economically justifiable. It tells us
whether a project is worth the investment. From the systems analyst perspective, the feasibility
analysis is the primary tool for recommending whether to proceed to the next phase or to
discontinue the project.

12
E-LEARNING

The feasibility study is a management-oriented activity. The objective of a feasibility study is to


find out if an information system project can be done and to suggest possible alternative
solutions.

Projects are initiated for two broad reasons:

Problems that lend themselves to systems solutions

Opportunities for improving through:

(a) Upgrading systems

(b) Altering systems

(c) Installing new systems

A feasibility study assesses the operational, technical and economic merits of the proposed
project.

5.1 TECHNICAL FEASIBILITY

A large part of determining resources has to do with assessing technical feasibility. It considers
the technical requirements of the proposed project. The technical requirements are then
compared to the technical capability of the organization. The systems project is considered
technically feasible if the internal technical capability is sufficient to support the project
requirements.

The analyst must find out whether current technical resources can be upgraded or added to in a
manner that fulfills the request under consideration. This is where the expertise of system
analysts is beneficial, since using their own experience and their contact with vendors they will
be able to answer the question of technical feasibility.

5.2 ECONOMICAL FEASIBILITY

Economic feasibility is the process of identifying financial benefits and costs associated with a
development project. It involves the feasibility of the proposed project to generate economic

13
E-LEARNING

benefits. A benefit-cost analysis (addressing a problem or need in the manner proposed by the
object compared to other, the cost of other approaches to the same or similar problem) is
required.

A break even analysis when appropriate is also required aspect of evaluating the economic
feasibility of a project. This addresses fixed and variable cost and utilization/sales forecasts). The
tangible and intangible aspects of a project should be translated into the economic terms to
facilitate a consistent basis for evaluation. Even when a project is non-profit in nature, economic
feasibility is critical.

5.3 OPERATIONAL FEASIBILITY

Operational feasibility is dependent on human resources available for the project and involves
projecting whether the system will be used if it is developed and implemented.

Operational feasibility is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.

Operational feasibility reviews the willingness of the organization to support the proposed
system. This is probably the most difficult of the feasibilities to gauge.

6. FEASIBILITY STUDY FOR THIS PROJECT

For the feasibility study for this project, a lot of things were considered. Here are the key factors
that were there in our feasibility study.

First of all, in the technical aspect, we chose JSP for our project. The main reason for choosing
JSP over other options for our project was the biggest advantage of JSP that is the security that is
provided by it. JSP is a server side language. For our project, the security of the information on
website is of utmost importance. There had to be a proper protection for the data of user profiles,
and the admin profile. Hence JSP was chosen. JSP provides with an impeccable level of security
as compared to PHP. Also, PHP server is quite costly and is hence not economical, which is not
a concern with JSP.

14
E-LEARNING

Under the operational feasibility, it was known to us that we had to consider options for
updation and deletion of data on the project. Much of its rights are provided to admin. And some
are provided to staff as well, for his/her own profile. Sessions have been created to serve the
purpose of security. Sessions are created to associate some data with each visitor. On a typical
web site, a visitor might visit several pages and perform several interactions. A different set of
data is kept for each visitor to the site. Once a user logs out, his/her session expires. This ensures
that any other user cannot access the same data. Further, validations have been applied to keep a
check on invalid data entries. The conditions required prior to these operations and their after-
effects, all were considered under the operational feasibility.

For the economical feasibility, here is what we are doing. The cost of JSP Server is not too much
as compared to other server languages, which makes JSP an attractive option. Hence JSP is the
backbone of this project, thus making it economically convenient. Moreover no additional costs
are meted out in the development of the project. According to the computerized system we
propose, the costs can be broken down to two categories.

Costs associated with the development of the system.

Costs associated with operating the system.

Among the most important information contained in feasibility study is Cost Benefit Analysis
and assessment of the economic justification for a computer based system project. Cost Benefit
Analysis delineates costs for the project development and weighs them against tangible and
intangible benefits of a system. Cost Benefits Analysis is complicated by the criteria that vary
with the characteristics of the system to be developed, the relative size of the project and the
expected return on investment desired as part of companys strategic plan. In addition, many
benefits derived from a computer-based system are intangible (e.g. better design quality through
iterative optimization, increased customer satisfaction through programmable control etc.) .

15
E-LEARNING

7. HARDWARE AND SOFTWARE SPECIFICATIONS

HARDWARE:

This should be installed on both client and server sides while database should be
centralized in the network server. Also, the following are needed:

o Minimum 133MHz Pentium Processor

o 256MB RAM required or more

o At least 1 GB free hard disk space.

LANGUAGE AND PLATFORM:

This project involves different technologies but mainly J2EE and JMF. This project is
platform independent.

SERVER SIDE:

JAVA/JMF

The server side languages mainly used in this project are:

JSP

Servlets

Java Beans

Hibernate

Strut (MVC Framework)

Java Media Frameworks is an API of Java which helps to interact with media devices
like audio/video devices.

16
E-LEARNING

CLIENT SIDE:

JAVA/JMF

J2EE and JMF are used over the client side to perform certain events.

The client side languages mainly used in this project are:

HTML

CSS

Javascript

JQuery

JSon

DATABASE:

MySQL

MySQL is used as DBMS and connectivity of MySQL with Java is performed by


MySQL JConnector.

TOOLS:

Netbeans IDE 8.1

Dreamweaver

Notepad/Notepad++

17
E-LEARNING

8. DATA FLOW DIAGRAMS

Data flow oriented techniques advocate that the major data items handled by a system must be
first identified and then the processing required on these data items to produce the desired
outputs should be determined. The DFD (also called as bubble chart) is a simple graphical
formalism that can be used to represent a system in terms of input data to the system, various
processing carried out on these data, and the output generated by the system. It was introduced
by De Macro (1978), Gane and Sarson (1979).The primitive symbols used for constructing
DFDs are:

8.1 Symbols used in DFD:

A circle represents a process.

A rectangle represents external entity

A square defines a source or destination of the system data.

An arrow identifies dataflow.

Double line with one end closed indicates data store .

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modelling its process aspects. A DFD is often used as a preliminary step to

18
E-LEARNING

create an overview of the system without going into great detail, which can later be elaborated.
DFDs can also be used for the visualization of data processing (structured design).

A DFD shows what kind of information will be input to and output from the system, how the
data will advance through the system, and where the data will be stored. It does not show
information about the timing of process or information about whether processes will operate in
sequence or in parallel unlike a flowchart which also shows this information.

19
E-LEARNING

8.2 Diagram Showing How a User Can Access This Website

User enters user name

and password

User_info

Are both user name


& password No
correct?

Yes

User can view any information

20
E-LEARNING

9.WORKING ENVIRONMENT

9.1 INTRODUCTION TO JAVA:

Java is a programming language developed by James Gosling at Sun Microsystems (which is


now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun
Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a
simpler. Java applications are typically compiled to bytecode (class file) that can run on any Java
Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose,
concurrent, class-based, object-oriented language that is specifically designed to have as few
implementation dependencies as possible. It is intended to let application developers "write once,
run anywhere." Java is currently one of the most popular programming languages in use,
particularly for client-server web applications.

The original and reference implementation Java compilers, virtual machines, and class
libraries were developed by Sun from 1995. As of May 2007, in compliance with the
specifications of the Java Community Process, Sun relicensed most of its Java technologies
under the GNU General Public License. Others have also developed alternative implementations
of these Sun technologies, such as the GNU Compiler for Java, GNU Classpath, and Dalvik.

Key features of java:

1) It is an open source, thus its set up and user license is easily available.

2) It is platform independent and its code can be used at any platform.

3) It is a multithreaded language.

4) It collects the garbage automatically.

We have used a variety of classes of java and database connectivity is done with the help of
MySQL. The database has a major role in project.

21
E-LEARNING

Java is a object oriented programming and to understand the functionality of OOP in Java, we
first need to understand several fundamentals related to objects. These include class, method,
inheritance, encapsulation, abstraction, polymorphism etc.

Class - It is the central point of OOP and that contains data and codes with behavior. In Java
everything happens within class and it describes a set of objects with common behavior. The
class definition describes all the properties, behavior, and identity of objects present within that
class. As far as types of classes are concerned, there are predefined classes in languages like C++
and Pascal. But in Java one can define his/her own types with data and code.

Object - Objects are the basic unit of object orientation with behavior, identity. As we
mentioned above, these are part of a class but are not the same. An object is expressed by the
variable and methods within the objects. Again these variables and methods are distinguished
from each other as instant variables, instant methods and class variable and class methods.

Methods - We know that a class can define both attributes and behaviors. Again attributes are
defined by variables and behaviors are represented by methods. In other words, methods define
the abilities of an object.

Inheritance - This is the mechanism of organizing and structuring software program. Though
objects are distinguished from each other by some additional features but there are objects that
share certain things common. In object oriented programming classes can inherit some common
behavior and state from others. Inheritance in OOP allows to define a general class and later to
organize some other classes simply adding some details with the old class definition. This saves
work as the special class inherits all the properties of the old general class and as a programmer
you only require the new features. This helps in a better data analysis, accurate coding and
reduces development time.

Abstraction - The process of abstraction in Java is used to hide certain details and only show the
essential features of the object. In other words, it deals with the outside view of an object
(interface).

Encapsulation - This is an important programming concept that assists in separating an object's


state from its behavior. This helps in hiding an object's data describing its state from any further

22
E-LEARNING

modification by external component. In Java there are four different terms used for hiding data
constructs and these are public, private, protected and package. As we know an object can
associated with data with predefined classes and in any application an object can know about the
data it needs to know about. So any unnecessary data are not required by an object can be hidden
by this process. It can also be termed as information hiding that prohibits outsiders in seeing the
inside of an object in which abstraction is implemented.

Polymorphism - It describes the ability of the object in belonging to different types with specific
behavior of each type. So by using this, one object can be treated like another and in this way it
can create and define multiple level of interface. Here the programmers need not have to know
the exact type of object in advance and this is being implemented at runtime.

Collections Framework:

A collection is simply an object that groups multiple elements into a single unit. Collections are
used to store, retrieve, manipulate, and communicate aggregate data.

A collections framework is a unified architecture for representing and manipulating collections.


All collections frameworks contain the following:

Interfaces: These are abstract data types that represent collections. Interfaces allow
collections to be manipulated independently of the details of their representation.

Implementations: These are the concrete implementations of the collection interfaces. In


essence, they are reusable data structures.

Algorithms: These are the methods that perform useful computations, such as searching
and sorting, on objects that implement collection interfaces. The algorithms are said to be
polymorphic: that is, the same method can be used on many different implementations of
the appropriate collection interface. In essence, algorithms are reusable functionality.

23
E-LEARNING

Networking

When you write Java programs that communicate over the network, you are programming at the
application layer. Typically, you don't need to concern yourself with the TCP and UDP layers.
Instead, you can use the classes in the java.net package.

J2EE

Java technology is both a programming language and a platform. The Java programming
language is a high-level object-oriented language that has a particular syntax and style. A Java
platform is a particular environment in which Java programming language applications run.
There are several Java platforms. Many developers, even long-time Java programming language
developers, do not understand how the different platforms relate to each other.

There are four platforms of the Java programming language:

Java Platform, Standard Edition (Java SE)

Java Platform, Enterprise Edition (Java EE)

Java Platform, Micro Edition (Java ME)

Java FX

All Java platforms consist of a Java Virtual Machine (VM) and an application programming
interface (API). The Java Virtual Machine is a program, for a particular hardware and software
platform, that runs Java technology applications. An API is a collection of software components
that you can use to create other software components or applications. Each Java platform
provides a virtual machine and an API, and this allows applications written for that platform to
run on any compatible system with all the advantages of the Java programming language:
platform-independence, power, stability, ease-of-development, and security.

24
E-LEARNING

Java SE

When most people think of the Java programming language, they think of the Java SE API. Java
SE's API provides the core functionality of the Java programming language. It defines
everything from the basic types and objects of the Java programming language to high-level
classes that are used for networking, security, database access, graphical user interface (GUI)
Development and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development
tools, deployment technologies, and other class libraries and toolkits commonly used in Java
Technology applications.

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an
API and runtime environment for developing and running large-scale, multi-tiered, scalable,
Reliable, and secure network applications.

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java
Programming language applications on small devices, like mobile phones. The API is a subset of
the Java SE API, along with special class libraries useful for small device application
development. Java ME applications are often clients of Java EE platform services.

Java FX

Java FX is a platform for creating rich internet applications using a lightweight user-interface
API. Java FX applications use hardware-accelerated graphics and media engines to take
advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs
For connecting to networked data sources. Java FX applications may be clients of Java EE
platform services.

25
E-LEARNING

Overview of Enterprise Applications

As stated above, the Java EE platform is designed to help developers create large-scale, multi-
tiered, scalable, reliable, and secure network applications. A shorthand name for such
applications is enterprise applications, so called because these applications are designed to
solve the problems encountered by large enterprises. Enterprise applications are not only useful

For large corporations, agencies, and governments, however. The benefits of an enterprise
application are helpful, even essential, for individual developers and small organizations in an
increasingly networked world.

The features that make enterprise applications powerful, like security and reliability, often make
these applications complex. The Java EE platform is designed to reduce the complexity of
enterprise application development by providing a development model, API, and runtime
environment that allows developers to concentrate on functionality.

9.2 NetBeans IDE

A free, open-source Integrated Development Environment for software developers.

One can get all the tools you need to create professional desktop, enterprise, web, and mobile
applications with the Java language, C/C++, and even dynamic languages such as PHP,
JavaScript, Groovy, and Ruby.

NetBeans IDE is easy to install and use straight out of the box and runs on many platforms
including Windows, Linux, Mac OS X and Solaris.

NetBeans IDE is an integrated development environment (IDE) for writing, compiling, testing,
and debugging desktop applications and web applications for the Java platform.

NetBeans IDE includes a full-featured text editor with syntax highlighting and error checking,
visual design tools, Ant support, version control system support, and many other features.

26
E-LEARNING

The NetBeans IDE 6.5 provides several new features and enhancements, such as rich PHP,
JavaScript and Ajax editing features, improved support for using the Hibernate web framework
and the Java Persistence API, and tighter GlassFish v3 and MySQL integration.

Netbeans Developing Windows Application:

Netbeans can be used to create professional-looking GUIs with automatic


spacing and alignment.

Professional Swing GUI Building

Design Swing GUIs by dragging and positioning GUI components from a palette onto a
canvas. The GUI builder automatically takes care of the correct spacing and alignment.
Click into JLabels, JButtons, ButtonGroups, JTrees, JTextFields, ComboBoxes and edit
their properties directly in place. You can use the GUI builder to prototype GUIs right in
front of customers.

Intuitive and Customizable

You can choose whether the GUI code should be generated with fully qualified or simple
class names. The help bar displays context-sensitive hints about what can be done with
the selected component and suggests shortcuts that can speed up your work in the future.
The NetBeans IDE also comes with built-in support for GUI localization and
accessibility. If you use JDK 6 Update 10, you can now preview your forms in the new
Nimbus look andfeel.

9.3 WHAT IS HTML?

HTML (Hyper Text Markup Language): A markup language used to structure text and
multimedia documents and to set up hypertext links between documents, used extensively on the
World Wide Web. HTML is a markup language that uses a fixed set of markup tags.

HTML is a programming language in that an HTML document is a program that,


when run by a browser, displays its text as Hypermedia.

27
E-LEARNING

HTML itself is the set of customizable markup tags that are inserted into HTML
document govern its format, multimedia content, and hyperlinks.

The HTML is really only a collection of predefined tags which, when inserted
into regular text, tell a web browser how to:

1. Format the document and its text.

2. Link into other locations, in the same document, in another web page, or
even on another server.

3. Incorporate i.e. insert a graphic image, videos or sound clips into


displayed document.

Features of HTML:

1. An HTML file can be created using a simple text editor.

2. HTML file must have an htm or html file extension.

3. An HTML file is a text file containing small markup tags.

4. The markup tags tell the browser how to display the page.

5. HTML is a display only technology.

Java Server Pages(JSP)

JSP is acronyms as Java Server Pages. JSP is a Java based technology that simplifies the process
of developing dynamic websites. We call it Java Server Pages because these are run on server &
written on Java. Within the JSP we process a request & display the request.

Life cycle of JSP.

There are 2 phases of JSP cycle

1) Translation Phase.

28
E-LEARNING

2) Request Processing Phase.

Advantages of JSP:

1. Write Once, Run Anywhere Properties i.e. Java Server Pages Technology is platform
Independent.

2. It support high quality tool.

3. The Java Server Pages technology emphasizes the use of reusable components such
as Java Beans components, Enterprise Java Beans Components & tag libraries.

4. The JSP technology enables the separation of static content from dynamic content.
The separation is supported by beans specifically designed for the interaction with
server side objects & by tags extension mechanism.

5. Java Server Pages technology support scripting elements as well as actions.

6. JSP technology is an integral part of the Java2Platform Enterprise Edition (J2EE),


which brings Java Technology to enterprise computing.

7. JSP is typically implemented via servlets. When a web server receives a request for a
JSP page, it forwards it to a special process dedicated to handling servlet execution.
This process is referred to as the servlet container.

8. JSP support splitting of presentation i.e. the display of information to the end user and
program implementation. The code used to generate that information in the first
place.

JSP Tag Convention:

1. Directive: Directive element is used to use a library or import a page or include the
output of another file of a jsp.

<% @ taglib prefix=c user=http://java.sun.com/jsp/jstl/core%>

Taglib: This tag is used to use a library.

29
E-LEARNING

URI: Uniform Resource Identifier.

C: C is small name of core.

2. Scriptlet: This is used to insert a java code in JSP. It has 3 forms:

<% int a = = 6; %> : Initialization

<% = a %> : Output

<% .. %>: Java Code

3. Standard action: These contain standard JSP tags that are used for setting the values
taken from HTML form & store it in the Java class and vice versa.

9.4 JavaScript

JavaScript is a cross-platform, object-oriented scripting language. JavaScript is a small,


lightweight language; it is not useful as a standalone language, but is designed for easy
embedding in other products and applications, such as web browsers. Inside a host environment,
JavaScript can be connected to the objects of its environment to provide programmatic control
over them.

Core JavaScript contains a core set of objects, such as Array, Date, and Math, and a core set of
language elements such as operators, control structures, and statements. Core JavaScript can be
extended for a variety of purposes by supplementing it with additional objects; for example:

Client-side JavaScript extends the core language by supplying objects to control a browser
(Navigator or another web browser) and its Document Object Model (DOM). For example,
client-side extensions allow an application to place elements on an HTML form and respond to
user events such as mouse clicks, form input, and page navigation.

Server-side JavaScript extends the core language by supplying objects relevant to running
JavaScript on a server. For example, server-side extensions allow an application to communicate

30
E-LEARNING

with a relational database, provide continuity of information from one invocation to another of
the application, or perform file manipulations on a server.

Through JavaScript's Live Connect functionality, you can let Java and JavaScript code
communicates with each other. From JavaScript, you can instantiate Java objects and access their
public methods and fields. From Java, you can access JavaScript objects, properties, and
methods.

Netscape invented JavaScript, and JavaScript was first used in Netscape browsers.

JavaScript and Java

JavaScript and Java are similar in some ways but fundamentally different in some others. The
JavaScript language resembles Java but does not have Java's static typing and strong type
checking. JavaScript follows most Java expression syntax, naming conventions and basic
control-flow constructs which was the reason why it was renamed from Live Script to
JavaScript.

In contrast to Java's compile-time system of classes built by declarations, JavaScript supports a


runtime system based on a small number of data types representing numeric, Boolean, and string
values. JavaScript has a prototype-based object model instead of the more common class-based
object model. The prototype-based model provides dynamic inheritance; that is, what is inherited
can vary for individual objects. JavaScript also supports functions without any special
declarative requirements. Functions can be properties of objects, executing as loosely typed
methods.

JavaScript is a very free-form language compared to Java. You do not have to declare all
variables, classes, and methods. You do not have to be concerned with whether methods are
public, private, or protected, and you do not have to implement interfaces. Variables, parameters,
and function return types are not explicitly typed.

Java is a class-based programming language designed for fast execution and type safety. Type
safety means, for instance, that you can't cast a Java integer into an object reference or access
private memory by corrupting Java byte codes. Java's class-based model means that programs

31
E-LEARNING

consist exclusively of classes and their methods. Java's class inheritance and strong typing
generally require tightly coupled object hierarchies. These requirements make Java programming
more complex than JavaScript programming.

In contrast, JavaScript descends in spirit from a line of smaller, dynamically typed languages
such as Hyper Talk and dBase. These scripting languages offer programming tools to a much
wider audience because of their easier syntax, specialized built-in functionality, and minimal
requirements for object creation.

9.5 INRODUCTION TO TOMCAT

WEBSERVER and JSP

TOMCAT is the server container that is used in the official Reference Implementation for
the Java Servlet and Java Server Pages technologies. The Java Servlet and Java server Pages
specification are developed by Sun under the Java community Process.

Tomcat is developed in an open and participatory environment and released under the Apache
Software License. Tomcat is intended to be a collaboration of the best-of-breed developers from
around the world.

TOMCAT VERSION

For the impatient, current Tomcat production quality releases vs. Servlet/JSP
specifications:

Servlet/JSP Spec Tomcat Version

2.4/2.0 5.5.9

2.3/1.2 4.1.31

2.2/1.1 3.3.2

Note that although we offer downloads and documentation of older releases, such as
Tomcat 3.x and 4.x, we strongly encourage users to use the latest stable version of Tomcat. We

32
E-LEARNING

recognize that upgrading across major version not be a trivial task, and some support is still
offered on the mailing list for users of old versions.

TOMCAT 5.x

Tomcat 5.5 is the current focus of development. While it supports same Servlet and JSP
Specification versions as Tomcat 5.0.x, there are significant changes in many areas under the
hood, resulting in improved performance, stability, and total cost of ownership.

9.6 What is AJAX?

AJAX = Asynchronous JavaScript and XML.

AJAX is a technique for creating fast and dynamic web pages.

AJAX allows web pages to be updated asynchronously by exchanging small amounts of data
with the server behind the scenes. This means that it is possible to update parts of a web page,
without reloading the whole page.

Classic web pages, (which do not use AJAX) must reload the entire page if the content should
change.

Fig3.1 Working of AJAX


33
E-LEARNING

AJAX is Based on Internet Standards:

AJAX is based on internet standards, and uses a combination of:

XMLHttpRequest object (to exchange data asynchronously with a server)


JavaScript/DOM (to display/interact with the information)
CSS (to style the data)
XML (often used as the format for transferring data)

AJAX applications are browser- and platform-independent!

Examples of applications using AJAX: Google Maps, Gmail, Youtube, and Facebook tabs.

Google Suggest

AJAX was made popular in 2005 by Google, with Google Suggest.

Google Suggest is using AJAX to create a very dynamic web interface: When you start
typing in Google's search box, a JavaScript sends the letters off to a server and the server returns
a list of suggestions

9.7 JQUERY

jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting


of HTML. It was released in January 2006 at BarCamp NYC by John Resig. Used by over 49%
of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today.

jQuery is free, open source software, dual-licensed under the MIT License and the GNU
General Public License, Version 2. jQuery's syntax is designed to make it easier to navigate a

34
E-LEARNING

document, select DOM elements, create animations, handle events, and develop Ajax
applications. jQuery also provides capabilities for developers to create plug-ins on top of the
JavaScript library. This enables developers to create abstractions for low-level interaction and
animation, advanced effects and high-level, theme-able widgets. The modular approach to the
jQuery framework allows the creation of powerful and dynamic web pages and web applications.

jQuery contains the following features:

Events

CSS manipulation

Effects and animations

Ajax

Extensibility through plug-ins

Utilities - such as browser version and the each function.

Effects and animations.

9.8 MySql

2.a MySql

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL
(Structured Query Language) database server. MySQL Server is intended for mission-critical,
heavy-load production systems as well as for embedding into mass-deployed software. Oracle is
a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark of
Oracle Corporation and/or its affiliates, and shall not be used by Customer without Oracle's
express written authorization. Other names may be trademarks of their respective owners.

35
E-LEARNING

The MySQL software is Dual Licensed. Users can choose to use the MySQL software as an
Open Source product under the terms of the GNU General Public License or can purchase a
standard commercial license from Oracle.

Main features

Internals and Portability:

Written in C and C++.

Tested with a broad range of different compilers.

Works on many different platforms. Operating Systems Supported by MySQL


Community Server.

Tested with Purify (a commercial memory leakage detector) as well as with Valgrind, a
GPL tool Uses multi-layered server design with independent modules.

Designed to be fully multi-threaded using kernel threads, to easily use multiple CPUs if
they are available.

Provides transactional and no transactional storage engines.

Uses very fast B-tree disk tables (MyISAM) with index compression.

Designed to make it relatively easy to add other storage engines. This is useful if you
want to provide an SQL interface for an in-house database.

Uses a very fast thread-based memory allocation system.

Executes very fast joins using an optimized nested-loop join.

Implements in-memory hash tables, which are used as temporary tables.

Implements SQL functions using a highly optimized class library that should be as fast as
possible. Usually there is no memory allocation at all after query initialization.

36
E-LEARNING

Provides the server as a separate program for use in a client/server networked


environment, and as a library that can be embedded (linked) into standalone applications.
Such applications can be used in isolation or in environments where no network is
available.

Data Types:

Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT,

DOUBLE, CHAR, VARCHAR, BINARY,VARBINARY, TEXT, BLOB, DATE, TIME, DATETIME, TIM

ESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types.

Fixed-length and variable-length string types.

Statements and Functions:

Full operator and function support in the SELECT list and WHERE clause of queries. For
example:

Mysql> SELECT CONCAT (first_name, ' ' , last_name)

-> FROM citizen

-> WHERE income/dependents > 10000 AND age > 30;

Full support for SQL GROUP BY and ORDER BY clauses. Support for group functions
(COUNT(), AVG(), STD(),SUM(), MAX(), MIN(), and GROUP_CONCAT()).

Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC
syntax.

Support for aliases on tables and columns as required by standard SQL.

Support for DELETE, INSERT, REPLACE, and UPDATE to return the number of rows that were
changed (affected), or to return the number of rows matched instead by setting a flag when
connecting to the server.

37
E-LEARNING

Support for MySQL-specific SHOW statements that retrieve information about databases, storage
engines, tables, and indexes. MySQL 5.0 adds support for the INFORMATION_ SCHEMA
database, implemented according to standard SQL.

An EXPLAIN statement to show how the optimizer resolves a query.

Independence of function names from table or column names. For example, ABS is a valid
column name. The only restriction is that for a function call, no spaces are permitted between the
function name and the ( that follows it.

You can refer to tables from different databases in the same statement.

Security:

A privilege and password system that is very flexible and secure, and that enables host-based
verification.

Password security by encryption of all password traffic when you connect to a server.

Scalability and Limits:

Support for large databases. We use MySQL Server with databases that contain 50 million
records. We also know of users who use MySQL Server with 200,000 tables and about
5,000,000,000 rows.

Support for up to 64 indexes per table (32 before MySQL 4.1.2). Each index may consist of 1 to
16 columns or parts of columns. The maximum index width is 767 bytes for InnoDB tables, or
1000 for MyISAM; before MySQL 4.1.2, the limit is 500 bytes. An index may use a prefix of a
column for CHAR, VARCHAR, or TEXT column types.

Connectivity:

Clients can connect to MySQL Server using several protocols:

Clients can connect using TCP/IP sockets on any platform.

38
E-LEARNING

On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can connect using
named pipes if the server is started with the --enable-named-pipe option. In MySQL 4.1 and
higher, Windows servers also support shared-memory connections if started with the --shared-
memory option. Clients can connect through shared memory by using the protocol
=memory option.

On Unix systems, clients can connect using Unix domain socket files.

MySQL client programs can be written in many languages. A client library written in C is
available for clients written in C or C++, or for any language that provides C bindings.

APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available, enabling MySQL
clients to be written in many languages.

The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that
use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to
connect to your MySQL server. Clients can be run on Windows or Unix. Connector/ODBC
source is available. All ODBC 2.5 functions are supported, as are many others..

The Connector/J interface provides MySQL support for Java client programs that use JDBC
connections. Clients can be run on Windows or Unix. Connector/J source is available.

MySQL Connector/Net enables developers to easily create .NET applications that require secure,
high-performance data connectivity with MySQL. It implements the required ADO.NET
interfaces and integrates into ADO.NET aware tools. Developers can build applications using
their choice of .NET languages. MySQL Connector/Net is a fully managed ADO.NET driver
written in 100% pure C#.

Multi-core scalability. Scalability on multi-core CPUs is improved. The trend in hardware


development now is toward more cores rather than continued increases in CPU clock speeds,
which renders wait until CPUs get faster a nonviable means of improving database
performance. Instead, it is necessary to make better use of multiple cores to maximally exploit
the processing cycles they make available. MySQL 5.5 takes advantage of features of SMP

39
E-LEARNING

systems and tries to eliminate bottlenecks in MySQL architecture that hinder full use of multiple
cores. The focus has been on InnoDB, especially locking and memory management.

Semi synchronous replication. A commit performed on the master side blocks before returning
to the session that performed the transaction until at least one slave acknowledges that it has
received and logged the events for the transaction. Semisynchronous replication is implemented
through an optional plugin component.

9.9 ADOBE DREAMWEAVER CS3 - IDE

Adobe Dreamweaver is a web development application originally created by


Macromedia, and is now developed by Adobe Systems, which acquired Macromedia in 2005.

Dreamweaver is available for both Mac and Windows operating systems. Recent versions
have incorporated support for web technologies such as CSS, JavaScript and various server side
scripting languages and frameworks including ASP, ColdFusion, and PHP.

Dreamweaver allows users to preview websites natively in a preview pane or in locally


installed web browsers. It provides transfer and synchronization features, the ability to find and
replace lines of text or code by search terms and regular expressions across the entire site, and a
templating feature that allows single-source update of shared code and layout across entire sites
without server-side includes or scripting. The behaviours panel also enables use of basic
JavaScript without any coding knowledge, and integration with Adobe's Spry Ajax framework
offers easy access to dynamically-generated content and interfaces.

Dreamweaver can use third-party "Extensions" to extend core functionality of the


application, which any web developer can write (largely inHTML and JavaScript). Dreamweaver
is supported by a large community of extension developers who make extensions available (both
commercial and free) for most web development tasks from simple rollover effects to full-
featured shopping carts.

40
E-LEARNING

Dreamweaver, like other HTML editors, edits files locally then uploads them to the remote web
server using FTP, SFTP, or WebDAV. Dreamweaver CS4 now supports the Subversion
(SVN) version control system.

10 DATABASE TABLES

TABLE NAME: educationdb

1. Usertable

2. Admintable

3. Contacttable

4. Categorytable

5. Subcategorytable

6. Topictable

7. Notetable

41
E-LEARNING

10.1 SNAPSHOTS OF DATABASE TABLES

USERTABLE STRUCTURE:

USERTABLE BROWSE

42
E-LEARNING

ADMIN TABLE STRUCTURE

ADMIN TABLE BROWSE

43
E-LEARNING

CONTACT TABLE STRUCTURE

CONTACT TABLE BROWSE

44
E-LEARNING

CATEGORY TABLE STRUCTURE

CATEGORY TABLE BROWSE

45
E-LEARNING

SUBCATEGORY TABLE STRUCTURE

SUBCATEGORY TABLE BROWSE

46
E-LEARNING

TOPIC TABLE STRUCTURE

TOPIC TABLE BROWSE

47
E-LEARNING

NOTE TABLE STRUCTURE

NOTE TABLE BROWSE

48
E-LEARNING

11 SNAPSHOTS OF PROJECT E-LEARNING

11.1 HOME PAGE

11.2 LOGIN PAGE

49
E-LEARNING

11.3 STUDENT AREA

50
E-LEARNING

11.4 ADMIN AREA

51
E-LEARNING

11.5 VIEW NOTES

11.6 CHANGE PASSWORD

52
E-LEARNING

11.7 CONTACT US

53
E-LEARNING

11.8 ADD STUDENT

11.9 ADD CATEGORY

54
E-LEARNING

11.10 ADD SUB-CATEGORY

11.11 ADD TOPIC

55
E-LEARNING

11.12 ADD NOTES

1.

2.

56
E-LEARNING

11.13 LIST OF MEMBERS

11.14 LIST OF NOTES

57
E-LEARNING

12. SYSTEM TESTING

12.1 INTRODUCTION:

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


evaluate the system's compliance with its specified requirements. System testing falls within the
scope of black box testing, and as such, should require no knowledge of the inner design of the
code or logic.

As a rule, system testing takes, as its input, all of the "integrated" software components that have
successfully passed integration testing and also the software system itself integrated with any
applicable hardware system(s). The purpose of integration testing is to detect any inconsistencies
between the software units that are integrated together (called assemblages) or between any of
the assemblages and the hardware. System testing is a more limited type of testing; it seeks to
detect defects both within the "inter-assemblages" and also within the system as a whole.

Testing presents an interesting challenge for the software engineers attempt to build software
from an abstract concept to an acceptable implementation. In testing engineer create a series of
test cases that occurs when errors are uncovered. Testing is the process of executing a program
for finding errors. A good test is one that has the high probability of finding an uncovered error.
A successful error is one that uncovers undiscovered errors.

The term error is used to refer the difference between actual output of the software and the
current output. Fault is a condition that causes the software to fail to perform its required
function. Software reliability is defined as a required function. Software reliability is defined as
the probability that the software will not undergoes failures for a specified times under specified
condition. Failure is the inability of a system or a component to perform a required function
according to its specification. Different levels of testing were employed for software to make it
error free, fault free and reliable.

Unit Testing:

Unit testing was conducted first. Different modules of the software like admin panel, user
interaction etc were tested against the specifications produced during design of the modules.

58
E-LEARNING

Verification of the code produced during the coding phase was done. Each module was tested
separately.

Unit testing focuses verification effort on the smallest unit of software design module. This
uncovers errors within the boundary of a module. Unit testing is actually White box testing both
the external things as well as the internal codes are tested. In testing, the interfaces are tested in
order to ensure the proper flow of data in and out of the module. The boundary testing is done to
ensure that the module keeps the limit of it. All independent paths are tested to ensure that all
statements are tested at least once. At last the error path is also tested.

Unit testing comprises the set of tests performed by an individual programmer prior to
integration of the unit into a larger system. There are four categories of test that can be
performed on a program unit

Functional Unit

Performance Unit

Stress Unit

Structure Unit

System Testing:

Then system testing was conducted. Here the entire software system as a whole was tested.

The reference document used for this process was requirement document and the goal was to see
if the software meets its requirements.

System testing includes the thorough testing of the product. System testing is actually a series of
different tests whose primary purpose is to fully exercise the computer based system. The tests
are recovery testing: this checks the recovery of the system when failure occurs. This is to ensure
that there are recovery procedures for error occurrences.

59
E-LEARNING

System testing involves unit testing, integration testing, acceptance modules will be
available for integration into the evolving software product when needed. A test plan has
the following steps:

Prepare test plan

Specify conditions for user acceptance testing

Prepare test data for program testing

Prepare test data for transaction path testing

Plan user testing

Compile/Assemble program

Prepare job performance aids

Prepare operational documents

Objectives of testing

First of all objectives should be clear.

Testing as a process of executing a program with the intent of finding errors.

To perform testing, test cases are designed. A test case is a particular made up of artificial
situation upon which a program is exposed so as to find errors. So a good test case is one
that finds undiscovered errors.

If testing is done properly, it uncovers errors and after fixing those errors we have
software that is being developed according to specifications.

The above objective implies a dramatic change in viewpoint .The move counter to the commonly
held view than a successful test is one in which no errors are found. In fact, our objective is to
design tests that a systematically uncover different classes of errors and do so with a minimum
amount of time and effort.

60
E-LEARNING

Testing principles

Before applying methods to design effective test cases, software engineer must understand the
basic principles that guide the software testing process. Some of the most commonly followed
principles are:

All test should be traceable to customer requirements as the objective of testing is to uncover
errors, it follows that the most severe defects (from the customers point of view) are those that
causes the program to fail to meet its requirements.

Tests should be planned long before the testing begins. Test planning can begin as soon as the
requirement model is complete. Detailed definition of test cases can begin as soon as the design
model has been solidated. Therefore, all tests can be planned and designed before any code can
be generated.

The Pareto principle applies to software testing stated simply the Pareto principle implies that 80
percent of all errors uncovered during testing will likely be traceable to 20 percent of all program
modules. The problem of course, is to isolate these suspects modules and to thoroughly test
them.

Testing should begin in the small and progress towards testing in large. The first tests
planned and executed generally focus on individual modules. As testing progresses, testing shifts
focus in an attempt to find errors in integrated clusters of modules and ultimately in the entire
system.

Exhaustive testing is not possible. The number of paths permutations for impossible to execute
every combination of paths during testing. It is possible however to adequately cover program
logic and to ensure that all conditions in the procedural design have been exercised.

To be most effective, an independent third party should conduct testing. By most effective, we
mean testing that has the highest probability of finding errors (the primary objective of testing).

61
E-LEARNING

Software project management is an umbrella activity within software engineering. It begins


before any technical activity is intimated and continues throughout the definition, development,
and maintenance of computer software.

Three ps 1 have a substantial influence on software project management people, problem, and
process. People must be organized into effective teams, motivated to do high quality software
work, and coordinated to achieve effective communication. The problem communicated from
customer to developer, partitioned (decomposed) into its constitute parts, and positioned for
work by the software team. The process must be adapted to the people and the problem. A
common process framework is selected, an appropriate software engineering paradigm is
applied, and a set of work is chosen to get the job done.

The pivotal element in all software projects is people. Software engineers can be organized in a
number of different team structures that range from traditional control hierarchies to Open
paradigm team. A variety of coordination and communication techniques can be applied to
support the work of the team. In general, formal reviews and informal person-to-person
communication have the most value for the practitioners.

The project management activity encompasses measurement and metrics, estimation, risk
analysis, schedules, tracking and control, and control. Each of these steps was followed during
project also.

Test information flow

Testing is a complete process. For testing we need two types of inputs:

Software configuration it includes software requirement specification, design specification and


source code of program. Software configuration is required so that testers know what is to be
expected and tested.

Test configuration it is basically test plan and procedure. Test configuration is testing plan that
is, the way how the testing will be conducted on the system. It specifies the test cases and their
expected value. It also specifies if any tools for testing are to be used.

62
E-LEARNING

Test cases are required to know what specific situations need to be tested. When tests are
evaluated, test results are compared with actual results and if there is some error, then debugging
is done to correct the error. Testing is a way to know about quality and reliability. Error rate that
is the occurrence of errors is evaluated. This data can be used to predict the occurrence of errors
in future.

Test case design

We know, test cases are integral part of testing. So we need to know more about test cases and
how these test cases are designed. The most desired or obvious expectation from the test cases is
that it should be able to find most errors with the least amount of time and effort.

A software product can be tested in two ways. In first approach, only overall functioning of the
product is tested. Inputs are given and outputs ate checked. This approach is called black box
testing. It does not care about the internal functioning of the product.

The other approach is called white box testing. Here the internal functioning of he product is
tested. Each procedure is tested for its accuracy. It is more intensive than black box testing. But
for the overall product both these techniques are crucial. There should be sufficient number of
tests in both categories to test the overall product.

Basic methods of Testing

White box testing

White box testing is performed to reveal problems with the internal structure of a program. This
requires the tester to have detailed knowledge of the internal structure. A common goal of white
box testing is to ensure a test case exercises every path through a program. A fundamental
strength that all white box strategies share is that the entire software implementation is taken into
account during testing, which facilitates error detection even when software specification is
vague or incomplete. The effectiveness or thoroughness of white box testing is commonly
expressed in terms of test or code coverage metrics, which measure the fraction of code
exercised by test cases.

63
E-LEARNING

Basic Path Testing

It is a white box technique. It was proposed by Tom McCabe. These tests guarantee to execute
every statement in the program at least one time during testing. Basic set is the set of all
execution paths of a procedure.

Black Box Testing

Black box tests are performed to access how well a program meets its requirements, looking for
incorrect or missing functionality. Functional tests typically exercise code with valid or nearly
valid input for which the expected output is known. This includes concepts such as boundary
values.

Performance tests evaluate response time, memory usage, throughput, device utilization and
execution time. Stress tests push the system to or beyond its specified limits to evaluate its
robustness and error handling capabilities. Reliability tests monitor system response to
representative user input, counting failures over time to measure or certify reliability.

Black box testing uncovers the following types of errors

Incorrect or missing functions

Interface errors

External database access

Performance errors

Initialization and termination errors

The following techniques are employed during black box testing

Integration Testing

One of the most difficult aspects of software development is the integration and testing of large
untested subsystems the integrated system frequently fails in significant ands mysterious ways,
and it is difficult to fix it.

64
E-LEARNING

Integration testing exercises several units that have been combined to form a module, subsystem
or system. Integration testing focuses on the interfaces between units, to make sure the units
work together. The nature of this phase is certainly white box, as we must have knowledge of
the units to recognize if we have been successful in focusing them together in the module.

13. CONCLUSION

The system has been developed for the given condition and is found working effectively. The
developed system is flexible and changes whenever can be made easy. Using the facilities and
functionalities of Oracle, the software has been developed in a neat and simple manner, thereby
reducing the operators work.

The speed and accuracy are maintained in proper way. The user friendly nature of this software
developed in .Net framework is very easy to work with both for the higher management as well
as other employees with little knowledge of computer. The results obtained were fully
satisfactory from the user point of view.

The system was verified with valid as well as invalid data in each manner. the system is run with
an insight into the necessary modifications that may require in the future. Hence the system can
be maintained successfully without much network.

65

Potrebbero piacerti anche