Data Base Distributor

Introduction

The project Database Distributor serves the purpose for distributing the data from centralized server to different geographical sites/servers/computer which will be relevant for the user of that particular site.

The system will require just the entry of data in centralized server and the database gets distributed to various authorized client site servers according to the generated client’s request. Any user requiring access to particular part of the database can fetch the data through relevant client sites hence reducing the load at the main database server.

The main goal of the Distributed System and thus of the Database Distributor is to keep data secure at different sites even if the centralized server gets down and reducing the load on servers which makes this system more useful and efficient.

This project is mainly concern with reducing server load when any university results are declared. The different college’s server can request for part of the database containing their college’s result from where the students can see their results faster as through the main server

Description

The project mainly deals with the server where large database are maintained. In order to fetch the data from the main centralize database will create a heavy load as there are no. of user accessing the server simultaneously .The main idea to minimize the main server load is just to create a number of  clients, where the main server can share its data with the client server.

 

 

2. METHODOLOGY

2.1 WORKING PRINCIPLE:

This project is mainly divided in two parts. First is for the main server site and second is for the client server site.

Server Site:

At server site the authorized user of this project can add information related to college which are college name, college code and college host. This information is used for recognizing authorized college for security purpose when requesting data. This module is also used for adding information of newly opened colleges.

When the university result gets declared the administrator of this project will send a message “The result has been declared” to every authorized college client’s server. Only authorized client will get the message which is cross checked by the database of the college information in the main server. This is done by fetching the host name of the connecting client through IP address. The unauthorized user will get the message “You are not the authorized user”.

Similarly during declaration of revaluation result the sane process will be carried out with the message “Revel result has been declared”.

Client Site:

At the client site the administrator of this project will regularly check for the message from the server. If no message is being sent from the server it will receive a message “No messages from the server”.

As soon as it gets the result declaration message from the server, the administrator will make a database link with the main server’s result database. This is done using a specific query for making database link which will require entering the IP address of the main server.

After the link has been created the client site can request for their college result which will require entering the college code. This request is transferred to the main server from where the requested data gets copied in a table named result at the client site. The requested data will be according to the entered college code.

Now the student can access their result from his/her college’s website which is connected to the college’s server.

To accomplish database transfer File Transfer Protocol is used.

File Transfer Protocol:

File Transfer Protocol (FTP) is a standard network protocol used to copy a file from one host to another over a TCP/IP based network, such as the Internet. FTP is built on a client - server architecture and utilizes separate control and data connections between the client and server applications. Control connection is for exchanging control information and data connection for user data transfer. FTP is used with user-based password authentication or with anonymous user access.

Technology used

