Anda di halaman 1dari 67

Project Report INDEX 1.Introduction - Project abstract 2. System Specifications - Hardware Requirement - Software requirement 3.

System Analysis - Problem definition and scope - Feasibility study 4. System Design - DFDs 5. System Integration and Testing 6. Outputs Screen 7. Conclusion 8. Future Scope of project 9. Bibliography

Unified Data Interface

-1-

Project Report DECLARATION

Unified Data Interface

I here by declare that the results embodied in this dissertation Entitled UNIFIED DATA INTERFACE is carried out by me During the period from xxxxxxxxxxxx to xxxxxxxxxx in partial fulfillment Of the degree of xxxxxxxxxxxxx in computer science and engineering from xxxxxxxxxxxxxx and I have not submitted the same to any other University/Institute for the award of any other degree.

Candidate Name Roll No

-2-

Project Report

Unified Data Interface ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of any task would be incomplete without the mention of the people who made it possible and whose constant guidance and encouragement crown all the efforts with success. This acknowledgement transcends the reality of formality when we would like to express deep gratitude and respect to all those people behind the screen who guided, inspired and helped us for the completion of our project work. My thanks to all my friends who have directly or indirectly helped me in completing the task successfully. Name

-3-

Project Report ABSTRACT

Unified Data Interface

Every individual will have a problem with the database queries. Because one has to remember so many queries to complete a application. To make the task easy, users need an interface through which they can design the queries, automatically just by selecting the tables and fields. This system which was designed, will support all the operations on a table in a given database like creating a table, inserting values into the table into specific fields, selecting the values from the table which supports selected fields and selected rows also. We can provide the list of fields we need and the condition through which we can select the fields. This system supports updating the table values according the condition and according the fields list given. We can delete the records from a table by given condition or we can make the table empty. All the operations performed in the system are committed automatically. When the user cant to create a table, it should support the datatypes and the constraints. It should prepare the query along with the constraint names automatically according to the fieldlist and constraints which the user is providing. When selection process comes, it should prompt for table or tables from which we need to select the data. Once the user selects the table, it should provide the field list from the selected tables. The system should automatically construct the query which out having any conflicts between the fields the user selecting. The same is applicable for other operations like deleting and updating as well as dropping.

-4-

Project Report SYSTEM

Unified Data Interface SPECIFICATIONS

Hardware Specifications: Intel Pentium III @ 650 MHz Intel 810 Cset 128 MB SDRAM (100 MHz) Dynamic video memory technology 10 GB UDMA @33MBps IDE Harddisk drive 1.44 MB Floppy drive 48* IDE CD ROM drive 1 PARALLEL, 2 SERIAL, 2 USB ports 3 PCI slots Microsoft PS/2 mouse with pad 107 keys windows keyboard Windows 98 preloaded with recovery CD media 14 digital color monitor Intel Etherexpress card

Software Specification: Operating system Front end Back end : Windows 98/NT or above : Java : Different databases

-5-

Project Report

Unified Data Interface

ANALYSIS
Problem Definition:

OF

SYSTEM

The analysis of existing system has to be carried to learn the details of the existing system. System analysis is the process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvements to the system. Only after the systems analysis we can begin to determine how and where a computer information system can benefit all the users of the system. This accumulation of the system called a system study. Existing System: Now a days, the enterprise level applications are using different backends for storing their data. In this situation, the user who prepare the query language to interact with the database has to remember all types of queries and which will be a difficult task to any user. In order to avoid this difficulty, a tool was proposed which is described below. Proposed System: The tool which is to be designed should support all types of sql queries on different tables in any database. The creation of tables, inserting values into the table, retrieving the values, updating the values and deleting the values as well as droping the table should be supported in the proposed. The system should provide a user interface to design the query in the form of a wizard. The system should support all the queries designed manually.

-6-

Project Report

Unified Data Interface

Feasibility Study: An important outcome of the preliminary investigation is the determination that system requested is feasible. It is proposed to solve the problem development a computer based system for preparing wizard for different sql queries. The proposed system is feasible in following aspects. Technical Feasibility: The technical feasibility is measured with the current Equipment, existing software technologies and available personnel are sufficient for the proposed system. The proposed system is technically feasible since the equipment; software technology and available personal in the organization are well suitable for the proposed system. Economic Feasibility: Economic feasibility is measured that the proposed System having sufficient benefits in the economic point of view. Since the necessary hardware and software are available in the organization, there is no need to procure and install new hardware and software. Thus, initial investment on hardware and software is nothing. There is no need of extra personal for the proposed system. Hence, the proposed system is economically feasible. Operational Feasibility: The operational fusibility is measured by the usage of the system after implementation and resistance from the users. Hence, it is encouraging to undertake a detailed system analysis.

-7-

Project Report

Unified Data Interface AND

SYSTEM VERIFICATION VALIDATION

