Download as pdf or txt
Download as pdf or txt
You are on page 1of 57

1.

INTRODUCTION

1.1 PROBLEM STATEMENT

Cloud computing is a kind of Internet-based computing that uses the internet and
central remote servers to maintain data and applications. Cloud computing allows
consumers and businesses to use applications without installation and access their
personal files at any computer with internet access. It frees a user from the concerns
about the expertise in the technological infrastructure of the service. It allows end users
and small companies to make use of various computational resources like storage,
software and processing capabilities provided by other companies. The cloud services
can be divided into three categories: Infrastructure as a Service (IaaS), Platform as a
Service (PaaS), and Software as a Service (SaaS). Amazon, Microsoft, Google are some
of the major cloud service providers. Google App Engine (GAE) is a type of PaaS
provided by Google which allows web application hosting. Windows Azure, SQL
Azure is some of the services offered by Microsoft providing processing and storage
capabilities for large datasets. Amazon Web Services (AWS) including Simple Storage
Service (S3), SQS, EC2 are cloud services provided by Amazon. Thus convenience, on
demand measured access, shared easily configurable computational resources, and self-
service are some of the major characteristics of a cloud environment.

1.2 MOTIVATION

Cloud computing refers to the web-based computing, providing users or devices with
a shared pool of resources, information or software on demand and pay per-use basis.
It frees a user from the concerns about the expertise within the technological
infrastructure of the service. It allows users and little companies of or use varied
computational resources like storage, software and processing capabilities provided by
other companies. The cloud services are often divided into three categories:
Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a
Service (SaaS) [2]. Amazon, Microsoft, Google are a number of the main cloud service
providers. App Engine (GAE) may be a sort of PaaS provided by Google which allows
web application hosting. Windows Azure, SQLAzure are a few of the services offered
by Microsoft providing processing and storage capabilities for giant datasets [3].

1
Amazon Web Services (AWS) including Simple Storage
Service (S3), SQS, EC2 are cloud services provided by the Amazon [1].This paper
presents an approach to mine the info securely using-means algorithm from the cloud
even with in the presence of adversaries. This approach assumes that the info isn't
stored during a centralized location but is distributed to varied hosts. This proposed
approach prevents any intermediated at a leakage within the process of computation
while maintaining the correctness and validity of the info mining process and therefore
the end results.

1.3 OBJECTIVE

With the advancement in technology, industry, and research a large amount of data is
being generated which is increasing at an exponential rate. Traditional Data Storage
systems are not able to handle Data and also analyzing the Data becomes a challenge
and thus it cannot be handled by traditional analytic tools. Data Mining based attacks,
a major threat to the data, allows an adversary or an unauthorized user to infer valuable
and sensitive information by analyzing the results generated from computation
performed on the raw data. Data Mining based attacks, a major threat to the data, allows
an adversary or an unauthorized user to infer valuable and sensitive information by
analyzing the results generated from computation performed on the raw data. The
homomorphic public key encryption is a cryptographic system that allows the
performance of a set of operations on the data when they are encoded, resulting in its
data appearing in plain text. The approach is able to maintain the correctness and
validity of the existing k-means to generate the final results even in the distributed
environment

1.4 FEASIBILITY STUDY


The feasibility of the Anonymity based privacy preserving data reporting for
participatory sensing is analyzed in this phase and a business proposal is put forth with
a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some
understanding of the major requirements for the system is essential.

2
Three key considerations involved in the feasibility analysis are:

1. Economic Feasibility
2. Technical Feasibility
3. Social Feasibility

1. Economic Feasibility:

This study is carried out to check the economic impact that the system will have on
the organization. The amount of funds that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus, the
developed system as well within the budget and this was achieved because most of the
technologies used are freely available. Only the customized products had to be
purchased.
2. Technical Feasibility:

This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on
the available technical resources. This will lead to high demands on the available
technical resources. This will lead to high demands being placed on the client. The
developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.
3. Social Feasibility:

The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must
not feel threatened by the system, instead must accept it as a necessity. The level of
acceptance by the users solely depends on the methods that are employed to educate
the user about the system and to make him familiar with it. His level of confidence
must be raised so that he is also able to make some constructive criticism, which is
welcomed, as he is the final user of the system.

1.5 SOFTWARE REQUIREMENT SPECIFICATION

Purpose:
All software requirements of the A HYBRID CLOUD APPROACH FOR
SECURE AUTHORIZED secure mining by protecting data stored in cloud databases

3
from a given datasets are specified in this document. We also present several new
secure mining constructions supporting Authorized duplicate check in a hybrid cloud
architecture its successor is the system detail design document.

Scope:

CLOUD computing provides seemingly unlimited “virtualized” resources to


users as services across the whole Internet, while hiding platform and implementat ion
details. As cloud computing becomes prevalent, an increasing amount of data is being
stored in the cloud and shared by users with specified privileges, which define the
access rights of the stored data. Instead of keeping multiple data copies with the same
content, secure mining eliminates redundant data by keeping only one physical copy
and referring other redundant data to that copy.

Document Conventions:

The first initial of each component name is in capital. The terms service and
system are interchangeable in this document.

Business Opportunity:

The service provider is responsible for providing the service related to the
requested data to the user. Cloud helps to upload data in very big sizes which can be
shared among the users. Cloud computing has emerged as one of the most useful
techniques in information technology. Cloud computing is an umbrella term used to
refer to internet based development and services. Cloud computing has some
characteristics like remotely hosted, co modified [8]. In these types of systems
sometimes data may be placed on the different infrastructure.

User-Level Goals:

The users need a system to fulfill these goals:

 To improved integrity.
 To increase the storage utilization.
 To remove the duplicate copies of data and improve the reliability.
 To improve the security

4
1.6 OVERALL DESCRIPTION:

Product Perspective:

Secure mining can also take place at the block level, which eliminates duplicate
blocks of data that occur in non-identical files. Although data secure mining brings a
lot of benefits, security and privacy concerns arise as users’ sensitive data are
susceptible to both insider and outsider attacks. Traditional encryption, while providing
data confidentiality, is incompatible with data secure mining. We also presented several
new secure mining constructions supporting authorized duplicate check in hybrid cloud
architecture, in which the duplicate-check tokens of files are generated by the private
cloud server with private keys RSA encryption has been proposed to enforce data
confidentiality while making secure mining feasible. It encrypts/decrypts a data copy
with a key, which is obtained by computing the cryptographic hash value of the content
of the data copy.

Product Functions:

After key generation and data encryption, users retain the keys and send the
cipher text to the cloud. To prevent unauthorized access, a secure proof protocol is also
needed to provide the proof that the user indeed owns the same file when a duplicate is
found. After the proof, subsequent users with the same file will be provided a pointer
from the server without needing to upload the same file.

Design and Implementation Constraints:

 The developed techniques will allow flexibility in accessing data from different
users in a cloud environment.
 The file in the cloud environment can be broken from time to time.
 Secure mining systems cannot support differential authorization duplicate