Java is a programming language originally developed by James Gosling at Sun Microsystems(which is now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiledto bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible.

 

Swing application

 

Swing is a graphical user interface library for the Java SE platform. It is possible to specify a different look and feel through the pluggable look and feel system of Swing. Clones of WindowsGTK+ and Motif are supplied by Sun. Apple also provides an Aqua look and feel for Mac OS X. Where prior implementations of these looks and feels may have been considered lacking, Swing in Java SE 6 addresses this problem by using more native GUI widget drawing routines of the underlying platforms. The first 

import
 includes all of the public classes and interfaces from the 
javax.swing
 package.

 

 

 

Buzzwords/Characteristics/Features of Java:

No discussion of the genesis of Java is complete without a look at the Java buzzwords. Although the fundamental forces that necessitated the invention of Java are portability and security, other factors also played an important role in molding the final form of the language. The key considerations were summed up by the Java team in the following list of buzzwords:

■ Secure

■ Portable

■ Object-oriented

■ Multithreaded

■ Architecture-neutral

■ Interpreted

■ Distributed

 

Object-Oriented

Although influenced by its predecessors, Java was not designed to be source-code compatible with any other language. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean, usable, pragmatic approach to objects. Borrowing liberally from many seminal object-software environments of the last few decades, Java manages to strike a balance between the purists’s “everything is an object” paradigm and the pragmatist’s “stay out of my way” model. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance non objects.

 

Multithreaded

Java was designed to meet the real-world requirement of creating interactive, networked programs. To accomplish this, Java supports multithreaded programming, which allows you to write programs that do many things simultaneously. The Java run-time system comes with an elegant yet sophisticated solution for multiprocess synchronization that enables you to construct smoothly running interactive systems. Java’s easy-to-use approach to multithreading allows you to think about the specific behavior of your program, not the multitasking subsystem.

 

Architecture-Neutral

A central issue for the Java designers was that of code longevity and portability. One of the main problems facing programmers is that no guarantee exists that if you write a program today, it will run tomorrow—even on the same machine. Operating system upgrades, processor upgrades, and changes in core system resources can all combine to make a program malfunction. The Java designers made several hard decisions in the Java language and the Java Virtual Machine in an attempt to alter this situation. Their goal was “write once; run anywhere, any time, forever.” To a great extent, this goal was accomplished.

 

Interpreted and High Performance

As described earlier, Java enables the creation of cross-platform programs by compiling into an intermediate representation called Java bytecode. This code can be interpreted on any system that provides a Java Virtual Machine. Most previous attempts at crossplatform solutions have done so at the expense of performance. Other interpreted

systems, such as BASIC, Tcl, and PERL, suffer from almost insurmountable performance deficits. Java, however, was designed to perform well on very low-power CPUs.

 

 

Distributed

Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols. In fact, accessing a resource using a URL is not much different from accessing a file. The original version of Java (Oak) included features for intraaddress- space messaging. This allowed objects on two different computers to execute procedures remotely. Java revived these interfaces in a package called Remote Method Invocation (RMI). This feature brings an unparalleled level of abstraction to client/server programming.

Socket programming

One of the most basic network programming tasks you’ll likely face as a Java programmer is performing socket functions. You may have to create a network client that talks to a server via a socket connection. Or, you may have to create a server that listens for socket connections. Either way, sooner or later you’re going to deal with sockets. What is a socket you ask? Think of a socket as the basic communication interface between networked computers. Sockets allow you the programmer to treat the network connection as you would any other I/O. In Java, sockets are the lowest level of network coding.

During the next few paragraphs, we’ll work through some examples of socket programming in Java: a simple client, a simple server that takes one connection at a time, and a server that allows multiple socket connections.

Requesting a Socket and Establishing a Connection

 
 
 
    try {
 
      
/** Obtain an address object of the server */
 
      InetAddress address = InetAddress.getByName(host);
 
      
/** Establish a socket connetion */
 
      Socket connection = new Socket(address, port);
 
      
/** Instantiate a BufferedOutputStream object */

Now we create a try-catch block. This block is needed because the methods of several classes we’re going to reference here throw exceptions. In our example, we’re primarily concerned with IOExceptions, and will specifically capture that one (in real world situations we’d want to deal with this exception more thoroughly). All other exceptions will be captured with a generic Exception.

In order to establish a connection with a server, we must first obtain the server’s 32-bit IP address. We obtain the IP address by invoking the InetAddress.getByName() method. As it describes, we pass this method the name of the host we’re looking to connect to. It returns an InetAddress object address containing the host name/IP address pair (i.e. Using localhost in the getByName() method will return localhost/127.0.0.1 in the InetAddress object).

Once we’ve obtained the InetAddress object, we’re ready to establish a socket connection with our server. We create a Socket called connection by instantiating a new Socket object with the InetAdress object address and our previously created int port. If the server is not responding on the port we’re looking for, we’ll get a “java.netConnectException: Connection refused:..” message.

 

Introduction to Oracle

 

ORACLE:

 

The Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle) is arelational database management system (RDBMS) produced and marketed by Oracle Corporation. As of 2009, Oracle remains a major presence in database computing.

Larry Ellison and his friends and former co-workers Bob Miner and Ed Oates started the consultancy Software Development Laboratories (SDL) in 1977. SDL developed the original version of the Oracle software. The name Oracle comes from the code-name of a CIA-funded project Ellison had worked on while previously employed by Ampex.

 

SQL:

 

SQL (pronounced ess-cue-el or see-kwul) often referred to as Structured Query Language, is a database computer language designed for managing data in relational database management systems (RDBMS), and originally based upon relational algebra. Its scope includes data query and update, schema creation and modification, and data access control. SQL was one of the first languages for Edgar F. Codd's relational model in his influential 1970 paper, "A Relational Model of Data for Large Shared Data Banks"and became the most widely used language for relational databases.

 

SCHEMA: the structure of a database system, described in a formal language supported by the database management system (DBMS). In a relational database, the schema defines the tables, the fields in each table, and the relationships between fields and tables.

Schemas are generally stored in a data dictionary. Although a schema is defined in text database language, the term is often used to refer to a graphical depiction of the database structure.

Data Definition Language

Initially, DDL was a subset of SQL statements. perhaps the most common code is CREATE TABLE code in this kind of statements.

CREATE TABLE statement

Perhaps the most common 

CREATE
 command is the 
CREATE TABLE
 command. The typical usage is:
CREATE
[TEMPORARY] TABLE
 
[table name]
 
(
 
[column
definitions]
 
)
 
[table
parameters]
.

 

Column Definitions

 A comma-separated list consisting of any of the following

Column definition: [column name] [data type] {NULL | NOT NULL} {column options}

Primary key definition: PRIMARY KEY ( [comma separated columnlist] )CONSTRAINTS: {CONSTRAINT} [constraint definition]

RDBMS specific functionality

DROP statements

Drop - To destroy an existing database, table, index, or view.

DROP
 statement in SQL removes an object from a relational database management system (RDBMS). The types of objects that can be dropped depends on which RDBMS is being used, but most support the dropping of tablesusers, and databases. Some systems (such asPostgreSQL) allow DROP and other DDL commands to occur inside of a transaction and thus be rolled back.

The typical usage is simply 

DROP
 
objecttype
 
objectname
. For example, the command to drop a table named employees would be:

DROP TABLE employees;

 

Inserting of Data into Tables in Oracle

For inserting data or information to your ORACLE tables you can use:

Syntax

INSERT INTO tablename

[(columnname, columnname)]

VALUES (expression, expression);

Inserting data into a table from another Table

For inserting data from another table to your ORACLE table of your database you can use the below give syntax:

Syntax

INSERT INTO tablename

SELECT columnname,columnname,

FROM tablename;

Inserting Selected data from another Table

In many cases you  need to insert selected data from another table to your table. For this you can use :

Syntax

INSERT INTO tablename

SELECT columnname, columnname FROM tablename WHERE column = expression

Updating the Contents of a table

For updating the contents of your Oracle database table you can use the below given syntax.

Syntax

UPDATE tablename

SET columnname = expression, columnname = expression…

WHERE columnname = expression;

Deleting all rows from Oracle database tables

For deleting all the rows from the Oracle database tables you can use:

Syntax

DELETE from tablename;

Deleting a specific number of rows

For deleting a specific number of rows from your ORACLE database you can use;

Syntax

DELETE from tablename WHERE search condition;

THE SELECT COMMAND IN ORACLE

 

Global data extract:

For extracting the data from the tables you can use:

Syntax

SELECT * FROM tablename;

Retrieving specific columns from a table :

For retrieving a particular column from a table use:

Syntax

SELECT columnname, columnname

FROM tablename

Selecting a data set from table data:

If you want to select a data set from table data then you can use the following command:

Syntax

SELECT columnname,columnname

FROM tablename

where search condition;

 

 

 

Database Link Creation

 

A database link creates a connection between a local database and a remote database. You might want to create a database link, for instance, if you want the data in a remote database updated when the local database is updated. Here's how to accomplish this: 

The first thing you need to do is to create a database link pointing to the other location. The database link can be created with a command similar to the following:

 

 

 CREATE DATABASE LINK <LINK NAME> CONNECT TO scott IDENTIFIED BY tiger USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = <SERVICE NAME>) ) );

 