Verification is a fundamental concept in the software design. Verification refers to the set of activities that ensure that software correctly implements a specific function validation refers to a different set of activities that ensure that software that has been built is traceable to customer. Validation is nothing but the process of using software in live environment in order to find errors. Verification is typically done in two steps: 1. Verification of the requirements: verification that the software requirement definition satisfies the customer needs. 2. Verification of the design: verification that the design satisfies the requirements definition. Verification and validation encompass a wide range of software quality assurance (SQA) activities that include formal, technical reviews and quality & configuration audits, performance monitoring, simulation, feasibility study, documentation review, algorithm analysis, development testing, qualification testing and installation testing. Software reviews are one of the most important SQA activities. Reviews serve as a filter for the software process, removing errors while they are relatively inexpensive to find and correct. To properly verify a system, data about software engineering process should be collected, eventually and disseminated. SQA helps to improve the quality of the product and the software process it.

-8-

Project Report ERROR

Unified Data Interface MESSAGES

The term error is used in two different ways. Error refers to the discrepancy between a computed and observed value. That is, error refers to the difference between the actual output of the software and the correct output. In this interpretation, error essentially is a measure of the difference between the actual and ideal. Error is also used to refers to human action that results in software containing a defer or a fault. This definition is quite general and encompasses all phases. The consequence of thinking is the belief that error largely occurs during programming, as it is the hardest activity in software development and suffers many opportunities for committing errors. It is now realized that errors can occur at any stage during development. As we can see, the error occurs throughout the development process. However, the cost of correcting errors of different phases is not the same and depends upon when the error is detected, corrected. The cost of correcting errors is a function of where they occur and where they are detected.

-9-

Project Report SYSTEM

Unified Data Interface DESIGN

After the analysis it must be clear what must be done. In system design, we plan how to do it. The objectives of the system design are to decide in general how the system should be implemented. Individual physical components, Program files, documents, will be identified. During the analysis we prepare a blue print for the system. Actually, the system design is the process of planning a new business system or one to replace or complement an existing system. Analysis what the system should do and design specifies how to do and design specifies how to accomplish the objectives. System design begins with a search for alternative solution. The design of an information system produces the details that state how a system will meet the requirements identified during system analysis. This process is known as the logical design and the process of development program software is referred to as physical design. The design process begins by identifying reports and other outputs the system will produce. The system design also describes the data input, calculated or stored. The produces written tell how to process the data and produce the output. The documents containing the design specifications portray the design in many different ways dataflow diagrams, data dictionary, HIPO charts etc.,

- 10 -

Project Report

Unified Data Interface

Context Level
Unified Data Interfac e

End user

End user

Level 1
Driver Class URL UserName Password Table name, Field List, Options for manipulating the tables
End user

End user

Connect

End user

Table structure
End user

Creation

End user

Table name, Field List, Values Table name, Field List, Conditions

Updated table
End user

Insertion Data according to conditions

End user

Selection

End user

End user

Table name, Field List, New Values, Condiaiton

Updated table
End user

Updation

- 11 -

Project Report

Unified Data Interface

Table name,
End user 6

Updated table
End user

Deletion Condiaiton Table name Updated table list

End user

Drop

End user

File name
8 End user

Save connection Setting File name


9

File with the connection settings


End user

The connection Copy connection Setting settings


End user

End user

- 12 -

Project Report JAVA

Unified Data Interface

Object-oriented Programming was developed because of limitations found in earlier approaches of programming. To appreciate what OOP does, we need to understand what these limitations are and how they arose from traditional programming. Procedural Languages: Pascal, C, Basic, FORTRAN, and similar languages are procedural languages. That is, each statement in the language tells the computer to do something: Get some input, add these numbers,, divide by 6, display the output. A program in a procedural language is a list of instructions. For very small programs no other organizing principle (often called a paradigm) is needed. The programmer creates the list of instructions, and the computer carries them out. Division Into Functions: When programs become larger, a single list of instructions becomes unwieldy. Few programmers can comprehend a program of more than a few hundred statements unless it is broken down into smaller units. For this reason the function was adopted as a way to make programs more comprehensible to their human creators. (The term function is used in C++ and C. In other languages the same concept may be referred to as a subroutine, a subprogram, or a procedure.) A program is divided into functions, and (ideally, at least) each function has a clearly defined purpose and a clearly defined interface to the other functions in the program.

- 13 -

Project Report

Unified Data Interface

The idea of breaking a program into functions can be further extended by grouping a number of functions together into a larger entity called a module, but the principle is similar: grouping a number of components that carry out specific tasks. Dividing a program into functions and modules is one of the cornerstones of structured programming, the somewhat loosely defined discipline that has influenced programming organization for more than a decade.