check, which is important in many applications.
Assumptions and Dependencies:
The cloud platform allows the developers to create the applications that will run in
the cloud. Cloud storage is the concept in which data is placed on the cloud server
instead of the user's local drive. The infrastructure provides the user different services
which reduces the cost of maintaining the software. The hardware can be upgraded in

5
this kind of infrastructure provided by the cloud. The cloud services help in the cloud
to connect the different users through the network.

1.7 NON-FUNCTIONAL REQUIREMENTS:


The term non-functional requirements really is a complete misnomer. Who would, after
all, create a system based on requirements that were “not functional”? Non-functional
requirements refer to the qualities that a system should have and the constraints under
which it must operate. Non-functional requirements are sometimes referred to as the
“ilities,” because many end in “ility,” such as, availability, reliability, and
maintainability etc. Non-functional requirements will of course have an impact on the
functionality of the system. For example, a system may quite easily address all of the
functional requirements that have been specified for it but if that system is not available
for certain times during the day then it is quite useless even though it may be
functionally ‘complete’. On-functional requirements are not abstract things which are
written down when considering the design of a system and then ignored but must be
engineered into the systems design just like functional requirements are. Non-
functional requirements can have a bigger impact on systems design than functional
requirements and certainly if you get them wrong can lead to more costly rework.
Missing a functional requirement usually means adding it later or doing some rework.
Getting a non-functional requirement wrong can lead to some very costly rework or
even cancelled projects with the knock-on effect that has on reputation etc. From an
architects point of view, when defining how a system will address non-functional
requirements, it mainly (though not exclusively) boils down to how the computer
platforms (whether that be processors, storage or networking) are specified and
configured to be able to satisfy the qualities and constraints specified of it. As more and
more workloads get moved to the cloud, how much control do we as architects have in
specifying the non-functional requirements for our systems and which non-functionals
are the ones which should concern us most? As ever the answer to this question is “it
depends'. Every situation is different and for each case some things will matter more
than others. If you are a bank or a government department holding sensitive customer
data the security of your provider's cloud may be uppermost in your mind. If on the
other hand you are an on-line retailer who wants your customers to be able to shop at
any time of the day then availability may be most important. If you are seeking a cloud
platform to develop new services and products then maybe the ease of use of the

6
development tools is key. The question really is therefore not so much which are the
important non-functional requirements but which ones should I be considering in the
context of a cloud platform? Below are some of the key NFR’s I would normally expect
to be taken into consideration when looking at moving workloads to the cloud. These
apply whether they are public or private or a mix of the two. These apply to any of the
layers of the cloud stack (i.e. Infrastructure, Platform or Software as a Service) but will
have an impact on different users. For example availability (or lack of) of a SaaS service
is likely to have more of an impact on the business user than developers or IT operations
whereas availability of the infrastructure will affect all users.

 Availability – What percentage of time does the cloud vendor guarantee cloud
services will be available (including scheduled maintenance down-times)? Bear in
mind that although 99% availability may sound good that actually equates to just
over 3.5 days potential downtime a year. Even 99.99 could mean 8 hours of down
time. Also consider as part of this Disaster Recovery aspects of availability and if
more than one physical data center is used where do they reside? The latter is
especially true where data residency is an issue if your data needs to reside on-
shore for legal or regulatory reasons.
 Elasticity (Scalability) – How easy is it to bring on line or take down compute
resources (CPU, memory, network) as workload increases or decreases?
 Interoperability – If using services from multiple cloud providers how easy is
it to move workloads between cloud providers? (Hint: open standards help
here). Also what about if you want to migrate from one cloud provider to
another? (Hint: open standards help here as well).
 Security – What security levels and standards are in place? for public/privat e
clouds not in your data center also consider physical security of the cloud
providers data center’s as well as networks. Data residency again needs to be
considered as part of this.
 Adaptability – How easy is it to extend, add to or grow services as business needs
change? For example if I want to change my business processes or connect to
new back end or external API’s how easy would it be to do that.
 Performance – How well suited is my cloud infrastructure to supporting the
workloads that will be deployed onto it, particularly as workloads grow.
 Usability – This will be different depending on who the client is (i.e. business users,

7
developers/architects or IT operations). In all cases however you need to consider
ease of use of the software and how well designed interfaces are etc. IT is no longer
hidden inside your own company, instead your systems of engagement are out there
for all the world to see. Effective design of those systems is more important than
ever before.
 Maintainability – More from an IT operations and developer point of view. How
easy is it to manage (and develop) the cloud services.
 Integration – In a world of hybrid cloud where some workloads and data need to
remain in your own data center (usually systems of record) whilst others need to
be deployed in public or private clouds (usually systems of engagement) how those
two clouds integrate is crucial.

I mentioned at the beginning of this post that non-functional requirements should


actually be considered in terms of the qualities you want from your IT system as well
as the constraints you will be operating under. The decision to move to the cloud in
many ways adds a constraint to what you are doing. You don’t have complete free
reign to do whatever you want if you choose off-premise cloud operated by a vendor
but have to align with the service levels they provide. An added bonus (or complication
depending on how you look at it) is that you can choose from different service levels
to match what you want and also change these as and when your requirements change.
Probably one of the most important decisions you need to make when choosing a cloud
provider is that they have the ability to expand with you and don’t lock you into their
cloud architecture too much.

8
2. LITERATURE SURVEY

2.1 INTRODUCTION

Many researchers have attempted to provide security in the cloud using different
encryption techniques. Here is the observation summarization of each & every research
done. Ms. Deepti Mittal along with his team has stated an encryption technique called
secure data mining in cloud using homomorphic encryption technique. The proposed
approach performs k-means clustering of a dataset which is partitioned horizontally
and stored in two distinct areas. The methodology first runs locally then performs a
combined calculation on encrypted results to get complete results. The assumed model
is semi-honest adversary i.e. members attempt to release the information of each other
while keeping up their security. But the study was performed only on limited nodes and
it does not provide third party security during communication. This system works well
but can be made more reliable if authenticity will be provided. Mr. Shashank Bajpai
and his team have introduced a more reliable solution to secure data in the cloud using
a fully homomorphic encryption technique. This paper proposes security measurement
both in Public Cloud and Private Cloud. The proposed system is used to send data to
the cloud providers. Thus enabling cloud computing vendors to perform operations on
data as per request, such as analyzing sales patterns, without exposing the original data.
This can be achieved by cryptosystems based on Homomorphic Encryption. Authors
recommend improving the homomorphic encryption algorithm's complexity and
response time to requests that are calculated according to the length of the public key.
Mr. Aws Nasser Jaberand his team does study data security in the cloud. They studied
real Service suppliers, for example, Microsoft, Yahoo, and Google, have subsequently
added encryption to end-to-end information facilitating and administration for clients.
For instance, Google Cloud Storage now consequently scrambles every single new data
written on disk. As indicated by specialists, measures are critical for securing the
development of knowledge between the customer organizations and the suppliers of
cloud services. Ordered archives from the NSA demonstrate that they are attempting to
debilitate encryption calculations utilized by people in general. As indicated by the US
government, Cloud administration firms must hand over their encryption keys when
inquired. Such articulations have centered significant consideration on key
administration and information proprietorship. A cloud framework administration

