You are on page 1of 54

COMPUTER ENGINEERING

CHAPTER 1

1. INTRODUCTION

1.1 Description

Applications can use the JDBC API to access data residing in a relational database
management system (RDBMS). The JDBC API enables standard access and manipulation of
data in persistent storage, such as a relational database. The JDBC API enables J2EE
applications to use SQL statements, which are the standard means for accessing RDBMS
tables. However, even within an RDBMS environment, the actual syntax and format of the
SQL statements may vary depending on the particular database product.

There is even greater variation with different types of persistent storage. Access mechanisms,
supported APIs, and features vary between different types of persistent stores such as
RDBMS, object-oriented databases, flat files, and so forth.

Such disparate data sources offer challenges to the application and can potentially create a
direct dependency between application code and data access code. When business
components-entity beans, session beans, and even presentation components like servlets and
helper objects for Java need to access a data source, they can use the appropriate API to
achieve connectivity and manipulate the data source. But including the connectivity and data
access code within these components introduces a tight coupling between the components
and the data source implementation. Such code dependencies in components make it difficult
and tedious to migrate the application from one type of data source to another. When the data
source changes, the components need to be changed to handle the new type of data source.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 1


COMPUTER ENGINEERING

1.2 RDBMS

Relational Database Management System (RDBMS) A DBMS that is based on relational


model is called as RDBMS. Relation model is most successful mode of all three models.
Designed by E.F. Codd, relational model is based on the theory of sets and relations of
mathematics.

Relational model represents data in the form a table. A table is a two dimensional array
containing rows and columns. Each row contains data related to an entity such as a student.
Each column contains the data related to a single attribute of the entity such as student name.

One of the reasons behind the success of relational model is its simplicity. It is easy to
understand the data and easy to manipulate.

Another important advantage with relational model, compared with remaining two models is,
it doesn’t bind data with relationship between data item. Instead it allows you to have
dynamic relationship between entities using the values of the columns.

Almost all Database systems that are sold in the market, now- a-days, have either complete or
partial implementation of relational model.

 Tuple / Row: A single row in the table is called as tuple. Each row represents the data
of a single entity.

 Attribute / Column: A column stores an attribute of the entity. For example, if


details of students are stored then student name is an attribute; course is another
attribute and so on.

Column Name Each column in the table is given a name. This name is used to refer to
value in the column.

 Table Name: Each table is given a name. This is used to refer to the table. The name
depicts the content of the table.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 2


COMPUTER ENGINEERING

The following are two other terms, primary key and foreign key that are very important in
relational model.

 Primary Key: A table contains the data related entities. If you take STUDETNS
table, it contains data related to students. For each student there will be one row in the
table. Each student’s data in the table must be uniquely identified. In order to identify
each entity uniquely in the table, we use a column in the table. That column, which is
used to uniquely identify entities (students) in the table is called as primary key.

So a primary key can be defined as a set of columns used to uniquely identify rows of a table.

Some other examples for primary keys are account number in bank, product code of
products, employee number of an employee.

 Composite Primary Key: In some tables a single column cannot be used to uniquely
identify entities (rows). In that case we have to use two or more columns to uniquely
identify rows of the table. When a primary key contains two or more columns it is
called as composite primary key.

1.3 What is SQL?

SQL is Structured Query Language, which is a computer language for storing, manipulating
and retrieving data stored in relational database.

SQL is the standard language for Relation Database System. All relational database
management systems like MySQL, MS Access, Oracle, Sybase, Informix, postgres and SQL
Server use SQL as standard database language.

Also, they are using different dialects, such as:

-SQL,

lled JET SQL (native format)

1.4 SQL Process:

DATABASE INDEPENDENCE NAVIGATION SYSTEM 3


COMPUTER ENGINEERING

When you are executing an SQL command for any RDBMS, the system determines the best
way to carry out your request and SQL engine figures out how to interpret the task.

There are various components included in the process. These components are Query
Dispatcher, Optimization Engines, Classic Query Engine and SQL Query Engine, etc. Classic
query engine handles all non-SQL queries, but SQL query engine won't handle logical files.

1.5 SQL Commands:

The standard SQL commands to interact with relational databases are CREATE, SELECT,
INSERT, UPDATE, DELETE and DROP. These commands can be classified into groups
based on their nature: DDL - Data Definition Language:

 Command Description

CREATE: Creates a new table, a view of a table, or other object in database

Syntax:

Create table <table_name>(column_name1 data_type(size),…….column_nameN


data_type(size));

ALTER: Modifies an existing database object, such as a table.

Syntax:

Alter table <table_name> add(Column_name1 Data_type(size)…….Column_nameN


Data_type(size));


DROP: Deletes an entire table, a view of a table or other object in the database.
Syntax:

Drop table <table_name>;

 DML - Data Manipulation Language:

Command Description

INSERT: Creates a record

DATABASE INDEPENDENCE NAVIGATION SYSTEM 4


COMPUTER ENGINEERING

Syntax:

Insert into <table_name> values(Value1…….ValueN);