Problems With Structured Programming: As programs grow ever larger and more complex, even the structured programming approach begins to show signs of strain. You may have heard about, or been involved in, horror stories of program development. The project is too complex, the schedule slips, more programmers are added, complexity increases, costs skyrocket, the schedule slips further, and disaster ensues. Analyzing the reasons for these failures reveals that there are weaknesses in the procedural paradigm itself. No matter how well the structured programming approach is implemented, large programs become excessively complex. What are the reasons for this failure of procedural languages? One of the most crucial is the role played by data. Data Undervalued: In a procedural language, the emphasis is on doing things--read the keyboard, invert the vector, check for errors, and so on. The subdivision of a program into functions continues this emphasis. Functions do things just as single program statements do. What they do may be - 14 -

Project Report

Unified Data Interface

more complex or abstract, but the emphasis is still on the action. What happens to the data in this paradigm? Data is, after all, the reason for a program's existence. The important part of an inventory program isn't a function that displays the data, or a function that checks for correct input; it's the inventory data itself. Yet data is given second-class status in the organization of procedural languages. For example, in an inventory program, the data that makes up the inventory is probably read from a disk file into memory, where it is treated as a global variable. By global we mean that the variables that constitute the data are declared outside of any function, so they are accessible to all functions. These functions perform various operations on the data. They read it, analyze it, update it, rearrange it, display it, write it back to the disk, and so on. We should note that most languages, such as Pascal and C, also support local variables, which are hidden within a single function. But local variables are not useful for important data that must be accessed by many different functions. Now suppose a new programmer is hired to write a function to analyze this inventory data in a certain way. Unfamiliar with the subtleties of the program, the programmer creates a function that accidentally corrupts the. This is easy to do, because every function has complete access to the data. It's like leaving your personal papers in the lobby of your apartment building: Anyone can change or destroy them. In the same way, global data can be corrupted by functions that have no business changing it. Another problem is that, since many functions access the same data, the way the data is stored becomes critical. The arrangement of the data can't be changed without modifying all the functions that access it. If you add new - 15 -

Project Report

Unified Data Interface

data items, for example, you'll need to modify all the functions that access the data so that they can also access these new items. It will be hard to find all such functions, and even harder to modify all of them correctly. It's similar to what happens when your local supermarket moves the bread from aisle 4 to aisle 12. Everyone who patronizes the supermarket must figure out where the bread has gone, and adjust his or her shopping habits accordingly. What is needed is a way to restrict access to the data, to hide it from all but a few critical functions. This will protect the data, simplify maintenance, and offer other benefits as well. Relationship To The Real World: Procedural programs are often difficult to design. The problem is that their chief components--functions and data structures--don't model the real world very well. For example, suppose you are writing a program to create the elements of a graphics user interface: menus, windows, and so on. Quick now, what functions will you need? What data structures? The answers are not obvious, to say the least. It would be better if windows and menus corresponded more closely to actual program elements. New Data Types: There are other problems with traditional languages. One is the difficulty of creating new data types. Computer languages typically have several built-in data types: integers, floating-point numbers, characters, and so on. What if you want to invent your own data type? Perhaps you want to work with complex numbers, or twodimensional coordinates, or datesquantities the built-in data types dont handle easily. Being able to create your own types is called extensibility; you can extend the - 16 -

Project Report

Unified Data Interface

capabilities of the language. Traditional languages are not usually extensible. Without unnatural convolutions, you cant bundle together both X and Y coordinates into a single variable cal8led Point, and then add and subtract values of this type. The result is that traditional programs are more complex to write and maintain. The Object Oriented Approach: The fundamental idea behind object-oriented languages is to combine into a single unit both data and the functions that operate on that data. Such a unit is called an object. An objects functions, called member methods in Java, typically provide the only way to access its data. If you want to read the item and return the value to you, you call a member function in the object. It will read the item and return the value to you. You cant access the data directly. The data is hidden, so it is safe from accidental modification. Data and its functions said to be encapsulated into a single entity. Data encapsulation and data hiding are key terms in the description of object-oriented languages. If you want to modify the data in an object, you know exactly what functions interact with it: the member functions in the object. No other functions can access the data. This simplifies writing, debugging, and maintaining the program. A Java program typically consists of a number of objects, which communicate with each other by calling one anothers members functions. We should mention that what are called member functions in C++ are called methods in Java. Also, data items are referred to as instance variables. Calling an objects member function is referred to as sending a message to the object.

- 17 -

Project Report

Unified Data Interface

An Analogy: You might want to think of objects as departments such as sales, accounting, personnel, and so onin a company. Departments provide an important approach to corporate organization. In most companies (except very small ones), people dont work on personnel problems one day, the payroll the next, and then go out in the field as sales people the week after. Each department has its own personnel, with clearly assigned duties. It also has its own data: payroll, sales figures, personnel records, inventory, or whatever, depending on the department. The people in each department control and operate on those departments data. Dividing the company into departments makes its easier to comprehend and control the companys activities, and helps them maintain the integrity of the information used by the company. The payroll department, for instance, is responsible for the payroll data. If you are from the sales department, and you need to know the total of all the salaries paid in the southern region in July, you dont just walk into the payroll department and start rummaging through file cabinets. You send a memo to the appropriate person in the department, and then you wait for that person to access the appropriate person in the department, and then you wait for that person to access the data and send you a reply with the information you want. This ensures that the data is accessed accurately and that inept outsiders do not corrupt it. (This view of corporate organization is show in figure). In the same way, objects provide an approach to program organization, while helping to maintain the integrity of the programs data.