9
organization, affirmed that in spite of the fact that encryption endeavors by
administration suppliers have fundamental influence in enhancing cloud
Security, their adequacy is constrained. Mrs. Uma Somaniand her team have
implemented Digital Signature with RSA Encryption Algorithm to Enhance the Data
Security of Cloud in Cloud Computing. In this research they have studied data security
in the cloud using the RSA algorithm. Cloud computing is the Concept Implemented
to unravel the Daily Computing Problems, preferences of Hardware Software and
Resource Availability unhurried by Computer clients. The distributed computing gives
an undemanding and non-incapable Solution for Daily Computing. The common
Problem Associated with Cloud Computing is the Cloud security and the proper
Implementation of Cloud over the Network. Mr. Khalid El Makkaouiand his team has
studied Challenges of Using Homomorphic Encryption to Secure Cloud Computing. In
this paper challenges of using homomorphic encryption techniques are discussed.
Cloud computing providers must implement concepts ensuring network security,
hardware, data storage and strategies of control and access to services. All these
elements help to preserve data security and ensure the availability of services associated
with the Cloud, to better satisfy clients and acquire and build their trust. Even if the
data storage security in cloud servers is assured, reluctance remains when it comes to
processing confidential data. The fear that sensitive data is being used is a major
obstacle in the adoption of cloud services by enterprises. Authors recommended
focusing on the analysis and improvement of the complexity of existing Homomorphic
Encryption algorithms by enabling cloud servers for performing various operations by
the clients and providing assurance of the quality of service. So, in general there is
scope of improvement in accuracy, privacy, security and authenticity in cloud
computing environment and still there is a scope of research in the area to improve the
security during the mining of data using cloud computing techniques.

2.2 EXISTING SYSTEM


 Recently, there are already some solutions for privacy preserving spatial range
queries.
 Protecting the privacy of user location in LBS has attracted considerable
interest. However, significant challenges still remain in the design of privacy-
preserving LBS, and new challenges arise particularly due to data outsourcing.
In recent years, there is a growing trend of outsourcing data including LBS data

10
because of its financial and operational benefits.
 Lying at the intersection of mobile computing and cloud computing, designing
privacy-preserving outsourced spatial range query faces the challenges.

2.2.1 DISADVANTAGES OF EXISTING SYSTEM


 Challenge on querying encrypted LBS data: The LBS provider is not willing to
disclose its valuable LBS data to the cloud. The LBS provider encrypts and
outsources private LBS data to the cloud, and LBS users query the encrypted data in
the cloud. As a result, querying encrypted LBS data without privacy breach is a big
challenge, and we need to protect not only the user locations from the LBS provider
and cloud but also LBS data from the cloud.
 Challenge on the resource consumption in mobile devices: Many LBS users are
mobile users, and their terminals are smart phones with very limited resources.
However, the cryptographic or privacy-enhancing techniques used to realize
privacy-preserving query usually result in high computational cost and/or storage
cost at the user side.
 Challenge on the efficiency of POI searching: Spatial range query is an online
service, and LBS users are sensitive to query latency. To provide good user
experiences, the POI search performing at the cloud side must be done in a short
time (e.g., a few seconds at most). Again, the techniques used to realize privacy-
preserving query usually increase the search latency.
 Challenge on security. LBS data are about POIs in the real world. It is reasonable
to assume that the attacker may have some knowledge about original LBS data. With
such knowledge, known-sample attacks are possible.

2.3 PROPOSED SYSTEM


 In this paper, we propose an efficient solution for privacy-preserving spatial range
query named EPLQ, which allows queries over encrypted LBS data without
disclosing user locations to the cloud or LBS provider.
 To protect the privacy of user location in EPLQ, we design a novel predicate-only
encryption scheme for the inner product range (IPRE scheme for short), which, to
the best of our knowledge, is the first predicate/predicate-only scheme of this kind.
To improve the performance, we also design a privacy preserving index structure

11
named ˆ ss-tree. Specifically, the main contributions of this paper are three folds.
 We propose IPRE, which allows testing whether the inner product of two vectors is
within a given range without disclosing the vectors. In predicate encryption, the key
corresponding to a predicate f can decrypt a cipher text if and only if the attribute of
the cipher text x satisfies the predicate, i.e., f(x) = 1. Predicate-only encryption is a
special type of predicate encryption not designed for encrypting/decrypt ing
messages. Instead, it reveals whether f(x) = 1 or not. Predicate-only encryption
schemes supporting different types of predicates have been proposed for privacy -
preserving query on outsourced data.
 We propose EPLQ, an efficient solution for privacy preserving spatial range query.
In particular, we show that whether a POI matches a spatial range query or not can
be tested by examining whether the inner product of two vectors is in a given range.
The two vectors contain the location information of the POI and the query,
respectively. Based on this discovery and our IPRE scheme, spatial range query
without leaking location information can be achieved. To avoid scanning all POIs
to find matched POIs, we further exploit a novel index structure named ˆ ss-tree,
which conceals sensitive location information with our IPRE scheme.
 Our techniques can be used for more kinds of privacy preserving queries over
outsourced data. In the spatial range query discussed in this work, we consider
Euclidean distance, which is widely used in spatial databases. Our IPRE scheme and
ˆ ss-tree may be used for searching records within a given weighted Euclidean
distance or great-circle distance as well. Weighted Euclidean distance is used to
measure the dissimilarity in many kinds of data, while great-circle distance is the
distance of two points on the surface of a sphere.

2.3.1 ADVANTAGES OF PROPOSED SYSTEM


 To the best of our knowledge, there does not exist a predicate/predicate-only
scheme supporting inner product range. Though our scheme is used for privacy
preserving spatial range query in this paper, it may be applied in other
applications as well.
 Experiments on our implementation demonstrate that our solution is very
efficient.
 Moreover, security analysis shows that EPLQ is secure under known-sample

12
attacks and cipher text-only attacks.
 Using great-circle distance instead of Euclidean distance for long distances on
the surface of earth is more accurate. By supporting these two kinds of
distances, privacy-preserving similarity query and long spatial range query can
also be realized.

2.4 SUMMARY
This Problem statement proposes a secure k-means data mining approach
assuming the data to be distributed among different hosts preserving the privacy of the
data. The approach is able to maintain the correctness and validity of the existing k-
means and generate the final results even in the distributed environment. A new
approach of modern cryptography, defined as the Homomorphic Encryption allows for
the encrypted data to be arbitrarily computed which is a solution that aims to preserve
the security, confidentiality and data privacy. This system proposes methods that ensure
the confidentiality and privacy in the mining of databases based on fully homomorphic
encryption.