UPDATE: Modifies records

Syntax:

Update <table_name> set=(condition) where (condition);



DELETE: Deletes records DCL - Data Control Language:

Syntax:

Delete <table_name>;

Command Description

GRANT: Gives a privilege to user

REVOKE: Takes back privileges granted from user

 DQL - Data Query Language:

Command Description

SELECT: Retrieves certain records from one or more tables.

Syntax:

Select *from <table_name>;

DATABASE INDEPENDENCE NAVIGATION SYSTEM 5


COMPUTER ENGINEERING

1.6 JDBC Architecture

Two-tier Processing Model

The JDBC API supports both two-tier and three-tier processing models for database access.

Figure 1.1: Two-tier Architecture for Data Access.

In the two-tier model, a Java applet or application talks directly to the data source. This
requires a JDBC driver that can communicate with the particular data source being accessed.
A user's commands are delivered to the database or other data source, and the results of those
statements are sent back to the user. The data source may be located on another machine to
which the user is connected via a network. This is referred to as a client/server configuration,
with the user's machine as the client, and the machine housing the data source as the server.
The network can be an intranet, which, for example, connects employees within a
corporation, or it can be the Internet.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 6


COMPUTER ENGINEERING

CHAPTER 2
2.1 What is the SDLC?

The Systems Development Life Cycle (SDLC), or Software Development Life Cycle in
systems engineering and software engineering, is the process of creating or altering systems,
and the models and methodologies that people use to develop these systems. The concept
generally refers to computer or information system.

Fig 2.1 Software Development Life Cycle

DATABASE INDEPENDENCE NAVIGATION SYSTEM 7


COMPUTER ENGINEERING

In software engineering the SDLC concept underpins many kinds of software development
methodologies. These methodologies form the framework for planning and controlling the
creation of an information system software development process.

2.2 Planning:

Software project management begins with set of a activities that are collectively called
Project Planning. The important task in creating a software product is extracting the
requirements or analysis. Customers typically have an abstract idea of what they want as an
end result, but not what software should do. Skilled and experienced software engineers
recognize incomplete, ambiguous, or even contradictory requirements at this point.
Frequently demonstrating live code may help reduce the risk that the requirements are
incorrect.

Once the general requirements are gleaned from the client, an analysis of the scope of the
development should be determined and clearly stated. This is often called a scope document.

2.2.1 Software Scope:

The first activity in software project planning is the determination of software scope.
Functions and performance allocated to software during system engineering should be
assessed to establish a project scope that is unambiguous and understandable at the
management and technical level.

2.2.2 Feasibility:

A feasibility study looks at the viability of an idea with an emphasis on identifying potential
problems and attempts to answer one main question: Will the idea work and should you
proceed with it? Before you begin writing your business plan you need to identify how,
where, and to whom you intend to sell a service or product. You also need to assess your

DATABASE INDEPENDENCE NAVIGATION SYSTEM 8


COMPUTER ENGINEERING

competition and figure out how much money you need to start your business and keep it
running until it is established.

Why Are Feasibility Studies so Important?

The information you gather and present in your feasibility study will help you:

 List in detail all the things you need to make the business work.

 Identify logistical and other business-related problems and solutions.

 Develop marketing strategies to convince a bank or investor that your business is


worth considering as an investment and

 Serve as a solid foundation for developing your business plan.



The Components of a Feasibility Study:

 Description of the Business: The product or services to be offered and how


they will be delivered.

 Market Feasibility: Includes a description of the industry, current market,


anticipated future market potential, competition, sales projections, potential
buyers, etc.

 Technical Feasibility: Details how you will deliver a product or service (i.e.,
materials, labor, transportation, where your business will be located, technology
needed, etc.).

 Financial Feasibility: Projects how much start-up capital is needed, sources


of capital, returns on investment, etc.

 Organizational Feasibility: Defines the legal and corporate structure of the


business (may also include professional background information about the
founders and what skills they can contribute to the business).

DATABASE INDEPENDENCE NAVIGATION SYSTEM 9


COMPUTER ENGINEERING

2.3 Development:

The development phase involves converting design specifications into executable programs.
Effective development standards include requirements that programmers and other project
participants discuss design specifications before programming begins.

Programmers use various techniques to develop computer programs. The large transaction-
oriented programs associated with financial institutions have traditionally been developed
using procedural programming techniques. Procedural programming involves the line-by-line
scripting of logical instructions that are combined to form a program. Primary procedural
programming activities include the creation and testing of source code and the refinement and
finalization of test plans. Typically, individual programmers write and review (desk test)
program modules or components, which are small routines that perform a particular task
within an application.

 Development Standards:

Development standards should be in place to address the responsibilities of application and


system programmers. Application programmers are responsible for developing and
maintaining end-user applications. System programmers are responsible for developing and
maintaining internal and open-source operating system programs that link application
programs to system software and subsequently to hardware. Managers should thoroughly
understand development and production environments to ensure they appropriately assign
programmers.
Development standards should prohibit a programmer’s access to data, programs, utilities,
and systems outside their individual responsibilities. Library controls can be used to manage
access to, and the movement of programs between, development, testing, and production