- 18 -

Project Report OOP: An Approach To Organization:

Unified Data Interface

Keep in mind that object-oriented programming is not primarily concerned with the details of program operation. Instead, it deals with the overall organization of the program. Characteristics Of Object-Oriented Languages: Lets briefly examine a few of the major elements of object-oriented languages in general and Java in particular. Objects: When you approach a programming problem in an object oriented language, you no longer ask how the problem will be divided into functions, but how it will be divided into objects. Thinking in terms of objects, rather than functions, has a surprisingly helpful effect on how easily programs can be designed and objects in the real world. What kinds of things become objects-oriented programs? The answer to this is limited only by your imagination, but there are some typical categories to start you thinking: Physical objects Automobile in a traffic-flow simulation Electrical components in a circuit design to a program Countries in an economics model Aircraft in an air-traffic control system Elements of the computer-user environment o Windows o Menus o Graphics objects(lines ,rectangles, circles) o The mouse and the keyboard - 19 -

Project Report Programming constructs o Customized arrays o Stacks o Linked lists Collection of data o An inventory o A personnel file o A dictionary

Unified Data Interface

A table of the latitudes and longitudes of world cities User defined data types o Time o Angles o Complex numbers o Points on the plane Components in a computer games Ghosts in maze game Positions in a board game (chess, checkers) Animals in an ecological simulation Opponents and friends in adventure games The match between programming objects and realworld objects us the happy result of combining data and functions: the resulting objects offer a revolution in program designing, no such close match between programming constructs and the items being modeled exists in a procedural language. Classes: In OOP we say that objects are members of classes. What does this mean? Lets look at an analogy. Almost all computer languages have built-in data types. For instance, a data type int, meaning integer is pre-defined in Java. You

- 20 -

Project Report

Unified Data Interface

can declare as many variables of type int as you need in your program: Int day; Int count; Int divisor; Int answer; A class serves as a plan, or template. It specifies what data, and what functions will be included in objects of that class. Defining the class doesnt create any objects, just as the mere existence of a type int doesnt create any variables. A class is thus a collection of similar objects. This fits our non technical understanding of the word class, Prince, sting etc., are members of the class of rock musicians. There is no person called rock musician but specific people with specific names are members of this class if they possess certain characteristics. Abstraction: An essential element of object-oriented programming is abstraction. Humans manage complexity through abstraction. For example, people do not think of a car as a set of tens of thousands of individual parts. They think of it as a well-defined object with its own unique behavior. This abstraction allows people to use a car to drive to the grocery store without being overwhelmed by the complexity of the parts that form the car. They can ignore the details of how the engine, transmission, and braking systems work. Instead they are free to utilize the object as a whole. A powerful way to manage abstraction is through the use of hierarchical classifications. This allows you to layer the semantics of complex systems, breaking them into more manageable pieces. From the outside, the car is a single object. Once inside, you see that the car consists of several - 21 -

Project Report

Unified Data Interface

subsystems: steering, brakes, sound system, seat belts, heating, cellular phone, and so on. In turn, each of these subsystems is made up of more specialized units. For instance, the sound system consists of a radio, a CD player, and/or a tape player. The point is that you manage the complexity of the car(or any other complex system) through the use of hierarchical abstractions. Hierarchical abstractions of complex systems can also be applied to computer programs. The data from a traditional process-oriented program can be transformed by abstraction into its component objects. A sequence of process steps can become a collection of messages between these objects. Thus, each of each object describes its own unique behavior. You can treat these objects as concrete entities that respond to messages telling them to do something. This is the essence of object-oriented programming. Object-oriented concepts form the heart of Java just as they form the basis for human understanding. It is important that you understand how these concepts translate into programs. As you will see, object-oriented programming is a powerful and natural paradigm for creating programs that survive the inevitable changes accompanying the life cycle of any major software project, including conception, growth, and aging. For example, once you have a well-defined objects and clean, reliable interfaces to those objects, you can gracefully decommission or replace parts of an older system without fear. Encapsulation: Encapsulation is the mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse. One way to think about encapsulation is as a protective wrapper that prevents the code and data from being arbitrarily accessed by other code - 22 -

Project Report

Unified Data Interface