You'll want to give the database link a better name, use the appropriate userid/password to connect to the remote database, and configure your TNSNAMES.ORA file with a TNS alias to point to that database. You can test the database link with a simple query like the following:

 SELECT <TABLE NAME> FROM <TABLE NAME>@<COLOUMN NAME>;

 

 

 

 

 

 

 

HARDWARE & SOFTWARE REQUIREMENTS

 

HARDWARE REQUIREMENTS

For using this project minimum hardware requirement is:-

Ø  Processor: P-III

Ø  RAM 256MB

Ø  Hard Disk: 20 GB (min.)

SOFTWARE REQUIREMENTS

Ø  Web browser

Ø  Jdk1.5  (Java Development Kit)-----J2SE(5.0)

Compiler                                 javac

Interpreter                               java

Debugger                                 jdb

Documentation                        javadoc

To view Applets                       appletviewer

Java API (Application Programming Interface)

Editor (notepad, vi, Edit)

                                    Or

Ø  Oracle 9i

Ø  Operating System: 2000 Server, Windows XP Professional.

File System: NTFS

Implementation

The paradigm is “a conceptual framework for a scientific discipline; a set of assumptions, methodologies, and objectives that determine a scientific investigation”. Moreover it refers to a “set of fundamental assumptions that influence how people think and how they perceive the world” and also as “a framework of guiding assumptions, theories, and methods that define a particular approach to scientific problems”.