13
3. SYSTEM DESIGN
3.1. SYSTEM ARCHITECTURE

A system architecture is the conceptual model that defines the structure, behavior,
and more views of a system. A system architecture can consist of system components
and the sub-systems developed that will work together to implement the overall
system.

Fig 3.1 System Architecture

3.2 UML DIAGRAMS

UML stands for unified modelling language. UML could be a language for
specifying, visualizing and documenting the system. This can be the step whereas
developing any product when analysis. The goal from this can be to supply a model
of the entities concerned within the project that later got to be designed. The
illustration of the entities that are to be employed in the merchandise being developed
need to be designed.

14
3.2.1 Use case Diagram

A use case diagram is a graphical depiction of a user's possible interactions with a


system. A use case diagram shows various use cases and different types of users the
system has and will often be accompanied by other types of diagrams as well. The
use cases are represented by either circles or ellipses.

Fig 3.2.1 Use Case diagram

15
3.2.2 Activity Diagram

Activity diagram is another important diagram in UML to describe the dynamic


aspects of the system. Activity diagram is basically a flowchart to represent the flow
from one activity to another activity. The activity can be described as an operation
of the system. The control flow is drawn from one operation to another.

Fig 3.2.2 Activity diagram

16
3.2.3 Sequence Diagram

A sequence diagram is a type of interaction diagram because it describes how - and


in what order - a group of objects works together. Sequence diagrams are sometime s
known as event diagrams or event scenarios. Note that there are two types of
sequence diagrams: UML diagrams and code-based diagrams.

Fig 3.2.3 Sequence Diagram

17
3.2.4 Class Diagram

Class diagram is a static diagram. The class diagrams are widely used in the modeling
of object oriented systems because they are the only UML diagrams, which can be
mapped directly with object-oriented languages. Class diagram shows a collection
of classes, interfaces, associations, collaborations, and constraints.

Fig 3.2.4 Class diagram

18
4. IMPLEMENTATION
This activity needs the utilization of metaphysics languages like bird of
Minerva, RDF schema etc., to make an estimable model. The end result of this activity
may be a written metaphysics in a political candidate language. The metaphysics
development languages ought to provide an associate analyses to ensure the absence
of syntax and lexical errors. It ought to give associate editor, translator and judge to
switch the definitions, to permit movability and to sight bound inconsistencies within
the metaphysics. The metaphysics implementation needs an associated atmosphere to
support the Ontologies selected at the mixing section.

4.1. Cloud Architecture

Fig 4.1 Cloud Architecture

Data which is collected through the source might be stored in the data
storage noted as cloud. The stored data will be used by the Educational Institutes
which use the data according to their requirements based on the demand. The data
will be processed by the E-Learning process where the conditional state of several
formations like System Management and the services which make the user through
the Learning object/ curriculum Development.

19
4.2. System development environment

The experimental design of the project includes the Windows7 and JDK
software system and MySQL 2008 databases. And SQL YOG needed to boot a
valid cat server.
The Java Platform

A platform is the hardware or code atmosphere during which a program runs.


We’ve already mentioned a number of the foremost fashionable platforms like
Windows 2000, Linux, Solaris, and Mac OS. Most platforms may be delineated as a
mix of the software package and hardware. The Java platform differs from most
different platforms in that it’s a software-only platform that runs on prime of other
hardware-based platforms.

The Java platform has 2 components:

• The Java Virtual Machine (Java VM)

• The Java Application Programming Interface (Java API)

You’ve already been introduced to the Java VM. It’s the bottom for the Java
platform and is ported onto varied hardware-based platforms.

The Java API could be a giant assortment of ready-made code elements that
give several helpful capabilities, like graphical program (GUI) widgets. The Java
API is sorted into libraries of connected categories and interfaces; these libraries are
called packages. Successive section, what will Java Technology Do? Highlights what
practicality a number of the packages within the Java API give.

The chart below illustrates a video playing on Android framework. As the


graph shows, both the Android Application as well as the digital computer separate
the software from either the device itself.

Fig 4.2.1 Java Platform

20
Native code is code that when you compile it, the compiled code runs on a
particular hardware platform. As a platform-independent environment, the Java
platform will be a touch slower than native code. However, sensible compilers, well-
tuned interpreters, and just-in-time computer memory unit code compilers will bring
performance about to that of native code while not threatening movableness.
ODBC
Microsoft Open information property (ODBC) could be a customary
programming interface for application developers and database systems suppliers. Once
ODBC would become a nominally standard application for Terminal emulators with
computer systems, developers had to use exclusive words for any information they
chose to add. Now, ODBC has created the selection of the information system nearly
inapplicable from a writing perspective that is because it ought to be. Application
developers have rather more vital things to stress regarding than the syntax that's
required to port their program from one information to a different once business
suddenly wants an amendment.

Through the ODBC Administrator Panel, you'll be able to specify the actual
information that's related to an information supply that an ODBC application is written
to use. Think about associate degree ODBC information supply as a door with a
reputation thereon. Every door can lead you to a specific information. As an example,
the information supply named Sales Figures may well be a SQL Server information,
whereas the Accounts due information supply might talk to associate degree Access
information. The physical information brought up by an information supply will reside
anyplace on the local area network.

The ODBC system files don't seem to be put in on your system by Windows ninety
five. Rather, they're put in once you setup a separate information application, like SQL
Server shopper. Requires some folder identified to ODBCINST.DLL until the ODBC
symbol was placed well into a fait row. It's additionally potential to administer your
ODBC information sources through a complete program known as ODBCADM.EXE.
There's a 16-bit and a 32-bit version of this program and maintains a separate list of
ODBC information sources.

From a programming perspective, the wonder of ODBC is that the application will
be written to use a similar set of operate calls to interface with any knowledge supply,
despite the information vendor. The ASCII text file of the application doesn’t modify

21
whether or not it talks to Oracle or SQL Server. We have a tendency to solely mention
these 2 as AN example. There are ODBC drivers on the market for many dozen
common information systems. Even spreadsheets and plain text files will be changed
into knowledge sources. The OS uses the register info written by ODBC Administrator
to see that low-level ODBC drivers are required to speak to the info supply (such as the
interface to Oracle or SQL Server). ODBC operator charging is transparent to the
computer algorithm ODBC. In a very client/server atmosphere, the ODBC API even
handles several of the network problems for the applying technologist.

The advantages of this theme are thus varied that you just are most likely thinking
there should be some catch. The sole disadvantage of ODBC is that it isn’t as
economical as talking on the native information interface. ODBC has had several
detractors build the charge that it's too slow. Microsoft has continually claimed that the
crucial consideration of performance is the quality of the driving force software
package that's used. In our humble opinion, this is often true. The provision of excellent
ODBC drivers has improved a good deal recently. And anyway, the criticism regarding
performance is somewhat analogous to people who aforementioned that compilers
would ne'er match the speed of pure programming language. Maybe not, however the
compiler (or ODBC) offers you the chance to put in writing cleaner programs, which
implies you end sooner. Meanwhile, computers get quicker once a year.