defined outside the wrapper. Access to the code and data inside the wrapper is tightly controlled through a welldefined interface. To relate this to the real world, consider the automatic transmission on an automobile. It encapsulates hundreds of bits of information about your engine, such as how much you are accelerating, the pitch of the surface you are on, and the position of the shift lever. You, as the user, have only one method of affecting this complex encapsulation: by moving the gearshift lever. You cant affect the transmission by using the turn signal or windshield wipers, for example. Thus, the gearshift lever is a well-defined (indeed, unique) interface to the transmission. Further, what occurs inside the transmission does not affect objects outside the transmission. For example, shifting gears does not turn on the headlights! Because an automatic transmission is encapsulated, dozens of car manufacturers can implement one in any way they please. However, from the drivers point of view, they all work the same. This same idea can be applied to programming. The power of encapsulated code is that everyone knows how to access it and thus can use it regardless of the implementation detailsand without fear of unexpected side effects. In Java the basis of encapsulation is the class. Although the class will be examined in great detail later in this book, the following brief discussion will be helpful now. A class defines the structure and behavior (data and code) that will be shared by a set of objects. Each object of a given class contains the structure and behavior defined by the class, as if it were stamped out by a mold in the shape of the class. For this reason, objects are sometimes referred to as instances of a class. Thus, a class is a logical construct; an object has physical reality.

- 23 -

Project Report

Unified Data Interface

When you create a class, you will specify the code and data that constitute that class. Collectively, these elements are called members of the class. Specifically, the data defined by the class are referred to as member variables or instance variables. The code that operates on that data is referred to as member methods or just methods. Since the purpose of a class is to encapsulate complexity, there are mechanisms for hiding the complexity of the implementation inside the class. Each method or variable in a class may be marked private or public. The public interface of a class represents everything that external users of the class need to know, or may know. The private methods and data can only be accessed by code that is a member of the class. Therefore, any other code that is not a member of the class cannot access a private method or variable. Since the private members of a class may only be accessed by other parts of your program through the class public methods, you can ensure that no improper actions take place. Of course, this means that the public interface should be carefully designed not to expose too much of the inner workings of a class. Inheritance: Inheritance is the process by which one object acquires the properties of another object. This is important because it supports the concept of hierarchical classification. As mentioned earlier, most knowledge is made manageable by hierarchical (that is, top-down) classifications. For example, a Golden Retriever is part of the classification dog, which in turn is part of the mammal class, which is under the larger class animal. Without the use of hierarchies, each object would need to define all of its characteristics explicitly. However, by use of inheritance, an object need only define those qualities that make it unique within its class. It can inherit its general attributes from its parent. Thus, it is - 24 -

Project Report

Unified Data Interface

the inheritance mechanism that makes it possible for one object to be a specific instance of a more general case. Most people naturally view the world as made up of objects that are related to each other in a hierarchical way, such as animals, mammals, and dogs. If you wanted to describe animals in an abstract way, you would say they have some attributes, such as size, intelligence, and type of skeletal system. Animals also have certain behavioral aspects; they ear, breathe, and sleep. This description of attributes and behavior is the class definition for animals. If you wanted to describe a more specific class of animals, such as mammals, they would have more specific attributes, such as type of teeth, and mammary glands. This is known as a subclass of animals, where animals are referred to as mammals super class. Since mammals are simply more precisely specified animals, they inherit all of the attributes from animals. A deeply inherited subclass inherits all of the attributes from each of its ancestors in the class hierarchy. Inheritance interacts with encapsulation as well. If a given class encapsulates some attributes, then any subclass will have the same attributes plus any that it adds as part of its specialization (see Figure 2-2). This is a key concept, which lets object-oriented programs grow in complexity linearly rather than geometrically. A new subclass inherits all of the attributes of all of its ancestors. It does not have unpredictable interactions with the majority of the rest of the code in the system. Polymorphism: Polymorphism (from the Greek, meaning many forms) is a feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation. Consider a stack (which is a last-in, first-out list). You might have a program - 25 -

Project Report

Unified Data Interface

that requires three types of stack. One stack is used for integer values, one for floating-point values, and one for characters. The algorithm that implements each stack is the same, even though the data being stored differs. In a nonobject-oriented language, you would be required to create three difference sets of stack routines, with each set using different names. However, because of polymorphism, in Java you can specify a general set of stack routines that all share the same names. More generally, the concept of polymorphism is often expressed by the phrase one interface, multiple methods. This means that it is possible to design a generic interface to a group of related activities. This helps reduce complexity by allowing the same interface to be used to specify a general class of action. It is the compilers job to select the specific action (that is, method) as it applies to each situation. You, the programmer, do not need to make this selection manually. You need only remember and utilize the general interface. Extending the dog analogy, a dogs sense of smell is polymorphic. If the dog smells a cat, it will bark and run after it. If the dog smells its food, it will salivate and run to its bowl. The same sense of smell is at work in both situations. The difference is what is being smelled, that is, the type of data being operated upon by the dogs nose! This same general concept can be implemented in Java as it applies to methods within a Java program. Polymorphism, Encapsulation, and Inheritance work together. When properly applied, polymorphism, encapsulation, and inheritance combine to produce a programming environment that supports the development of far more robust and scaleable programs than does the process-oriented model. A well-designed hierarchy of classes is the basis for reusing the code in which you have invested time and effort developing and testing. - 26 -