From the software engineering point of view, said that “paradigm refers to a set of related concepts which are used by a person to perceive the real world or a part of it”.The model used to develop the project is THE ITERATIVE WATERFALL MODEL. It is also widely known as “classical life cycle” or “waterfall model”. Steps involved in this process can be shown using diagram as:

Implementation guidelines

Guidelines that drive the implementation and analysis include:

    * Any difficulty in design, coding and testing a modification should signal the need for redesign or re-coding.

    * Modifications should fit easily into isolated and easy-to-find modules. If they do not, some redesign is needed.

    * Modifications to tables should be especially easy to make. If any table modification is not quickly and easily done, redesign is indicated.

    * Modifications should become easier to make as the iterations progress. If they are not, there is a basic problem such as a design flaw or a proliferation of patches.

    * Patches should normally be allowed to exist for only one or two iterations. Patches may be necessary to avoid redesigning during an implementation phase.

    * The existing implementation should be analyzed frequently to determine how well it measures up to project goals.

    * Program analysis facilities should be used whenever available to aid in the analysis of partial implementations.

    * User reaction should be solicited and analyzed for indications of deficiencies in the current implementation

 

 

METHODS USED:

The most creative and challenging phase of the system life cycle is system design. The term “Design” describes a final system and the process by which it is developed. It refers to the technical specification that will be applied in implementing the candidate system. It includes the construction of the programs and program testing. The key question is “How should problem is solved”? The first step in system design is to determine how the output is to be produced and in what format. Samples of the format are also presented. Secondly, input data and master files are design to meet the requirement of the proposed output. The operational phase are handled through program construction and testing including a list of the programs needed to meet the system’s objective and complete documentation. Finally, details related to the candidate system on the user and organization are documented and evaluated by management as a step towards implementation.The final report prior to the implementation phase includes procedural flow charts, record layouts and a workable plan for implementing the candidate system. Information on personnel, money, hardware facility and their estimated cost must be available at these points. Projected cost must be close to the actual cost of the implementation.The application s/w is developed for Online Debtors Accounting. Thus, user can use the system from any where and any time, user must know the command of the system. System has been so designed that the user has to enter his id and password before actually being able to view information.