JDBC

In a trial to line associate degree freelance info normal API for Java; Sun
Microsystems developed Java info property, or JDBC. JDBC offers a generic SQL info
access mechanism that gives an identical interface to a range of RDBMSs. Such
standardized design was accomplished by using "log-in" devices, and operators, for
estate data. If an info marketer needs to possess JDBC support, he or she should give
the driving force for every platform that the info and Java run on.

To gain a wider acceptance of JDBC, Sun primarily based JDBC’s framework on


ODBC. As you discovered earlier during this chapter, ODBC has widespread support
on a range of platforms. Basing JDBC on ODBC can permit vendors to bring JDBC
drivers to plug a lot quicker than developing a totally new property resolution.

JDBC was proclaimed in March of 1996. It had been discharged for a ninety day
public review that concluded Gregorian calendar month eight, 1996. Thanks to user
input, the ultimate JDBC v1.0 specification was discharged shortly once.

22
The remainder of this section can provide enough info regarding JDBC for you to
grasp what it's about and the way to use it effectively.

Java could be a high-level artificial language that's all of the subsequent


● Simple
● Object-oriented
● Distributed
● Interpreted
● Dynamic
● Secure
● Architecture-neutral
● Portable
● Multithreaded
● Robust
● High-performance

Furthermore, Android was unique where each Android software was assembled then
collected. With a compile you translate a Java program into AN intermediate language
referred to as Java computer memory unit code the platform-independent code
instruction is passed and run on the pc.

Compilation happens simply once; interpretation happens when the program is dead.
The figure illustrates however this works.

Fig.4.2.2 Compilation and Execution of JAVA Program

Java binary code can be thought of as the computer code commands for the Java
Virtual Machine (Java VM). Every Java interpreter, either it's a Java programming tool
or a web server capable of running Java applets, is a Java VM implementation. The Java
VM can also be applied in hardware.

23
4.3 ALGORITHM
1. Crisp Value: Crisp worth is understudy mark got in semester's assessment.
2. Encryption: Encryption means crisp worth (understudy mark) is converted into
encrypt information esteem with assistance of reasonable enrollment function
(triangular participation function).
3. Inference Mechanism: Define diverse sort encrypt guideline ("If Then" Rule) for
understudy academic performance assessment.
4. Output: Determines a yield participation function an incentive for each active
guideline ("If Then" rule).
5. Decryption (Performances): encryption means calculate the last yield
(Performance Value) with the assistance of reasonable encryption strategy. Right
now work, we have utilized Center of Area (COA) for encryption (performance
assessment).
The Encryption of the results can be defined by following equation:

yi(l) =fazil with zi(l)=k=1m(l-1)wi,k(l)yk(l-1)+wi,0(l) -1 (1)


Where wi, k(l) denotes the weighted connection from the kth unit in step to the ith
unit in layer l, and wi,0(l) can be regarded as external input to the unit and is referred
to as bias. m (l) denotes the number of units in layer l, such that D=m(0) and C=m(L+1)
for simplicity, the bias can be regarded as weight .When introducing a dummy unit
y0(l) ∶= 1 in each step

zi(l) = k=0m(l-1)wi,k(l)yk(l-1) or z(l)=w(l)y(l-1) (2)


Where z(l),w(l), and y(l-1) denote the corresponding vector and matrix
representation of the actual inputs zi(l), and weights wi,k(l) and the outputs yk(l-1),

 The cosine similarity measure

– Produces better results in item-to-item filtering.

– Ratings are seen as vectors in n-dimensional space.


– Similarity is calculated based on the angle between the vectors.

24
 Adjusted cosine similarity

– Use Rachel's scores for all those things and estimate Things ranking.

– U: collection for consumers that classified the two things from a to b.

 Making predictions

A common prediction function:

 Pre-processing for item-based filtering

– Usually, community density is restricted to a given size.

– An overview of the Movie Lens database suggests that "in many other true-
world situations, a community of 20 to 50 residents appears rational".
– Object-based scanning may not address the problem of optimization alone.
– Pre-processing approach by Amazon.com (in 2003).
– Calculate all pairwise item similarities in advance.
– That community used during initialization becomes usually very limited, so
only things that the consumer already classified were accounted.
– Element comparisons should be more robust then consumer similitudes.
 Memory requirements
– Out for N2 can read and understand bunch-wise comparisons (N = amount for
products) through concept.
– It is considerably lower than reality (products without any non-ratings).
 Further reductions possible
– Minimum threshold for co-ratings.
– Limit the neighborhood size (might affect recommendation accuracy).

25
4.4 SOFTWARE & HARDWARE REQUIREMENTS

Requirement Specification plays a vital role to form quality code answers. Needs
are refined and analyzed to assess the clarity. Needs are painted in an exceedingly
manner that ultimately results in thriving code implementation. Every demand should
be according to the objective.

 Hardware Requirements

System: Pentium Dual Core.

Hard Disk: 120 GB.

Monitor: 15’’ LED

Input Devices: Keyboard, Mouse

Ram: 1 GB

 Software Requirements

Operating system: Windows 7.

Coding Language: JAVA/J2EE

Server: Xampp

Tool: Netbeans 7.2.1

Database: MYSQL

4.5 MODULES DESCRIPTION

That is considerably lower than reality (products without The System style
Document describes the system needs, operative setting, system and system design,
files and info style, input formats, output layouts, human-machine interfaces, elaborate
style, process logic, and external inter no-ratings)

1. Content-Based Publish/Subscribe Module:

The routing of events from publishers to the relevant subscribers, we use the content-
based data model. We consider pub/sub in a setting where there exists no dedicated

26
broker infrastructure. Publishers and subscribers contribute as peers to the
maintenance of a self-organizing overlay structure. To authenticate publishers, we use
the concept of advertisements in which a publisher announced beforehand the set of
events which it intends to publish.
2. Identity Based Encryption Module:
In our approach, publishers and subscribers interact with a key server. They provide
credentials to the key server and in turn receive keys which fit the expressed
capabilities in the credentials. Subsequently, those keys can be used to encrypt,
decrypt, and sign relevant messages in the content based pub/sub system, i.e., the
credential becomes authorized by the key server. The keys assigned to publishers and
subscribers, and the cipher texts, are labeled with credentials. In particular, the
identity-based encryption ensures that a particular key can decrypt a particular cipher
text only if there is a match between the credentials of the cipher text and the key.
Publishers and subscribers maintain separate private keys for each authorized
credential.
3. Key Generation for Publisher/Subscriber Module:
Publisher keys: Before starting to publish events, a publisher contacts the key server
along with the credentials for each attribute in its advertisement. If the publisher is
allowed to publish events according to its credentials, the key server will generate
separate private keys for each credential. The public key of a publisher p for credential
is generated.
Subscriber keys: Similarly, to receive events matching its subscription, a subscriber
should contact the key server and receive the private keys for the credentials associated
with each attribute A.
4. Secure Overlay Maintenance Module:
The secure overlay maintenance protocol is based on the idea that in the tree,
subscribers are always connected according to the containment relationship between
their credentials. A new subscriber s generates a random key SW and encrypts it with
the public keys for all credentials that cover its own credential, for example, a
subscriber with credential will generate cipher texts by applying the public keys. The
generated cipher texts are added to a connection request (CR) and the request is
forwarded to a random peer in the tree. A connection is established if the peer can
decrypt any of the cipher text using its private keys.