DATABASE INDEPENDENCE NAVIGATION SYSTEM 10


COMPUTER ENGINEERING

environments. Management should also establish standards requiring programmers to test


document completed programs and results thoroughly. Appropriate documentation correct
enhances a programmer’s ability to programming errors and modify production
programs.

 Software Documentation:

Organizations should maintain detailed documentation for each application and application
system in production. Thorough documentation enhances an organization’s ability to
understand functional, security, and control features and improves its ability to use and
maintain the software. The documentation should contain detailed application descriptions,
programming documentation, and operating instructions. Standards should be in places that
identify the type and format of required documentation such as system narratives, flowcharts,
and any special system coding, internal controls, or file layouts not identified within
individual application documentation.

 System documentation should include:

System Descriptions – System descriptions provide narrative explanations of


operating environments and the interrelated input, processing, and output functions of
integrated application systems.

1.5 Maintenance:

Software maintenance in software engineering is the modification of a software product


after delivery to correct faults, to improve performance or other attributes, or to adapt the
product to a modified environment.

This international standard describes the software maintenance processes as:

1. The implementation processes contains software preparation and transition activities,


such as the conception and creation of the maintenance plan, the preparation for handling

DATABASE INDEPENDENCE NAVIGATION SYSTEM 11


COMPUTER ENGINEERING

problems identified during development, and the follow-up on product configuration


management.

2. The problem and modification analysis process, which is executed once the application
has become the responsibility of the maintenance group.

3. The process considering the implementation of the modification itself.

4. The process acceptance of the modification, by confirming the modified work with the
individual who submitted the request in order to make sure the modification provided a
solution.

 Corrective maintenance: Reactive modification of a software product


performed after delivery to correct discovered problems.

 Adaptive maintenance: Modification of a software product performed after


delivery to keep a software product usable in a changed or changing environment.

 Perfective maintenance: Modification of a software product after delivery


to improve performance or maintainability.

 Preventive maintenance: Modification of a software product after delivery to detect


and correct latent faults in the software product before they become effective faults.

2.3 SOFTWARE AND HARDWARE REQUIREMENTS

Requirement analysis for Data Base Independence Navigation System applications


encompasses three major tasks: formulation, requirements gathering and analysis modeling.
During formulation, the basic motivation and goals for the web application are identified, and
the categories of users are defined.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 12


COMPUTER ENGINEERING

2.3.1 Software requirement Specification:

A set of programs associated with the operation of a computer is called software. The
minimum software requirement specifications for developing this project are as follows:

Operating System : Window 2000, XP


Presentation layer : Java

Database : MS SQL SERVER 2000

Database layer : JDBC

Presentation : Power Point 2003

Documentation Tool : Ms Office

2.3.2 Hardware Requirement Specification:

The collection of internal electronic circuits and external physical devices used in
building a computer is called the Hardware. The minimum hardware requirement

Processor : Standard processor with a speed of 1.6 GHz or more

RAM : 256 MB RAM or more

Hard Disk : 20 GB or more

Monitor : Standard color monitor

Keyboard : Standard keyboard

Mouse : Standard mouse

DATABASE INDEPENDENCE NAVIGATION SYSTEM 13


COMPUTER ENGINEERING

CHAPTER 3

3. LITERATURE SURVEY

3.1. Data quality

Data quality is the quality of data. Data are of high quality "if they are fit for their
intended uses in operation, decision making and planning. Alternatively, the data are deemed
of high quality if they correctly represent the real -world construct to which they refer. These
two views can often be in disagreement, even abou t the same set of data used for the same
purpose.

3.2. Web Mining

Web mining is the integration of information gathered by traditional data mining


methodologies and techniques with information gathered over the World Wide Web. (Mining
means extracting something useful or valuable from a baser substance, such as mining gold
from the earth.) Web mining is used to understand customer behavior, evaluate the
effectiveness of a particular Web site, and help quantify the success of a marketing campaign.

3.3. Link Analysis

The separation of an intellectual or material whole into its constituent parts for
individual study. The study of such constituent parts and their interrelationships in making up
a whole. A spoken or written presentation of such study: published an analysis of poetic
meter.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 14


COMPUTER ENGINEERING

3.4 Problem Definitions

Here we study the problem of finding true facts in a certain domain of creating
queries without knowing that much details about oracle . Here, a domain refers to a property
of a certain type of objects, such as Indexing, Views Tables in SQL. The input of Data Base
Independence Navigation System is a large number of facts in a domain that are provided by
many websites. There are usually multiple conflicting facts from different Databases for each
object, and the goal of Data Base Independence Navigation System is to identify the true fact
among them.

3.4.1 Basic Definitions

Confidence of Facts

The confidence of a fact f (denoted by s(f)) is the probability of f being


correct, according to the best of our knowledge.

Implication of Facts

Here implication is defined instead of similarity between facts because such