System Architecture Design

Developing a system requires planning and coordinating resources with in a given time. More important, effective project management needs to organize the available resources, schedule the events establish standards, and meet conversion dead lined.

Software project scheduling is an activity that distributes estimated effort across the planned project duration by allocating the efforts to specific software engineering tasks. Scheduling of a software project does not differ greatly from scheduling of any multitask effort.

A project manager is expected to have managerial and technical skills along with management support for system success. PERT (Program Evolution and Review Technique) and Grant (also termed as Timeline chart) are two available for project planning.

In our project the dead line for completion project is three and half month. And we complete that with in time limit.

         Designing is the most important phase of software development. It requires a careful planning and thinking on the part of the system designer. Designing software means to plan how the various parts of the software are going to achieve the desired goal. It should be done with utmost care because if the phase contains any error then that will effect the performance of the system, as a result it may take more processing time, more response time, extra coding workload etc.

        Software design sits at the technical kernel of the software engineering process and is applied regardless of the software process model that is used. After the software requirements have been analyzed and specified, software design is the first of the three technical activities Designing, Coding and Testing that are required to build and verify the software. Each activity transforms information in such a manner that ultimately results in validated computer software.

DESIGN GOALS

The following goals were kept in mind while designing the system:

         Make system user-friendly. This was necessary so that system could be used efficiently and system could act as catalyst in achieving objectives.

         Make system compatible i.e. It should fit in the total integrated system. Future maintenance and enhancement must be less.


3.2 Data Flow Diagram

 

0 Level

Project Hermes

 

Administrator

 

Project Hermes

 

Administrator

  Client side

Sever Side




1 Level

Server Side



 


Project Hermes

 

Administrator

       








 









 


                                          College Info.

Client Side









 


                                                        Result Database


Client

 

Administrator

  2 Level



 


                                                                                               College Database









 


   Result Database at Main Server                                Client Database




3.3 ER DIAGRAM


3.4 CONTROL FLOW DIAGRAM



4. RESULT

4.1 SNAPSHOTS

 

WELCOME SCREEN

This is the starting form of the project


LOGIN FORM

This is the login form where the administrator logs in to the project


MENU

This is the main menu of the project where the user has options like new entry, edit, search, Sending Message


NEW

This form is used to enter the data of new college


EDIT FORM

This form helps to edit the existing data


SEARCH FORM

This form help in searching the existing data


SEND FORM

This form sends the message to client side


HELP

This form helps the user.


CLIENT REQUEST

This form helps to receive the message from server, creates link and request for database.


MESSAGES TO CLIENT


REQUEST FORM

This form helps to receive database from server.

(IT Dep.)

Testing & VAlidations

The aim of testing process is to identify all defects in a software product. Testing is any activity aimed at evaluating the software for quality results it produces and the quality of results it can handle. Testing is an operation to detect the differences between the expected (required) result and the actual result.

Testing a program consists of subjecting the program to a test inputs or test cases and observing if the program behaves as expected. If the program fails to behave as expected, then the condition under which failures occurs are noted for later debugging and correction. There are many stages of testing depending on the complexity of the software.

Levels of Testing:

The basic levels of testing are:-

Unit Testing.

Integration Testing.

System Testing

Acceptance Testing.

NEED OF TESTING AND TESTING APPLIED:

Software testing is a critical element of the ultimate review of specification design and coding. Testing of software leads to the uncovering of errors in the software functional and performance requirements are met .Testing also provides a good indication of software reliability and software quality as a whole. The result of different phases of testing are evaluated and then compared with the expected results. If the errors are uncovered they are debugged and corrected. A strategy approach to software testing has the generic characteristics:

Testing begins at the module level and works “outwards” towards the integration of the entire computer based system.

Different testing techniques are appropriate at different points of time.

Testing and debugging are different activities, but debugging must be accommodated in the testing strategy

Goals and Objectives