27
4.6 DATABASE TABLES
4.6.1 Transaction table
A transaction is an activity performed by entities (master tables) within the system.
These activities are captured in transaction tables and usually, these transaction entries
have foreign keys to master records. Transaction tables are designed to store events in
the system.

Table 4.6.1 Transaction table

4.6.2 Request table

The Request Table stores the data related to the download requests sent by the users
to the data owners.

Table 4.6.2 Request table

28
4.6.3 User transaction table

The User Transaction Table stores the data related to the transactions done by the users.

Table 4.6.3 User transaction table

4.6.4 Registration table

The Registration Table statement maps the structure of a file to the structure of a
table. It maps the fields in a file to columns in a virtual table.

Table 4.6.4 Registration table

29
4.6.5 Cloud details table

The Cloud Details Table stores all the information related to the cloud.

Table 4.6.5 Cloud details table

4.6.6 User Registration table


The User Registration Table shows the data given by the user while registering.

Table 4.6.6 User Registration table

30
5. EXPERIMENTAL RESULTS AND TEST CASES

5.1 RESULTS

In this project we have studied use of homomorphic encryption in data mining.NP -


hard (non-deterministic polynomial-time hard), in computational complexity theory, is
a class of problems that are, informally, "at least as hard as the hardest problems in NP".
More precisely, a problem H is NP-hard when every problem L in NP can be reduced
in polynomial time to H.As a consequence, finding a polynomial algorithm to solve any
NP-hard problem would give polynomial algorithms for all the problems in NP, which
is unlikely as many of them are considered hard. A common mistake is thinking that
the NP in "NP-hard" stands for "non-polynomial". Although it is widely suspected that
there are no polynomial-time algorithms for NP-hard problems, this has never been
proven. Moreover, the class NP also contains all problems which can be solved in
polynomial time. A decision problem H is NP-hard when for any problem L in NP,
there is a polynomial-time reduction from L to H. An equivalent definition is to require
that any problem L in NP can be solved in polynomial time by an oracle machine with
an oracle for H. Informally, we can think of an algorithm that can call such an oracle
machine as a subroutine for solving H, and solves L in polynomial time, if the
subroutine call takes only one step to compute. Another definition is to require that
there is a polynomial-time reduction from an NP-complete problem G to H. As any
problem L in NP reduces in polynomial time to G, L reduces in turn to H in polynomia l
time so this new definition implies the previous one. It does not restrict the class NP -
hard to decision problems, for instance it also includes search problems, or optimizat i on
problems. If there is a fast solution to the search version of a problem then the problem
is said to be Polynomial-time, or P for short. If there is a fast solution to the verification
version of a problem then the problem is said to be Non deterministic Polynomial time
or NP for short. Clustering algorithms are generally heuristic in nature and are often
polynomial in time. In the k-means problem, we are given a finite set S of points, and
integer k ≥1, and we want to find k points (center’s) so as to minimize the sum of the
square of the Euclidean distance of each point in S to its nearest center. This is done in
polynomial time. There are some complexity-theoretic reasons to believe that
cryptography can't be based on NP-completeness. Basically it all boils down to the
mismatch between average-case hardness required for cryptography, and worst-case

31
hardness required for NP-hardness. Moreover, many hard algebraic problems which
serve as the basis for cryptography are in NP ∩co-NP. Such problems cannot be NP-
complete unless NP = co-NP. Finally, AES is a finite-domain function. It is invertible,
distinguishable from a random permutation in (large but) constant time. The definitions
of P, NP, etc., refer to asymptotic behavior that is, as the input size grows to infinity.
Because of the algebraic structure of AES, it is probably possible to define a
"generalized AES" for infinitely many key lengths. Clustering algorithms are generally
heuristic in nature and are often polynomial in time. We are using k-means clustering
algorithm for data mining and AES algorithm for homomorphic encryption so our
project comes under NP hard Problem.

5.2 SCREENSHOTS

5.2.1 Home Page

Fig 5.2.1 Home Page

32
5.2.2 User Registration Page

Fig 5.2.2 User registration Page

5.2.3 Data Owner Login Page

Fig 5.2.3 Data Owner Login Page

33
5.2.4 Data Owner Welcome Page

Fig 5.2.4 Data Owner Welcome Page

5.2.5 Upload File / Cloud Selection Page

Fig 5.2.5 Upload File/ Cloud Selection Page

34
5.2.6 Upload File in the Selected Cloud

Fig 5.2.6 Upload file in the selected cloud

5.2.7 Display Message as File Uploaded Successfully

Fig 5.2.7 Display Message as file uploaded successfully

35
5.2.8 User Login Page

Fig 5.2.8 User Login Page

5.2.9 User View File Page

Fig 5.2.9 User view file page

36
5.2.10 Request to Download File Page

Fig 5.2.10 Request to download file

5.2.11 Download Request Status

Fig 5.2.11 Download request status

37
5.2.12 Secret Key Sent to the Particular Mail

Fig 5.2.12 Secret Key sent to the particular mail

5.2.13 Download File Page

Fig 5.2.13 Download File page

38
5.2.14 Enter the Particular Key

Fig 5.2.14 Enter the particular Key

5.2.15 Display Message as File Downloaded

Fig 5.2.15 Display Message as file downloaded

39
5.2.16 Enter the Wrong Key

Fig 5.2.16 Enter the wrong key

5.2.17 Display Message as File Not Downloaded

5.2.17 Display message as file not downloaded

40
5.2.18 User Request Processing By Data Owner

Fig 5.2.18 User Request processing by data owner

5.2.19 Cloud Service Provider Page

Fig 5.2.19 Cloud service provider page

41
5.2.20 Admin Page

Fig 5.2.20 Admin page

5.2.21 Create Cloud Page

Fig 5.2.21 Create cloud page

42
5.3 SAMPLE CODE

5.3.1 VALIDATION:
<%@page import="java.sql.PreparedStatement"%>

<%@page import="java.sql.Connection"%>

<%@ page
import="java.util.Properties,javax.mail.*,java.sql.*,javax.servlet.http.*,javax.mail.int
ernet.*" %>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<%@ page
import="java.util.Date,java.util.Properties,javax.mail.Authenticator,javax.mail.
Message, javax.mail.MessagingException, javax.mail.PasswordAuthentication"
%>