relationship is asymmetric. For example, in some domains (e.g., book authors), Databases
tend to provide incomplete facts (e.g., first author of a book). Suppose two Databases provide
author information for the same book. The first Database indicates that the author of the book
is “Jennifer Widom,” which is fact f1. The second Database says that there are two Query
Records “Jennifer Widom and Stefano Ceri,” which is fact f2. If f2 is correct, then f1 is
incomplete and will have low confidence, and thus, imp (f2→f1) is low. On the other hand,
we know that it is very common for a Data Base Independence Navigation System to provide
only one of the authors for a book. Thus, f1 may only tell us that “Jennifer Widom” is one
author of the book instead of the sole author. If we are confident about f1, we should also be
confident about f2 because f2 is consistent with f1, and imp (f1→f2) should be high. From
this example, we can see that implication is an asymmetric relationship.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 15


COMPUTER ENGINEERING

3.4.2 Basic Heuristics

Heuristic 1: Usually there is only one true fact for a property of an object.

In this paper, we assume that there is only one true fact for a property of an object. The case
of multiple true facts will be studied in our future work.

Heuristic 2. This true fact appears to be the same or similar on different Databases.

Different Databases that provide this true fact may present it in either the same or slightly
different ways, such as “Jennifer Widom” versus “J. Widom.”

Heuristic 3. The false facts on different websites are less likely to be the same or similar.

Different Databases often make different mistakes for the same object and thus provide
different false facts. Although false facts can be propagated among Databases, in general, the
false facts about a certain object are much less consistent than the true facts.

Heuristic 4 In a certain domain, a Databases that provides mostly true facts for many objects
will likely provide true facts for other objects.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 16


COMPUTER ENGINEERING

CHAPTER 4

4. SOFTWARE REQUIREMENT ANALYSIS

4.1 Purpose:

The main purpose of Databases Navigation Independence System is to eliminate the


conflicting information provided by the information providers and give users accurate results
for their queries.

4.2 Features and Limitations of Existing System

4.2.1 Existing System:


Page Rank and Authority-Hub analysis is to utilize the Simplest SQL Records
that are used in this project.

These two approaches identifying important Databases that users are
interested in, Unfortunately, the popularity of DataBase Browser does not
necessarily lead to accuracy of information.

4.2.2 Disadvantages:


The popularity of DataBase Browser does not necessarily lead to
accuracy of information.


Even the most popular DataBase Browser may contain many errors.


Where as some comparatively not-so-popular Database may provide more
accurate information.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 17


COMPUTER ENGINEERING

4.3 Features of Proposed System

4.3.1 Proposed System:


We formulate the Veracity problem about how to discover true facts from
conflicting information.

Second, we propose a framework to solve this problem, by defining the
trustworthiness of DataBase Browser, confidence of facts, and influences
between facts.


Finally, we propose an algorithm called DataBase Browser for
identifying true facts using iterative methods.

4.3.2 Advantages:


Our experiments show that DataBase Browser achieves very high
accuracy in discovering true facts.


It can select better trustworthy Database than authority DataBase
because user need not know much more about creating any query.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 18


COMPUTER ENGINEERING

4.4 Modules

Module 1: Collection of unrelated data

 First we have to collect the specific data about an object and it is stored in related
database. Create table for specific object and store the facts about a particular object.

Module 2: Data Search:

 Searching the related data link according to user input. In this module user retrieve the
specific data about an object.

Module 3: Truth Algorithm:

 We design a general framework for the Veracity problem, and invent an algorithm
called DES, which utilizes the relationships between Data and their information, i.e., a
DataBase Browser is trustworthy if it provides many pieces of true information, and a
piece of information is likely to be true if it is provided by many trustworthy results
.

Module 4: Result Calculation:

 For each response of the query we are calculating the Performance. Using the
count calculated find the best link and show as the output.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 19


COMPUTER ENGINEERING

CHAPTER 5
5. SOFTWARE DESIGN

The main focus of the analysis phase of Software development is on “What needs to be
done”. The objects discovered during the analysis can serve as the framework or Design. The
class’s attributes, methods and association identified during analysis must be designed for
implementation language. New classes must be introduced to store intermediate results
during the program execution.

Emphasis shifts from the application domain o implementation and computer such as
user interfaces or view layer and access layer. During analysis, we look at the physical
entities or business objects in the system, that is, which players and how they cooperate to do
the work of the application. These objects represent tangible elements of the business.

During the Design phase, we elevate the model into logical entities, some of which
might relate more to the computer domain as people or employees. Here his goal is to design
the classes that we need to implement the system the difference is that, at this level we focus
on the view and access classes, such as how to maintain information or the best way o
interact with a user or present information.

Design process:

During the design phase the classes identified in object-oriented analysis Must be revisited
with a shift focus to their implementation. New classes or attribute and Methods must be an
added for implementation purposes and user interfaces. The object-oriented design process
consists of the following activities:

1 Apply design axioms to design classes, their attributes, methods, associations,


structure

DATABASE INDEPENDENCE NAVIGATION SYSTEM 20


COMPUTER ENGINEERING