Project Report

Unified Data Interface

- 27 -

Project Report

Unified Data Interface

Encapsulation allows you to migrate your implementations over time without breaking the code that depends on the public interface of your classes. Polymorphism allows you to create clean, sensible, readable, and resilient code. Of the two real-world examples, the automobile more completely illustrates the power of object-oriented design. Dogs are fun to think about from an inheritance standpoint, but cars are more like programs. All drivers rely on inheritance to drive different types (subclasses) of vehicles. Whether the vehicle is a school is a school bus, a Mercedes sedan, a Porsche, or the family minivan, drivers can all more or less find and operate the steering wheel, the brakes, and the accelerator. After a bit of gear grinding, most people can even manage the difference between a stick shift and an automatic, because they fundamentally understand their common super class, the transmission. People interface with encapsulated features on cars all the time. The brake and gas pedals hide an incredible array of complexity with an interface so simple you can operate them with your feet! The implementation of the engine, the style of brakes, and the size of the tires have no effect on how you interface with the class definition of the pedals. The final attribute, polymorphism, is clearly reflected in the ability of car manufacturers to offer a wide array of options on basically the same vehicle. For example, you can get an antilock braking system or traditional brakes, power or rack-and-pinion steering, 4-, or 6-, or 8-cylender engines. Either way, you will still press the break pedal to stop, turn the steering wheel to change direction, and press the accelerator when you want to move.

- 28 -

Project Report

Unified Data Interface

ORACLE (One of most frequently used database) Oracle Components: All business small and large must manage the company data in the fashion that allows the business to run smoothly. Some business might use file cabinets to manage their data. But most of the companies choose to user computerized database management system (DBMS) that efficiently stores, retrieves and manages large amount of data. Oracle is a multi user database (i.e., a software product that specialized in managing a single shared of information among many concurrent users). Oracle version 8i is a copyright software product of the oracle corporation, California, U.S.A. Oracle PL/SQL (3.3), SQL Forms, SQL *PLUS, SQL *NET, SQL*REPORT WRITER, SQL*Connects*CALC, SQL*STAR ORACLE*TERMINAL, ORACLE*MAIL, PL/SQL, PRO*C, PRO*COBOL, PRO*FORTRAN, PRO*PL/1, PRO*PASCAL are registered trademarks of Oracle Corporation. Oracle is the relational database management system. Oracle Data Organization: File Server: To share the data in a LAN, users store on a file server. A file server is a central node (computer in the network) that stores data files where all users data access them. Pitfalls: 1. The file server model does not deliver the data concurrency (simultaneous access to a single data set by multiple users) that is required by multi-user applications. - 29 -

Project Report

Unified Data Interface

2. If many workstations request and send many files in a LAN, the network quickly become saturated with traffic, creating a bottleneck that degrades overall system performance. 3. A network & communication software is the vehicles that transmit the data between the clients and the server in a system. Both the clients and server run communication software that allows them to talk across a network. A client server system can deliver better performance than a file server system because a client application and a database server work together to split the processing load of an application thus the term DISTRIBUTED APPLICATION PROCESSING. Oracle 8i is one of many database servers that you can plug into Client/Server architecture. Oracle 8i works to efficiently manage its resource .A database of information, among the multiple clients requesting and sending data into the network. Oracle 8i has many important features make it not only a exception DBMS but also an excellent database server choice for client/server database computing. 1) Oracle 8i supports all major operating systems for both clients and servers, including MS-DOS, Net Ware,Unixware,OS/2,and most of the UNIX flavors. Oracle networking software, SQL*NET also supports all network communication protocols, including TCP/IP,SPX/IPX, named pipes, and DECNET etc,. Therefore, Oracle 8i can be the link that joins the many data stores and networks through the heterogeneous computing systems prevalent in most corporations.

- 30 -

Project Report

Unified Data Interface

Oracle 8i has CLIENT/SERVER features developers can use to minimize the network I/O between clients and servers. Therefore applications based on Oracle8i can deliver the performance that users to be productive in their jobs. 2) Oracle 8i has features that make it easy to administrator a complicated client/server system. Therefore Oracle 8i can deliver the advantages of the Client/Server and keep the administration cost in large complicated system within reason. Oracle Tools: The oracle family of the database product includes several powerful application development and generation tools. These tools provide complete facilities that the system designers and developers use to design develop and test the software products whose Ending is the Oracle Relational Database Management System. About SQL 3.3: To enhance the capabilities of the standard SQL language, each commercial relational database server has extensions to the ANSI/ISO SQL standards. Basically the SQL commands are split into four categories. 1. Data Definition Language Using SQL (DDL): DDL commands are the SQL commands used to CREATE, ALTER AND DROP different database objects (Tables, Views, Procedures, Triggers, Tab spaces, users and so on) in Oracle 8i.