Testing is a process of executing a program with the intent of finding an error”. A good test case is one that has a probability of finding an as yet undiscovered error. A successful test is one that uncovers an as yet undiscovered error. Our Objective is to design test processes that systematically uncover different classes of errors and do so with minimum amount of time and effort.

Testing implementation

Executes Test plans (generates test reports) after preparation of test cases and after making appropriate changes in the code we execute the test cases. Execution of test plans is done in accordance with project management plan. Test acceptance criteria for the functional tests in measurable terms are specified in customer requirement specification. Say not more than x number of problem of severity code A and y problems of severity code B for acceptance of the product under test.

After running our test cases we run the test cases given by the company for the validation of the product.

 

Test Cases

Testing a program consists of providing the program with a set of test input (or test case) and observing if the program behaves as expected. If the program fails to behave as expected, then the conditions under which a failure occurs are noted for debugging and correction. The following are some commonly used terms associated with testing.

A failure is a manifestation of an error (or defect or bug.). But, the mere presence of an error may not necessarily lead to a failure.

A fault is an incorrect intermediate state that may have been entered during program execution, e.g. a variable value is different from what it should be. A fault may or may not lead to a failure.

A test case is the triplet [I, S, O] where I is the data input to the system, S is the state of the system at which the data is input, and O is the expected output of the system.

A test suite is the set of all test cases with which a given software product is to be tested.

Verification and Validation

Verification is the process of determining whether one phase of a software product conforms to its previous phase, whereas validation is the process of determining whether a fully developed system conforms to its requirements specification. Thus while verification is concerned with phase containment of error, the aim of validation is to make the final product error free.

Test Dataset

Any product can be tested in one of the following two ways:

1. Knowing the specified function to be performed by the design product, tests can be executed,demonstrating each function to be fully operational while at the same time finding errors in each functions.

2. Knowing the product’s internal working, tests can be conducted to ensure that internal operations are performed according to the specifications and that all internal components have adequately been exercised.

The following issues must be addressed if a successful software testing strategy must be implemented:

Specify product requirements in a quantifiable manner long before testing commences.

State testing objectives explicitly

Understand the users of the software and develop a profile for each user category.

Develop a testing plan that emphasizes “rapid cycle testing”

Build robust software that is designed to test itself

Use effective formal techniques reviews as a filter prior to testing.

Conduct formal techniques to assess the test strategy and test cases themselves develop a continue improvement approach for the testing process.

A pictorial representation of this can be shown as follows.  


Testing Process:

The testing process can be shown as:



 

 


Levels of Testing:

The basic levels of testing are:-

Unit Testing.

Integration Testing.

System Testing

Acceptance Testing    

Unit Testing: Individual components are tested to ensure that they operate correctly. Each component is tested independently, without other system components. Unit testing focuses verification on the smallest unit of the software design of the module. The unit test is always white box oriented. The test that occur as a part of unit testing are testing the module interface examining the local data structure testing the boundary conditions, executing all the independent paths and testing error handling paths.