And protocols Refine and complete the static UML class diagram by adding details to the
UML diagram. This step consists of following activities.

*Refine attributes *Design methods and protocols by utilizing a UML activity diagram to
represent the method’s algorithms.

*Refine associations between classes

*Refine class hierarchy and design with inheritance

*Iterate and refine again

2. Design the access layer

 Create mirror classes: For every business class identified and created. For
example, if there are three business classes, create three access layer classes.

 Identify access layer class relationships.


 Simplify classes and their relationships: The main goal here is to eliminate
redundant classes and structures.

*Redundant classes: Do not keep two classes that perform similar translate results
activities. Simply select one and eliminate the other.

*Method classes: Revisit the classes that consist of only one or two methods to see
if they can be eliminated or combined with existing classes.

 Iterate and refine again.


Define the view layer classes

o Design the macro level user interface, identifying view layer objects.
o Design the micro level user interface, which includes these activities:
* Design the view layer objects by applying the design axioms and
corollaries.

* Built a prototype of the view layer interface.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 21


COMPUTER ENGINEERING

3. Iterate refine the whole design process. From the class diagram, you can begin to
extrapolate which classes you will have to built and which existing classes you can reuse.
As you do this, also begin this, also begin thinking about the inheritance structure. If you
have several classes that seem relates but have specific differences.

Design also must be traceable across requirements, analysis, design from the
Requirements model.

DESIGN AXIOMS

Axioms are a fundamental truth that always is observed to be valid and for which
there is no counter example or exception. Such explains that axioms may be hypothesized
form a large number of observations by nothing the common phenomena shared by all cases;
they cannot be proven or derived, but they can be invalidated by counter examples or
exceptions. A theorem is a proposition that may not be self-evident but can be proven from
accepted axioms. If therefore, is equivalent to a law or principle. A corollary is a proposition
that follows from an axioms or another proposition that has been proven. Again, corollary is
shown to be valid or not valid in the same manner as a theorem. In the two important axioms
axiom 1 deals with relationships between system components and axiom 2 deals with the
complexity of design.

The following the two important axioms:

Axiom 1: The independence axiom, which maintain the independence of the components.

Axiom 2: The information axioms that maintain the information content of the design.

Axiom 1 states that, during the design process, as we go from requirement and use case to a
system component, each component must satisfy that requirement without affecting other
requirements.

An axiom 2 is concerned with simplicity. Scientific theoreticians often rely on a general rule
known as Occam’s razor, after William of Occam. He says, “The best theory explains the
known facts with a minimum amount of complexity and maximum simplicity and
straightforwardness.”

DATABASE INDEPENDENCE NAVIGATION SYSTEM 22


COMPUTER ENGINEERING

The best designs usually involve the least complex code but not necessarily the fewest
number of classes or methods. Minimizing complexity should be the goal, because that
produces the most easily maintained and enhanced application. In an object-oriented system,
the best way to minimize complexity is to use inheritance and the systems built in classes and
to add as little as possible to what already is there.

From the two design axioms, many corollaries may be derived as a direct consequence of
the axioms. These corollaries may be more useful in marking specific design decisions, since
they can be applied to actual situations.

 Uncoupled design with less information content: Highly cohesive objects can improve
coupling because only a minimal amount of essential information need be passed
between objects. The degree or strength of coupling between two components is
measured by the amount and complexity of information transmitted between them.
 Single purpose: Each class must have single, clearly defined purposes.
 Large number of simple classes: Keeping the classes simple allows reusability. Large
and complex classes are too specialized to be reused.
 Strong mapping: There must be a strong association between the physical system and
logical design. During the design phase, we need to design this class, design its
methods, its association with other objects. So a strong mapping links classes should
be identified.
 Standardization: promote standardization by designing interchangeable and reusing
existing classes or components.
 Design with inheritance: Common behavior must be moved to super classes. The
super class-sub class structure must make logical sense.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 23


COMPUTER ENGINEERING

Refining attributes and methods:

Attributes identified in object oriented analyzed must be refined in the design phase. In
the analysis phase, the name of the attributes was sufficient. But in the design phase, detailed
information must be added to the model.

The three basic types of attributes are:

 Single valued attributes: This has only value or state.


 Multiplicity or multivalue attributes: This has a collection of many values at any point
in time.
 Instance connection attributes: This is required to provide the mapping needed by an
object to fulfill its responsibilities.

UML attribute presentation:

Visibility name: type-expression=initial-value

Visibility indicates either public visibility or protected visibility or private visibility.


The public visibility indicates that the attribute can be accessible to all classes. The protected
visibility indicates that the accessibility is given to the subclasses and operations of the class.
The private visibility indicates that the accessibility can be given only to the operations of the
class only.

Type expression is a language dependent specification of the implementation type of


an attribute. Initial value is a language dependent expression for the initial value is optional.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 24


COMPUTER ENGINEERING

5.1 DATA FLOW DIAGRAMS:


5.1.1 Context Level DFD:
In the Context Level the whole system is shown as a single process.

 No data stores are shown.


 Inputs to the overall system are shown together with data sources (as External
entities).
 Outputs from the overall system are shown together with their destinations (as
External entities).