- 31 -

Project Report 2.

Unified Data Interface

Data Manipulation Using SQL (DML): DML is Data manipulation or data modification language. Almost every user when working with the oracle these commands let the user to move data into and but of the database.

3.

Transaction Control Using SQL (TCL): TCL commands lets you to determine the outcome of the transaction, commands are COMMIT, ROLLBACK AND SAVE POINT.

4.

Data Control Using SQL (DCL): DCL commands used to control, which can access an Oracle 8i database and specific data (Table, Views and so on) with in it. DCL commands include the GRANT and REVOKE commands.

PL/SQL Version 3.3: To merge the advantage of both procedural and nonprocedural languages, Oracle 8i language extensions are collectively called PL/SQL. If you are developing applications for a client/server database system, learning how to take advantage of PL/SQL is mandatory. Using PL/SQL you can improve applications and system performance because You use fast executing complicated programs rather than uncomplicated. You significantly reduce network traffic between clients and servers. The data types available in PL/SQL is number, binary integer, char, varchar2, data, Boolean and user defined are record and table.

- 32 -

Project Report Cursors:

Unified Data Interface

If a PL/SQL program includes a query that returns multiple rows from the database, you must declare a cursor for the statement. A cursor is essentially a name for a multirow query, you use a cursor to process individual rows of the querys return set, one by one as oracle 8i returns them from the database as shown here. Sub Programs: Subprograms are named PL/SQL blocks that can take parameters and be invoked. PL/SQL has two types of subprograms called procedures and functions. Generally procedures are used to perform an action and function to compute that value. This sub programs can be defined using and ORACLE tool that supports PL/SQL they can be declared in PL/SQL blocks, procedures, functions and packages. Advantages Of Sub Programs: 1. Extensibility: They let you tailor the PL/SQL language to suit your needs. 2. Modularity: They let you break a program down into manageable and well-defined logic modules. 3. Reusability Maintenance: Once validated, a subprogram can be used with confidence in any number of applications. Furthermore only subprogram is affected, if its definition changes. This change is easy for maintenance and enhancement of the program modules. - 33 -

Project Report

Unified Data Interface

Abstraction: This is the mental separation from particulars. To use subprograms, you must know what they do not know how they work. Packaged Sub Programs: Forward declarations also if you group logically related subprograms in a package, the subprogram specifications to in the package specification, and the subprogram bodies go in the package body where they are invisible to application. This package allows you to hide implementation details. Actual Parameters: The subprograms pass information using parameters. The variable or expressions referenced in the parameter list of a subprogram call are actual parameters. Formal Parameters: The variables declared in a sub program specification and referenced in the subprogram body are formal parameters. Parameter Modes: We have parameter modes to define the behavior of formed parameters. The three parameters modes, IN (default), OUT AND INOUT, can be used with any subprogram. Using the default keyword we can initialize in parameters to default values. Ex: Procedure create DEPT (new name char DEFAULT TEMP) Overloading: - 34 -

Project Report

Unified Data Interface

PL/SQL lets you overload subprograms as long as their formal parameters differ in number, order, or data types fairly. Recursion: Recursion is a powerful technique for simplifying the design of algorithms. A recursive subprogram is on that calls itself. Stored Subprograms: The Oracle 8i is an important PL/SQL client. If you have the procedural database extension, subprograms can be compiled separately and stored permanently into an oracle database, ready to execute. Advantages Of Stored Subprograms: Stored subprograms offer higher productivity, better performance, memory savings, application higher security and higher productivity. By designing application around a library of stored subprograms you can avoid redundant coding which increases the productivity. Better Performance: Using subprograms applications to ORACLE. can reduce calls from your

Ex: To execute ten individual SQL statements. Ten calls are required, but to execute a subprogram containing ten SQL statements need only one call is required. Memory Savings: - 35 -

Project Report

Unified Data Interface

Stored subprograms take advantage of the oracle shared memory capability. So only one copy of a subprogram need to loaded into memory for execution by multiple users. Application Length: Stored subprograms improve the integrity and consistency of your applications. By developing all your applications around a library of stored subprograms, you reduce the likelihood of coding errors. Tighter Security: Stored subprograms can help enforce date security. Your DAA can restrict users to specific database operations by operating access only through subprograms. Calling Stored Subprograms: You can call stored procedures that updates triggers, another subprograms, and ORACLE precompiled applications, an OCI applications or an ORACLE tool such as SQL*PLUS, SQL**FORMS AND SQL*DBA. Remote Access: You can use the following syntax to all stand alone packaged subprograms and link (parameter1, parameter2,)

Triggers Are In Two Distinct Modes.

- 36 -

Project Report Enabled:

Unified Data Interface