Facilitates change

                        Unit testing allows the programmer to refractor code at a later date, and make sure the module still works correctly (i.e. regression testing). The procedure is to write test cases for all functions and methods so that whenever a change causes a fault, it can be quickly identified and fixed.

                        Readily-available unit tests make it easy for the programmer to check whether a piece of code is still working properly.

                        In continuous unit testing environments, through the inherent practice of sustained maintenance, unit tests will continue to accurately reflect the intended use of the executable and code in the face of any change. Depending upon established development practices and unit test coverage, up-to-the-second accuracy can be maintained.

 Simplifies integration

            Unit testing may reduce uncertainty in the units themselves and can be used in a bottom-up testing style approach. By testing the parts of a program first and then testing the sum of its parts, integration testing becomes much easier.

            An elaborate hierarchy of unit tests does not equal integration testing, despite what a programmer may think. Integration testing cannot be to a full extent automated and still relies heavily on human testers.

 Documentation

                        Unit testing provides a sort of living documentation of the system. Developers looking to learn what functionality is provided by a unit and how to use it can look at the unit tests to gain a basic understanding of the unit API.

                        Unit test cases embody characteristics that are critical to the success of the unit. These characteristics can indicate appropriate/inappropriate use of a unit as well as negative behaviors that are to be trapped by the unit. A unit test case, in and of itself, documents these critical characteristics, although many software development environments do not rely solely upon code to document the product in development.

                        On the other hand, ordinary narrative documentation is more susceptible to drifting from the implementation of the program and will thus become outdated (e. g. design changes, feature creep, relaxed practices in keeping documents up-to-date).

 Design

                        When software is developed using a test-driven approach, the unit test may take the place of formal design. Each unit test can be seen as a design element specifying classes, methods, and observable behaviour. The following Java example will help illustrate this point.

                        Here is a test class that specifies a number of elements of the implementation. First, that there must be an interface called Adder, and an implementing class with a zero-argument constructor called AdderImpl. It goes on to assert that the Adder interface should have a method called add, with two integer parameters, which returns another integer. It also specifies the behavior of this method for a small range of values.

INTEGRATION TESTING: Integration testing  is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before system testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.

BLACK BOX TESTING: Black box testing attempts to derive sets of inputs that will fully exercise all the functional requirements of a system. It is not an alternative to white box testing. This type of testing attempts to find errors in the following categories:

Incorrect or missing functions.

Interface errors.

 Errors in data structures or external database access.

Performance errors.

Initialization and termination errors.

FUNCTIONAL TESTING: It is the exhaustive testing to done the functional behavior of the module. In this type of Testing if the required functionality is working as per the specifications and if the expected result is correct.

STRUCTURAL TESTING: Structural testing is sometimes referred to as clear-box testing since white boxes are considered opaque and do not really permit visibility into the code.

Since the tests are based on the actual implementation, if the implementation changes, the tests probably will need to change, too.

            While white box testing is applicable at the unit, integration and system levels of the software testing process, it is typically applied to the unit.

While it normally tests paths within a unit, it can also test paths between units during integration, and between subsystems during a system level test. Though this method of test design can uncover an overwhelming number of test cases, it might not detect unimplemented parts of the specification or missing requirements, but one can be sure that all paths through the test object are executed.

Typical white box test design techniques include:

Control flow testing

Data flow testing

Branch testing

Path testing

ALPHA TESTING: It is simulated or actual operational testing by potential users/customers or an independent test team at the developers' site. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing, before the software goes to beta testing.

Beta Testing: This process of testing is carried out to have more validity of the software developed. This takes place after the alpha testing. After the alpha phase also the generally the release is not made fully to all end users. The product is released to a set of people and feedback is got from them to ensure the validity of the product. So here normally the testing is being done by group of end users and therefore this beta testing phase covers black box testing.

SECURITY TESTING: Security testing attempts to verify that protection mechanism built into a system will, in fact, protect it from improper penetration. In this testing we find some problems related to security. After which we decide to keep three passwords at three different levels that are:

Information Level

Transaction Level

Setting Level

Testing Results:

            The testing results for the project “System Security” were found to be quiet satisfactory. The results of the applied tests have been summarized in the following table.

Test Applied

Test Result

Unit Testing

Positive

Integration Testing

Positive

Black Box Testing

Positive

White Box Testing

Positive

Functional Testing

Positive

Alpha Testing

Positive

Beta Testing

Positive

Security Testing

Positive

Applications & LIMItations


APPLICATION

 

  • Used where the large database have to be maintained like university, bank etc.
  • In Medical field where the diagnosis report from different department can be submitted at the single database
  • In business field where the chain retailers can submit there sales record at the main server

LIMITATION

 

·         The user from the server side has to be present while sending the message to the server, so as the client to request for the database.

·         Passwords features using database has to be implemented for more than one user.

Comments

No comments yet.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working