5.1.1 DFD:

DataBase System Facts Objects

D f
o
D f

D f
o
D f

Fig 5.1 Context Level Data Flow Diagram

DATABASE INDEPENDENCE NAVIGATION SYSTEM 25


COMPUTER ENGINEERING

5.1.2 Top Level Data Flow Diagram

The Top Level DFD gives the overview of the whole system identifying the major
system processes and data flow. This level focuses on the single process that is drawn in the
context diagram by ‘Zooming in’ on its contents and illustrates what it does in more detail.

User logins with DSN User Connection for data Data will be
Name Interaction with whether data is in inputted to
oracle collected data sets or DataBase
not
Browser
algorithm

Dataset1 Dataset2 Dataset3

After calculating the Data and Fact


performance of Confidence will be the
DataBase Browser outputs and results will
best result will be be given for
given to view performance calculation

Figure 5.2 Top Level DFD

DATABASE INDEPENDENCE NAVIGATION SYSTEM 26


COMPUTER ENGINEERING

5.2 UML DIAGRAMS

5.2.1 CLASS DIAGRAM

During analysis, we identify attributes and operations without specifying their


types or their parameters. During object design, we refine the analysis and system design
models by adding type and visibility information.

The type of an attribute specifies the range of values the attribute can take and the
operations that can be applied to the attribute.

Operation parameters and return values are typed in the same way as attributes are.
The type constraints the range of values the parameter or the return value can take. The type
of the return value is called the signature of the operation. The visibility of an attribute or an
operation specifies whether it can be used by other classes or not. UML defines three levels
of visibility.

 Private: A private attribute can be accessed only by the class in which it is defined.
Similarly, a private operation can be invoked only by the class in which it is defined.
 Public: A public attribute or operation can be accessed by any class.
 Protected: A protected attribute or operation can be accesses by the class in which it is
defined and any descendent of the class.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 27


COMPUTER ENGINEERING

Class Diagram:

Fig 5.3 Class Diagram

DATABASE INDEPENDENCE NAVIGATION SYSTEM 28


COMPUTER ENGINEERING

5.2.2 INTERACTION DIAGRAMS

5.2.2.1 Sequence Diagram

An interaction diagram shows an interaction, consisting of a set of objects and their


relationships, including the messages that may be dispatched among them.

A sequence diagram is an interaction diagram that emphasizes the time ordering of


messages.

Graphically, a sequence diagram is a table that shows objects arranged along x-axis and
messages, ordered in increasing time, along the y-axis.

Contents

Sequence diagrams commonly contain the following:

Objects

Data

Connectivity

Like all other diagrams, sequence diagrams may contain notes and constraints

DATABASE INDEPENDENCE NAVIGATION SYSTEM 29


COMPUTER ENGINEERING

Login Sequence:

user admin database


1: register

2: verifies details
3: store details

5: acknowledgement 4: storing data


6: registration success
7: login 8: validation

9: check details
10: give response

11: login successful

Fig 5.4 Login Sequence

DATABASE INDEPENDENCE NAVIGATION SYSTEM 30


COMPUTER ENGINEERING

User Interaction Sequence:

u:user l:login v:verification s:search r:results


1: login details

2: verify details 3: verification


4: acknowledgement
5: login successful

6: search query 7: request results

8: results response

Fig 5.5 User Interaction Sequence

DATABASE INDEPENDENCE NAVIGATION SYSTEM 31


COMPUTER ENGINEERING

Search Criteria Sequence:

user admin database truthfinder performancecalcul


ation
1: enter query 2: check

3: search datasets

4: forward sites
5: finding trustablesites

6: forwarding trustablesites
7: calculate performance

8: forward best result


9: view results

Fig 5.6 Search Criterion Sequence

DATABASE INDEPENDENCE NAVIGATION SYSTEM 32


COMPUTER ENGINEERING

5.2.2.2 COLLABORATION DIAGRAM

Collaboration is a society of classes, interfaces, and other elements that work together
to provide some cooperative behavior that’s bigger than the sum of all its parts.

Collaboration is also the specification of how an element, such as a classifier or an


operation, is realized by a set of classifiers and associations playing specific roles used in a
specific way

Contents

Collaboration diagrams commonly contain the following:

 Objects

 Data

 Connectivity

Like all other diagrams, sequence diagrams may contain notes and constraints.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 33


COMPUTER ENGINEERING

Collaboration:

2: Verifies

1: Register
User 9: Login success Admin
6: Login
5: Registration success
8: Login Ack 3: Store values

4: Ack 7: Valid data

Storing data

Database

Fig 5.7 Login Collaboration

DATABASE INDEPENDENCE NAVIGATION SYSTEM 34


COMPUTER ENGINEERING

Collaboration:

3:

verifying
1: login details 2: verify details

u:user l:login v:verification

5: login successful 4: acknowledgement

8: result response
6: search query

7: request results
s:search r:results

Fig 5.8 User Interaction Collaboration