An enabled trigger executed its trigger action if triggering statement is issued and the trigger restriction (if any) evaluates to TRUE. Disable: Does not execute its trigger action, even if triggering statements is issued and the trigger (if any) would evaluate to TRUE.

- 37 -

Project Report SYSTEM

Unified Data Interface INTEGRATION TESTING AND

The proposed system is tested parallel with the software effort that consists of its own phases of analysis, implementation, testing and maintenance UNIT TESTING: Unit testing comprises the set of tests performed by an individual programmer prior to integration of the unit into a large system. There are four categories of tests should be performed. Functional Testing Performance Testing Stress Testing Structure testing

Function test cases involve exercising the code with the nominal input values for which the expected results are known, as well as boundary values maximum. Performance testing determines the amount of execution spent in various parts of the unit program throughput, response time and device utilization by the program unit. Stress tests are those tests designing to initially break the unit. Structure tests are con concerned with exercising the internal logic of a program and traversing particular execution path. Establishing a test completion criterion is another difficulty encountered in the unit testing of real programs. Unit testing includes. - 38 -

Project Report

Unified Data Interface

Statement Converge Branch Converge Logical path Converge Using Statement Converge programmer attempts to find a set of test cases that will execute each statement in a program at least once. Using Branch Converge as the test completion criterion the programmer attempts to find a set of cases that will execute each branching statement in each direction at least once. Logical Path Converge acknowledges that the order in which the branches are executed during a test is an important factor in determining the test outcome. Integration Testing: Integration testing is of three types. Bottom up Integration Top down Integration Sandwich Integration Bottom up integration testing consists of unit testing followed by system testing. Unit testing has the goal of testing individual modules in the system. Subsystem testing is concerned with verifying the operation of the interfaces between modules in the sub systems. System Testing is concerned with subtleties in the interfaces, decision logic, control flow recovery procedure, throughput, capacity and timing characteristics. Top down integration starts with the main routine and one or two immediately subordinate routines in the system - 39 -

Project Report

Unified Data Interface

structure. Top down integration requires the use of program stubs to simulate the effect of lower level routines that are called by those being tested. Top down method has the fallowing advantages. System integration is distributed through the implementation phase. Modules are integrated as they are developed. Top level interfaces are tested first and mist often. The top level routine provides a natural test harness for lower level routines. Errors are localized to the new modules and interfaces that are being added. Sandwich integration is predominately top down, but bottom up techniques are used on some modules and sub system. This mix alleviates many of the problems encountered in pure top down and retains the advantages of the top down integration at the subsystem and system level.

- 40 -

Project Report OUTPUT

Unified Data Interface SCREENS

- 41 -

Project Report

Unified Data Interface

- 42 -

Project Report

Unified Data Interface

- 43 -

Project Report

Unified Data Interface

- 44 -

Project Report

Unified Data Interface

- 45 -

Project Report

Unified Data Interface

- 46 -

Project Report

Unified Data Interface

- 47 -

Project Report

Unified Data Interface

- 48 -

Project Report

Unified Data Interface

- 49 -

Project Report

Unified Data Interface

- 50 -

Project Report

Unified Data Interface

- 51 -

Project Report

Unified Data Interface

- 52 -

Project Report

Unified Data Interface

- 53 -

Project Report

Unified Data Interface

- 54 -

Project Report

Unified Data Interface

- 55 -

Project Report

Unified Data Interface

- 56 -

Project Report
CONCLUSION

Unified Data Interface

This system is implemented fulfilling all the client requirements. The interfaces designed for the system is very user friendly and attractive. It has successfully implemented the client part of any database, which includes designing of query manually, designing of queries through a wizard. This provides an easy tool for the end user who doesnt know the query language. The system has successfully passed the testing at the development site and is under the testing phase in the presence of the client. The system is waiting for the client response.

- 57 -

Project Report

Unified Data Interface

- 58 -

Project Report

Unified Data Interface

- 59 -

Project Report

Unified Data Interface

- 60 -

Project Report

Unified Data Interface

- 61 -

Project Report

Unified Data Interface

- 62 -

Project Report

Unified Data Interface

- 63 -

Project Report

Unified Data Interface

- 64 -

Project Report

Unified Data Interface

- 65 -

Project Report
FUTURE SCOPE OF THE

Unified Data Interface


PROJECT

This project is having a broad future scope as it can be extended to provide services to the customers (the end users). This system can be implemented for providing more features for other objects in the databases like the clusters, sequences and indexes etc. If it is done so, the end user using this tool will be very much comfortable with the sql queries even the person doesnt know the query language.

- 66 -

Project Report
BIBLIOGRAPHY 1. Systems Analysis and Design

Unified Data Interface

- Elias M. Awad. 2. Software Engineering - Roger S. Pressman 3. Java Complete Reference - Hertbert Shield 5. Oracle 8 The Complete Reference - George Coach - Kevin Loney

- 67 -

Anda mungkin juga menyukai