<%@ page import=

"javax.mail.Session,javax.mail.Transport,javax.mail.internet.AddressException ,java
x.mail.internet.Inter netAddress,javax.mail.internet.MimeMessage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;


charset=ISO-8859-1"> <title>Insert title here</title>

</head>

<body>

<%

String path=null;

String uname=request.getParameter("user");

String fname=request.getParameter("fname");

43
String cloud=request.getParameter("cloud");

String owner=request.getParameter("msg");

System.out.println("username@@@@"+uname);

System.out.println("filename@@@@"+fname);

System.out.println("cloud name@@@@"+cloud);

System.out.println("owner@@@@"+owner);

String status="download";

Class.forName("com.mysql.jdbc.Driver");

Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/privacy","ro
ot",""); String message="";

String subject=" Your Encrypted Key for your secure Data";

PreparedStatement ps1=con.prepareStatement("select EMAIL from


userregistration where UNAME=?");

ps1.setString(1,uname);

ResultSet rs = ps1.executeQuery();

while(rs.next())

String email = rs.getString("EMAIL");

System.out.println("email@@@@"+email);

PreparedStatement ps=con.prepareStatement("update request set status=?


where username=? and filename=? and cloud=?");

ps.setString(1,status);

ps.setString(2,uname);

ps.setString(3,fname);

ps.setString(4,cloud);

int i =ps.executeUpdate();

try

44
{

if(i>0)

PreparedStatement ps2=con.prepareStatement("select * from transaction where


FILEOWNERNAME=? and filename=?");

ps2.setString(1,owner);

ps2.setString(2,fname);

ResultSet rs2 = ps2.executeQuery();

if(rs2.next())

String key = rs2.getString("key");

System.out.println("key@@@@"+key);

message="This is your Encrypted Key for Download File: " +key;

// mail sending code

Properties properties = new Properties();

properties.put("mail.smtp.host", "smtp.gmail.com");

properties.put("mail.smtp.port", "587");

properties.put("mail.smtp.auth", "true");

properties.put("mail.smtp.starttls.enable", "true");

// creates a new session with an authenticator

Authenticator auth = new Authenticator() {

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("mahathisai4321@gmail.com",


"Mahi@123"); }

};

Session session1 = Session.getInstance(properties, auth);

// creates a new e-mail message

Message msg = new MimeMessage(session1);

45
msg.setFrom(new InternetAddress("studentcheckmail@gmail.com"));

InternetAddress[] toAddresses = { new InternetAddress(email) };

msg.setRecipients(Message.RecipientType.TO, toAddresses);

msg.setSubject(subject);

msg.setSentDate(new Date());

msg.setText(message);

// sends the e-mail

Transport.send(msg);

//end of mail sending

//to=rs2.getString(5);

// session.setAttribute("username",uname);

response.sendRedirect("home.jsp");

catch(Exception e)

e.printStackTrace();

%>

</body>

</html>

46
5.3.2 UPLOAD FILE:
package mypack;

import java.io.*;

import java.sql.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

import db.MyConnection;

//import org.apache.tomcat.util.http.fileupload.FileItem;

//import
org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFa
ctory; //import
org.apache.tomcat.util.http.fileupload.servlet.ServletFileU
pload; //import
org.apache.tomcat.util.http.fileupload.servlet.ServletReque
stContext; import
org.apache.tomcat.util.http.fileupload.RequestContext;
import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileItemFactory;

import
org.apache.commons.fileupload.FileUploadExcepti
on; import
org.apache.commons.fileupload.disk.DiskFileItemF
actory; import
org.apache.commons.fileupload.servlet.ServletFile
Upload; import
org.apache.commons.fileupload.servlet.ServletReq
uestContext;

public class UploadActions extends HttpServlet

47
private File tmpDir;

String user;

String path=null;

String mystatus="Upload";

String mystatus1="Success";

String mystatus2="Failed";

String mystatus3="Active";

Connection con = null;

5.3.3 DOWNLOAD FILE:


public static void encryptOrDecrypt(String key, int mode, InputStream is,
OutputStream os) throws Throwable {

DESKeySpec dks = new DESKeySpec(key.getBytes());

SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");

SecretKey desKey = skf.generateSecret(dks);

Cipher cipher = Cipher.getInstance("DES"); // DES/ECB/PKCS5Padding for SunJCE

if (mode == Cipher.ENCRYPT_MODE) {

cipher.init(Cipher.ENCRYPT_MODE, desKey);

CipherInputStream cis = new CipherInputStream(is, cipher);

doCopy(cis, os);

} else if (mode == Cipher.DECRYPT_MODE) {

cipher.init(Cipher.DECRYPT_MODE, desKey);

CipherOutputStream cos = new


CipherOutputStream(os, cipher); doCopy(is,
cos);

48
public static void doCopy(InputStream is, OutputStream os)
throws IOException { byte[] bytes = new byte[64];

int numBytes;

while ((numBytes = is.read(bytes)) != -1) {

os.write(bytes, 0, numBytes);

os.flush();

os.close();

is.close();

public synchronized boolean


downloadFile(String localfilename) {

try

System.out.println("srinu file name is "+localfilename);

InputStream is = m_client.getInputStream();

System.out.println("1");

BufferedInputStream bis = new


BufferedInputStream(is);
System.out.println("2");

OutputStream os = new
FileOutputStream(localfilename);
System.out.println("3");

BufferedOutputStream bos = new


BufferedOutputStream(os);
System.out.println("4");

byte[] buffer = new byte[1024];

int readCount1=0;

FileOutputStream fos1 = new FileOutputStream("d:/cloud/decripttest.txt");

49
while ((readCount1 = bis.read(buffer)) > 0)

fos1.write(buffer, 0, readCount1);

}//while

FileInputStream fis2 = new


FileInputStream("d:/cloud/decripttest.txt");
FileOutputStream fos2 = new
FileOutputStream(localfilename);

decrypt(key, fis2, fos2);

System.out.println("after while");

bos.close();

is.close();

System.out.println("successfu
lly downloadded"); }//try

catch (Exception ex)

{ ex.printStackTrace();

StringWriter sw0 = new


StringWriter();
PrintWriter p0 = new
PrintWriter(sw0, true);
ex.printStackTrace(p0);

return false;

}//catch

catch (Throwable e) {

e.printStackTrace();

return true;

}//downloadfile

50
6. TESTING
The purpose of testing is to get errors. Research is this way of trying to have every
possible defect or flaw in such a result of rather research. It provides some way to see
the practicality of elements, sub-assemblies, assemblies and/or a finished product it's
the method of physical exercise code with the intent of guaranteeing that the

Software platform satisfies the client standards aligned because of its requirements
and therefore does not struggle in such an unacceptable way. There are numerous sorts
to take a look at. Every take a look at kind addresses a particular testing demand.

6.1 Unit Testing

Unit take a look acting involves the look of test cases that validate that the interior
program logic is functioning properly, which program inputs manufacture valid
outputs. Every division of calls or the object model stream must be correct. It's the
testing of individual code units of the appliance .It is done once the completion of a
private unit before integration. This may be a systemic measure, which is intrusive and
relies over its building data. Union take a good look as perform simple component type
checks and check a chosen market process, software and/or specification of a device.
Unit tests make sure that every distinctive path of a business method performs
accurately to the documented specifications and contains clearly outlined inputs and
expected results.

6.2 Integration Testing

Integration tests are designed to check integrated computer code elements to work
out if they really run collectively. Testing is event driven and is a lot involved with the
essential outcome of screens or fields. Integration tests demonstrate that though the
elements were one by one satisfaction, as shown by success unit testing, the mix of
elements is correct and consistent. Integration testing is specifically geared toward
exposing the issues that arise from the mix of elements.

51
6.3 Functional Testing

Functional tests give systematic demonstrations that functions tested are on the
market as such as by the business and technical necessities, system documentation, and
user manuals.

Functional testing is centered on the subsequent items:

o Relevant Input: The groups of relevant input found should be recognized.


o Incorrect Input: Groups of incorrect input found should be refused.
o Functions: Identified functions must be exercised.
o Output: Program output categories defined should be practiced.
o Programs: Protocols: Structures or protocols to communicate should be
activated.
Organization and preparation of useful tests is targeted on necessities, key
functions, or special check cases. Additionally, systematic coverage refers to
determining Business method flows; information fields, predefined processes, and
sequential processes should be thought of for testing. Before useful testing is
complete, further tests are known and therefore the effective price of current tests is
decided.

6.4 System Testing

System testing ensures that the whole integrated software meets needs. It
tests a configuration to ensure illustrious and certain results. AN example of a system
taking a look at acting is the configuration orienting system integration test. System
testing is based on explanations of methods or streams, stressing ties to pre driven
processes, but levels of incorporation.

6.5 Unit Testing


Unit take a look acting is sometimes conducted as a part of a combined code
and unit test part of the code lifecycle, though it's not uncommon for writing and Unit
testing to have been carried out 2 different steps.

i. Test strategy and approach


ii. Field testing is performed manually and purposeful tests will be written
thoroughly.

52
Test objectives:

• All field entries should work properly.

• Pages with recognized connection must be allowed.

• No need to pause that entrance monitor, notifications & replies.

Features to be tested:

• Verify that the entries are of the right format

• No duplicate entries ought to be allowed

• All links ought to take the user to the right page.

6.6 Integration Testing

Software integration testing is the progressive integration testing of 2 or additional


integrated software system elements on one platform to supply failures caused by
interface defects.

The task of the mixing check is to ascertain that elements or software system
applications, e.g. elements in an exceedingly software or – one maximize – software
applications at the corporate level – move while not error.

Study results: Both test situations listed over board for successfully tested. No faults
have been found.

6.7 Acceptance Testing


User Acceptance Testing could be a vital section of any project and needs vital
participation by the top user. It conjointly ensures that the system meets the practical
needs. Study results: All of the cases cited above were better than successfully passed.
Any flaws found.

53
6.8 Test Cases

Table 6.8 - Test Cases

Test Test Input Data Expected Actual Result in the Result


Case id Condition Result cycle/description

1 Blank System should System should Pass


Username display the display message
and message “Enter user name
Password “Enter User and Password”
name and
Password”

2 Enter User User Name : System should System should Pass


Name and bhanu display the display the message
blank message “Enter Password”
Password “Enter
Password”

3 Enter Blank Password:12345 System should System should Pass


Username display the display the message
and message “Enter Username”
Password “Enter
Username”

4 Enter wrong User Name: System should System should Pass


Username veera display the display the message
and message “Invalid Username
Password:1234
Password “Invalid and Password”
Username and
Password”

54
5 Enter Data From Data System should System should Pass
Correct User Master redirect to redirect to home
Name and home page page
Password

6 Enter the Data From Data System should System should Pass
quiz name Master add quiz redirect to quiz page
and subject in faculty

7 Enter the Data From Data System should System should Pass
quiz name Master display quiz redirect to quiz page
and subject in student page
to take test

8 Import the Data From Data System should System should Pass
test data Master import data to redirect import the
from excel database excel sheets

9 Data should Data From Data System should System should Pass
be Master import data redirect users to the
represented from database analysis graphs
in graphs and display
graphs

55
7. CONCLUSION AND FUTURE SCOPE
E-Learning can assess the importance of the methodology utilized in the planned
Hybrid Recommender System and additionally showcases the results non-inheritable
and provides the direction for the longer term analysis work. The planned analysis work
is principally involved with the aim of developing the Recommender System
framework which is able to assist to individualize the courses in an e-learning system.
The analysis work makes use of Sem-gram, Nearest Neighborhood and domain
metaphysics for economic data retrieval. Recommender system aims to produce
personalized data regarding courses, product or perhaps services to users and alleviate
the challenge of knowledge overload and knowledge retrieval challenges. The
recommendations support users interest, preferences or data desires and so
personalization is often achieved by comparing user question, profiles with things
within the repository. During this study, personalized recommender system was
designed, enforced and evaluated, specializing in recommending the courses.

The problem that was encountered by individual recommendation approaches


throughout the analysis was data retrieval. The performance of Recommender System
exploitation specific technique is also plagued by user queries because the queries given
by the users contain those relevant terms that are named with completely different
vocabulary within the info, and this word couple makes it troublesome to retrieve
additional relevant data. The propounded system will handle the essential issue
regarding the anomaly and also the imperfectness of question words then an applicable
query transformation to retrieve additional valid and connected data. The results
recommend that the performance of the hybrid technique is far higher than different
individual algorithms in retrieving course data for the advice. Once conducting a review
of recommender systems literature and different connected works, it's been known that
pairing of techniques increased the data retrieval and might improve the effectiveness
of the e-learning system.

56
8. REFERENCES

[1] P. Brusilovsky, W. Nejdl, Adaptive Hypermedia and Adaptive Web. In: M. P.


Singh (ed.) Practical Handbook of Internet Computing (pp. 1-14.). Baton Rouge:
Chapman Hall & CRC Press, 2005.

[2] B. Aher, L.M.R.J. Lobo, Combination of machine learning algorithms for


recommendation of courses in E-Learning System based on historical data,
Knowledge-Based Systems, vol. 51, pp. 114, 2013.

[3] C. Santos O., G. Boticario J., D. Pérez-Marín, Extending web based educational
systems with personalized support through User Centred Design recommendations
along the e-learning life cycle, Science of Computer Programming, vol. 88, pp. 92-109,
2014.

[4] M. Khribi K., M. Jemni, O. Nasraoui, Recommendation systems for personalized


technology-enhanced learning. In: Ubiquitous learning environments and technologies,
pp. 159–180. Springer, Berlin, 2015.

57

You might also like