DATABASE INDEPENDENCE NAVIGATION SYSTEM 35


COMPUTER ENGINEERING

Collaboration:

1: enter query 2: forward query

u:user s:search c:collecte


ddata
6: send results

5: forward best sites


3: forward gathered sites

calculate best link


r:resultcal t:truthfin

culation der
4: forward trustworthy sites

Fig 5.9 Search Criterion Collaboration

5.2.3 USECASE DIAGRAM

 A use case diagram is a diagram that shows a set of use cases and actors and
relationships.
Contents

 Use case commonly contain



Use cases

Actors

Dependency, generalization and association relationships

DATABASE INDEPENDENCE NAVIGATION SYSTEM 36


COMPUTER ENGINEERING

Overall Use case Diagram:

Login

Verification

User Admin

search

Collecteddatasets
Registered Unregistered Database

Resultcalculation

Viewresult

Fig 5.10 Usercase Diagram

DATABASE INDEPENDENCE NAVIGATION SYSTEM 37


COMPUTER ENGINEERING

5.3CONTROL FLOW DIAGRAMS

5.3.1 ACTIVITY DIAGRAM

An activity diagram shows the flow from activity to activity. An activity is an


ongoing non-atomic execution within a state machine.

Activities ultimately result in some action, which is made up of executable


atomic computations that result in a change in state of the system or the return of a value.

Activity diagrams commonly contain

 Activity states and action states

 Transitions

 Objects

Like all other diagrams, activity diagrams may contain notes and constrains.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 38


COMPUTER ENGINEERING

Login Process

Fig 5.11 Login Activity

DATABASE INDEPENDENCE NAVIGATION SYSTEM 39


COMPUTER ENGINEERING

User Search Process

Fig 5.12 User Search Activity

DATABASE INDEPENDENCE NAVIGATION SYSTEM 40


COMPUTER ENGINEERING

Search Process:

Fig 5.13 Search Activity

DATABASE INDEPENDENCE NAVIGATION SYSTEM 41


COMPUTER ENGINEERING

5.2.3 STATE CHART DIAGRAM

Objects have behavior and state. The state of an object depends on its current activity
or condition. A state diagram shows the possible states of the objects and transitions that
cause a change in a state.

States are rounded rectangles. Transitions are arrows from one state to another. Events
are conditions that trigger transitions are written beside the arrows. The initial state is a
dummy to start the action. Final states are also dummy states that terminate the action. The
action that occurs as a result of an event or a condition is expressed in form/action. The result
of the activity determines its subsequent states.

5.4.DATABASE DESIGN

Database design is the process of producing a detailed data model of a database. This
logical data model contains all the needed logical and physical design choices and physical
storage parameters needed to generate a design in a Data Definition Language, which can
then be used to create a database.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 42


COMPUTER ENGINEERING

5.4.1 E R Diagrams

An entity-relationship model is an abstract and conceptual representation of data. This is


a database modeling method, used to produce a type of conceptual schema or schematic data
model of a system.

Update Details View Oracle DSN


Create Query Extensions
m 1

Username Services Admin as DSN


1

Store

Database

filename

Fig.5.15 ER-Diagram

DATABASE INDEPENDENCE NAVIGATION SYSTEM 43


COMPUTER ENGINEERING
5.4.2 Tables

User Table

Column Name Data Type Constraint Type

Username /DSN Name Varchar(10) Primary Key

Password Varchar(10) Not Null

Table 5.1 User / DSN Name Table

Fact Table:

Column Name Data Type Constraint Type

About Varchar(10) Not null

File name Varchar(10) Not Null

Location Varchar(20) Not Null

Support Varchar(20) Not Null

Table 5.2 Fact Table

MainDB Table:

Column Name Data Type Constraint

Filename varchar(1000) Not Null

Location varchar(1000) Not Null

Table 5.3 Main DB Table

DATABASE INDEPENDENCE NAVIGATION SYSTEM 44


COMPUTER ENGINEERING

Page Index Table:

Column Name Data Type Constraint Type

About Varchar(50) Not null

File name Varchar(1000) Not Null

Location Varchar(1000) Not Null

Counter int(4) Not Null

Table 5.4 Page Indexing Table

Support Table:

Column Name Data Type Constraint Type

About Varchar(50) Not null

File name Varchar(1000) Not Null

Location Varchar(1000) Not Null

Support int(4) Not Null

Table 5.5 Support Table

DATABASE INDEPENDENCE NAVIGATION SYSTEM 45


COMPUTER ENGINEERING

5.5 CODING/CODE TEMPLATES

5.5.1 JAVA with RDBMS

Context

Access to data varies depending on the source of the data. Access to persistent storage, such
as to a database, varies greatly depending on the type of storage (relational databases, object-
oriented databases, flat files, and so forth) and the vendor implementation

Problem

Applications can use the JDBC API to access data residing in a relational database
management system (RDBMS). The JDBC API enables standard access and manipulation of
data in persistent storage, such as a relational database. The JDBC API enables J2EE
applications to use SQL statements, which are the standard means for accessing RDBMS
tables. However, even within an RDBMS environment, the actual syntax and format of the
SQL statements may vary depending on the particular database product.

There is even greater variation with different types of persistent storage. Access mechanisms,
supported APIs, and features vary between different types of persistent stores such as
RDBMS, object-oriented databases, flat files, and so forth.

Such disparate data sources offer challenges to the application and can potentially create a
direct dependency between application code and data access code. When business
components-entity beans, session beans, and even presentation components like servlets and
helper objects for Java need to access a data source, they can use the appropriate API to
achieve connectivity and manipulate the data source. But including the connectivity and data
access code within these components introduces a tight coupling between the components and
the data source implementation. Such code dependencies in components make it difficult and
tedious to migrate the application from one type of data source to another. When the data
source changes, the components need to be changed to handle the new type of data source.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 46


COMPUTER ENGINEERING

Forces
Portability of the components is directly affected when specific access mechanisms and
APIs are included in the components. Components need to be transparent to the actual
persistent store or data source implementation to provide easy migration to different
vendor products, different storage types, and different data source types.

Solution

Use a Data Access Object (DAO) to abstract and encapsulate all access to the data source.
The DAO manages the connection with the data source to obtain and store data.
The DAO implements the access mechanism required to work with the data source. The data
source could be a persistent store like an RDBMS, an external service like a B2B exchange, a
repository like an LDAP database, or a business service accessed via CORBA Internet Inter-
ORB Protocol (IIOP) or low-level sockets. The business component that relies on the DAO
uses the simpler interface exposed by the DAO for its clients. The DAO completely hides the
data source implementation details from its clients. Because the interface exposed by the
DAO to clients does not change when the underlying data source implementation changes,
this pattern allows the DAO to adapt to different storage schemes without affecting its clients
or business components. Essentially, the DAO acts as an adapter between the component and
the data source.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 47


COMPUTER ENGINEERING

7. OUTPUT SCREENS

Fig 7.1 Login Screen

DATABASE INDEPENDENCE NAVIGATION SYSTEM 48


COMPUTER ENGINEERING

Fig 7.2 Screen

Fig 7.3 Screen

DATABASE INDEPENDENCE NAVIGATION SYSTEM 49


COMPUTER ENGINEERING

Fig 7.4 Screen

Fig 7.5 Screen

DATABASE INDEPENDENCE NAVIGATION SYSTEM 50


COMPUTER ENGINEERING

Fig 7.6 Screen

Fig 7.7 Screen

DATABASE INDEPENDENCE NAVIGATION SYSTEM 51


COMPUTER ENGINEERING

Fig 7.8 Screen

DATABASE INDEPENDENCE NAVIGATION SYSTEM 52


COMPUTER ENGINEERING

8. CONCLUSION

Thus we introduce and formulate the Veracity problem, which aims at resolving
conflicting facts from multiple websites and finding the true facts among them. We propose
TRUTHFINDER, an approach that utilizes the inter dependency between website
trustworthiness and fact confidence to find trustable websites and true facts.
Experiments show that TRUTHFINDER achieves high accuracy at finding true facts and at
the same time identifies websites that provide more accurate information.

9. FUTURE ENHANCEMENTS

We designed this system using the data set which contains information on technical
information. We can extend further by incorporating more datasets which contains
information about various fields. We can globalize this system by connecting to internet
and retrieving data from the web and perform mining.

DATABASE INDEPENDENCE NAVIGATION SYSTEM 53


COMPUTER ENGINEERING

REFERENCES

 B. Amento, L.G. Terveen, and W.C. Hill, “Does ‘Authority’ Mean Quality?
Predicting Expert Quality Ratings of Web Documents,” Proc. ACM SIGIR ’00, July
2000.

 M. Blaze, J. Feigenbaum, and J. Lacy, “Decentralized Trust Management,” Proc.


IEEE Symp. Security and Privacy (ISSP ’96), May 1996.

 Borodin, G.O. Roberts, J.S. Rosenthal, and P. Tsaparas, “Link Analysis Ranking:
Algorithms, Theory, and Experiments,” ACM Trans. Internet
Technology, vol. 5, no. 1, pp. 231-297, 2005.

 J.S. Breese, D. Heckerman, and C. Kadie, “Empirical Analysis of Predictive


Algorithms for Collaborative Filtering,” technical report, Microsoft Research,
1998.

 R. Guha, R. Kumar, P. Raghavan, and A. Tomkins, “Propagation of Trust and


Distrust,” Proc. 13th Int’l Conf. World Wide Web (WWW), 2004.

 L. Page, S. Brin, R. Motwani, and T. Winograd, “The PageRank Citation Ranking:


Bringing Order to the Web,” technical report, Stanford Digital Library Technologies
Project, 1998.

 Database Management System by Raghu Ramakrishnan

 JSP: A Beginner’s Guide by Herbert Schildt

 Java Server Pages Programming: A visual professional guide for Design by Scott
Mitchell

DATABASE INDEPENDENCE NAVIGATION SYSTEM 54

You might also like