3.1 Introduction
Software design sits at the technical kernel of software engineering and is applied regardless of the software process model that is used. Beginning once software requirements have been analyzed and specified, software design is the first of three technical activities-design, code generation, and test ±that are required to build and verify the software. Each activity transforms information in a manner that ultimately results in validated computer software. Design is a meaningful engineering representation of something that is to be built. Software design is a process through which the requirements are translated into a representation of the software. During design we make decisions that will ultimately affect the success of software construction and, as important, the ease with which software can be maintained. The importance of software design can be stated with a single word-quality. Design is the place where quality is fostered in software engineering. Design provides us with representations of software that can be assessed for quality. Design is the only way that we can accurately translate a customer¶s requirements into a finished software product or system. Software design serves as the foundation for all the software engineering and software support steps that follow. Without design we risk building an unstable system-one that fail when small changes are made ;one that may be difficult to test; one whose quality cannot be accessed until late in the software process, when time is short and many dollars have already been spent. The Unified Modeling Language allows the software engineer to express an analysis model using the modeling notation that is governed by a set of syntactic semantic and pragmatic rules.

A UML system is represented using five different views that describe the system from distinctly different perspective. Each view is defined by a set of diagram, which is as follows.

1. User Model View
y y

This view represents the system from the users perspective. The analysis representation describes a usage scenario from the end-users

perspective. 2. Structural model view

In this model the data and functionality are arrived from inside

the system.

This model view models the static structures.

3. Behavioral Model View

It represents the dynamic of behavioral as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view.

4. Implementation Model View

In this the structural and behavioral as parts of the system are represented as they are to be built.

5. Environmental Model View

In this the structural and behavioral aspects of the environment in which the system is to be implemented are represented. UML is specifically constructed through two different domains they are:

1. UML Analysis modeling, this focuses on the user model and structural model views of the system. 2. UML design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views.

3.2 Design Principles
Basic design principles enable the software engineer to navigate the design process. Davis suggest a set of principles for software design, which have been adapted and extended in the following list:  The design process should not suffer from ³tunnel vision´. A good designer should consider alternative approaches, judging each based on the requirements of the problem, the resources available to do the job.  The design should be traceable to the analysis model. Because a single element of the design model often traces to multiple requirements, it is necessary to have a means for tracking how requirements have been satisfied by the design model.  The design should not reinvent the wheel. Systems are constructed using a set of design patterns, many of which have likely been encountered before. These patterns should always be chosen as an alternative to reinvention. Time is short and resources are limited! Design time should be invested in representing truly new ideas and integrating those patterns that already exist.  The design should ³minimize the intellectual distance´ between the software and the problem as it exists in the real world. That is, the structure of the software design should mimic the structure of the problem domain.  The design should exhibit uniformity and integration. A design is uniform if it appears that one person developed the entire thing. Rules of style and format should be defined for a design team before design work begins. A design is integrated if care is taken in defining interfaces between design components.  The design should be structured to accommodate change. The design concepts enable a design to achieve this principle.  The design should be structured to degrade gently, even when aberrant data, events, or operating conditions are encountered. Well-designed software should never ³bomb´. It should be designed to accommodate unusual circumstances, and if it must terminate processing, do so in a graceful manner.

 Design is not coding, coding is not design. Even when detailed procedural designs are created for program components, the level of abstraction of the design model id higher than source code. The only design decisions made at the coding level address the small implementation details that enable the procedural design to be coded.  The design should be assessed for quality as it is being created, not after the fact. A variety of design concepts and measures are available to assist the designer in assessing quality.  The design should be reviewed to minimize conceptual errors. There is sometimes a tendency to focus on minutiae when the design is reviewed, missing the forest for the trees. A design team should ensure that major conceptual elements of the design have been addressed before worrying about the syntax of the design model. When these design principles are properly applied, the software engineer creates a design that exhibits both external and internal quality factors. External quality factors are those properties of the software that can be readily observed by users. Internal quality factors are of importance to software engineers.

The purpose of the design phase is to plan a solution of the problem specified by the requirement document. This phase is the first step in moving from problem domain to the solution domain. The design of a system is perhaps the most critical factor affecting the quality of the software, and has a major impact on the later phases, particularly testing and maintenance. The output of this phase is the design document. This document is similar to a blue print or plan for the solution, and is used later during implementation, testing and maintenance. The design activity is often divided into two separate phase-system design and detailed design. System design, which is sometimes also called top-level design, aims to identify the modules that should be in the system, the specifications of these modules, and how they interact with each other to produce the desired results. At the end of system design all the major data structures, file formats, output formats, as well as the major modules in the system and their specifications are decided.

During detailed design the internal logic of each of the modules specified in system design is decided. During this phase further details of the data structures and algorithmic design of each of the modules is specified. The logic of a module is usually specified in a high-level design description language, which is independent of the target language in which the software will eventually be implemented. In system design the focus is on identifying the modules, whereas during detailed design the focus is on designing the logic for each of the modules. In other words, in system design the attention is on what components are needed, while in detailed design how the components can be implemented in software is the issue.

3.3.1 Software Development Life Cycle
This document play a vital role in the development of life cycle (SDLC) as it describes the complete requirement of the system. It means for use by developers and will be the basic during testing phase. Any changes made to the requirements in the future will have to go through formal change approval process. The trends of increasing technical complexity of the systems, coupled with the need for repeatable and predictable process methodologies, have driven System Developers to establish system development models or software development life cycle models. Nearly three decades ago the operations in an organization used to be limited and so it was possible to maintain those using manual procedures. But with the growing operations of organizations, the need to automate the various activities increased, since for manual procedures it was becoming very difficult, slow and complicated. Like maintaining records for a thousand plus employees company on

spiral model and Dynamic Systems Development Method (DSDM). which were opting for automation. There were many models suggested. and request approval. As originally envisioned. These include Waterfall model. at that time more and more companies started going for automation. with an eye toward the end goal of the project. In addition. This model was not the first model to discuss iterative development. information gathering. In economic feasibility cost-benefit analysis is done. different life cycles models will be discussed. Object-Oriented Model. It includes evaluation of present system.2 Spiral Model SPIRAL MODEL was defined by Barry Boehm in his 1988 article. legal and operational feasibility. Analysis and engineering efforts are applied at each phase of the project.papers is definitely a cumbersome job. feasibility study. In this session. implementation. 3. it was felt that some standard and structural procedure or methodology be introduced in the industry so that the transition from manual to automated system became easy. ³A spiral Model of Software Development and Enhancement. Feasibility study includes technical. testing and maintenance stages. Then there is a preliminary investigation stage.3. System development begins with the recognition of user needs. Life cycle model emphasized on the need to follow some structured approach towards building new or improved system. Each phase starts with a design goal and ends with a client reviewing the progress thus far. So. the iterations were typically 6 months to 2 years long. economic. After that. there are detailed design. The steps for Spiral Model can be generalized as follows: y A preliminary design is created for the new system. The concept of system life cycle came into existence then. Prototype model. but it was the first model to explain why the iteration models. Since there were a lot of organizations. we'll be learning about various stages that make system's life cycle. .

2.y A first prototype of the new system is constructed from the preliminary design. y A second prototype is evolved by a fourfold procedure:     Evaluating the first prototype in terms of its strengths. and risks. This is usually a scaled-down system. Defining the requirements of the second prototype.3. Planning an designing the second prototype. The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired. The following figure 3. Constructing and testing the second prototype. and represents an approximation of the characteristics of the final product. weakness.1 shows how a spiral model acts like: .

2. because important issues discoved earlier..3. .3.) become more relistic as work progresses.3 Advantages of Spiral Model y Estimates(i. schedule etc . budget.e.1 3.Figure 3.

and constraints are understood. Investigate constraints imposed on the alternatives²namely technology. reuse.y It is more able to cope with the changes that are software development generally entails. support. To better understand the scope of each spiral development quadrant. and procure/ modify 3. functionality. verify. hardware. cost. 2. Quadrant 2 (Evaluate alternatives. Alternatives. and constraints.4 Spiral Model Description The development spiral consists of four quadrants as shown in the figure above. Investigate implementation alternatives²namely design. and resolve risks. and risk. y Software engineers can get their hands in and start woring on the core of a project earlier. identify. procure. Quadrant 1: Determine Objectives. alternatives. and training. identify. . is oriented toward software development.3. Establish an understanding of the system or product objectives²namely performance. 3. Quadrant 4: Plan next phases. and resolve risks) is performed. Quadrant 1: Determine objectives. and Constraints Activities performed in this quadrant include: 1. the concept is equally applicable to systems. Although the spiral. as depicted. Quadrant 3: Develop. schedule. for example. Quadrant 2: Evaluate alternatives. alternatives. let¶s briefly address each one. and ability to accommodate change. Once the system or product¶s objectives. next-level product.

development. or combinations of these and other risk resolution techniques. and risk constraints. Verify. Resolve Risks Engineering activities performed in this quadrant select an alternative approach that best satisfies technical. As a result. Dr. Next-Level Product If a determination is made that the previous prototyping efforts have resolved the COIs/CTIs. verify. Each alternative is investigated and prototyped to reduce the risk associated with the development decisions.Quadrant 2: Evaluate Alternatives. analytic modeling. If appropriate. the basic ³waterfall´ approach may be employed²meaning concept of operations. more detailed prototyping may need to be added before progressing to the next quadrant. the subsequent riskdriven steps would be the evolving series of evolutionary prototypes going toward the right (hand side of the graphic) the option of writing specifications would be addressed but not exercised. technology. support.´ This brings us to Quadrant 3. cost. benchmarking. integration.. activities to develop. Identify. The outcome of the evaluation determines the next course of action. Boehm describes these activities as follows: This may involve prototyping.e. and test of the next system or product iteration. Quadrant 3: Develop. simulation. The focus here is on risk mitigation. schedule. reference checking. next-level product are performed. incremental development approaches may also be applicable. design. Boehm notes that if the alternative chosen is ³operationally useful and robust enough to serve as a low-risk base for future product evolution. Quadrant 4: Plan Next Phases The spiral development model has one characteristic that is common to all models²the need for advanced technical planning and multidisciplinary reviews at . external and internal) risks remain. If critical operational and/or technical issues (COIs/CTIs) such as performance and interoperability (i. administering user questionnaires.

critical staging or control points.1 DATA FLOW DIAGRAM A graphical tool used to describe and analyze the moment of data through a system manual or automated including the process. or devices that use or produce (Transform) Data. which may be People. stores of data. organizations or other entities. resolves critical operational and/or technical issues (COIs/CTIs). progress.4 DFD/ERD/UML DIAGRAMS 3. The DFD is also known as a data flow graph or a bubble chart. and reviews plans and identifies COIs/CTIs to be resolved for the next iteration of the spiral. procedures. Subsequent implementations of the spiral may involve lower level spirals that follow the same quadrant paths and decision considerations. maturity.4. Each cycle of the model culminates with a technical review that assesses the status. risk. iii) Source: External sources or destination of data. Data Flow Diagrams are the central tool and the basis from which other components are developed. ii) Process: People. merits. 3. of development efforts to date.4 DFD and UML Diagrams 3. programs. The Basic Notation used to create a DFD¶s are as follows: i) Dataflow: Data move in a specific direction from an origin to a destination. The physical component is not identified. . and delays in the system.

It will retransmit the lost packets to the destination peer. .1 in which arrow symbols represents the flow of data from one module to another module .1 . 3.iv) Data Store: Here data are stored or referenced by a process in the System.4.It recognize the lost packets while transferring the data from one peer to another peer.1 Architecture of Path-Diversity P2P Overlay Retransmission for Reliable IP-Multicast The architecture of the proposed Path-Diversity P2P Overlay Retransmission for Reliable IP-Multicast is shown in below fig:3.

2 UML Diagrams: The Unified Modeling language allows software engineer to express an analysis model using the modeling notation that is governed by set of syntactic semantic and pragmatic rules.1 Architecture of Path-Diversity P2P Overlay Retransmission for Reliable IP-Multicast 3. Each view is defined by a set of 3.1 An Overview of UML The UML is a language for y Visualizing .2.4.4. A UML system is represented using five different views that describe the system from distinctly different perspective.Fig: 3. which is as follows. diagram.

y y y y Dependency Association Generali ation Reali ation a)Dependency: The relationship ³Dependency´ between two entities refers to position where changes caused to one entity may have its effect on other entity. The entity whose objects are substituted is known as parent entity and the entity. the objects of one entity can be substituted with the objects of another entity. As seen from the figure a dashed arrow proceeding in one direction represents the dependency symbol. The dependency relationship is represented as. t is represented as. d)Reali ation . Based on these notations. b)Association A structural relationship that shows a connection among objects is called as an ³Association´. is known as child entity. UM defines the four relationships.y y y Speci i C t cti Documenting 3. t is represented as.4. which is providing objects for replacement.2 Rel i i i the UML The word ³Not tion´ in UM refers to set of symbols which are used to represent a system .These symbols play a vital role in defining a system. c)Generali ation Generali ation is termed as ³Speciali ed Relationship´.2. n this relationship.

3. The class diagram of the Flexible Rollback Recovery in Dynamic Heterogeneous Grid Computing is shown in Fig: 3. They are as follows. A class diagram shows a set of classes. and collaborations and their relationships. a class diagram is a collection of vertices and arcs.2. interfaces. y y y Class diagrams Component Diagrams Deployment Diagrams a) Class Diagrams Class diagrams are the most common diagrams found in modeling object-oriented systems. Contents Class Diagrams commonly contain the following things Classes Interfaces Collaborations Dependency.4. generalization and association relationships b) Component Diagrams . Graphically.2.3 Diagrams in the UML  Structural Diagrams: The Structural Diagrams are four types.Realization is a relationship between classifiers in which one classifier lays down a contract and another classifier guarantees to carry out this contract.

and files etc. These diagrams can be achieved by modeling various physical components like libraries. y y y y y Use case diagrams Sequence diagrams Collaboration diagrams Activity diagrams and State Chart diagrams a) Use Case Diagrams Use Case diagrams are one of the five diagrams in the UML for modeling the dynamic aspects of systems (activity diagrams.A component is the physical implementation of classes and collaborations. processes. sequence diagrams. Architecture of a system can be explained with its components. Therefore a component is the basic building block of a system. The static deployment view of a system in terms of different components. A deployment diagram contains-nodes and relationships (dependency and association). Contents Nodes Relationships  Behavioral Diagrams: The behavioral Diagrams are four types. state chart diagrams and collaboration diagrams are the four other kinds of diagrams in the UML for modeling the dynamic aspects of systems). which are residing internal to given node. Use Case diagrams are central to . They are as follows. tables. Contents Components Interfaces Relationships c) Deployment Diagrams The deployment diagrams indicate the processing elements. This diagram is used to know which components will run on which nodes (with the stereo type<<supports>>) similarly the migration of components will be represented by the stereo type<<becomes>>. software components. processes can be modeled by deployment diagrams.

Most objects that appear in the interaction diagrams will be in existence for the duration of the interaction. Graphically. or a class. b) Sequence Diagrams A sequence diagram is an interaction diagram that emphasizes the time ordering of the messages. This gives the reader a clear visual cue to the flow of control over time.5 Common Properties A Use Case diagram is just a special kind of diagram and shares the same common properties. which are used to group elements of your model into larger chunks. Occasionally. a sequence diagram is a table that shows objects arranged along the X-axis and messages. ordered in increasing time. as do all other diagrams. especially when you want to visualize a specific executing system. as well. The use case diagram for Flexible Rollback Recovery in Dynamic Heterogeneous Grid Computing the is shown in fig 3. and association relationships Like all other diagrams.a name and graphical contents that are a projection into the model. and increasingly more sub-routine objects to the right. Each one shows a set of use cases and actors and relationships. so .. Contents Use Case diagrams commonly contain: y y y Use Cases Actors Dependency. Use Case diagrams may also contain packages. a sub-system.modeling the behavior of the system. in order of increasing time from top to the bottom. Typically you place the object that initiates the interaction at the left. you will want to place instances of use cases in your diagrams. What distinguishes a use case diagram from all other kinds of diagrams is its particular content. generalization. along the Y-axis. you place the messages that these objects send and receive along the Y-axis. Sequence diagrams have two interesting features There is the object lifeline. An object lifeline is the vertical dashed line that represents the existence of an object over a period of time. Next. use case diagrams may contain notes and constraints.

the bottom is aligned with its completion.3 c) Collaboration Diagram: The collaboration diagram represents a collaboration. . State chart diagrams are used to model the dynamic aspects of the system. The focus of control is tall. The Collaboration Diagram for Flexible Rollback Recovery in Dynamic Heterogeneous Grid Computing is shown in fig 3. which is a set of messages exchanged among the objects within the collaboration to achieve a designed Outcome. thin rectangle that shows the period of time during which an object is performing an action.4.6 e) State Chart Diagram: A state chart diagram shows a state machine. An outgoing solid arrow attached to the end of activity symbol indicates a transition triggered by the completion. An activity is shown as a round box containing the name of the operation. For the most part this involves modeling the behavior of the reactive objects. and interaction.these objects are all aligned at the top of the diagram. Activity diagram can also be used to represent a class¶s method implementation. which is a set of objects related in a particular context. d) Activity Diagram: The purpose of activity diagram is to provide a view of flows and what is going on inside a use case or among several classes. either directly or through the subordinate procedure. The Activity Diagram for Flexible Rollback Recovery in Dynamic Heterogeneous Grid Computing in fig 3. There is a focus of the control. The sequence diagram for the Flexible Rollback Recovery in Dynamic Heterogeneous Grid Computing is shown in fig 3. The top of the rectangle is aligns with the action. with their lifelines drawn from the top of the diagram to the bottom. A token represents an operation.

performs some activity or wait for some events. The class diagram is a collection of static modeling elements. including events and actions. Graphically a state chart diagram is a collection of vertices and arcs. Class Diagram: UML Class diagram shows the static structure of the model. Simple states and Composite states. A reactive object has a clear lifeline whose current behavior is affected by its past. An event is a specification of a significant occurrence that has a location in time and space. connected as a graph to each other and to their contents . A state chart diagram show a state machine emphasizing the flow of control from state to state. such as classes and their relationships. State chart diagram commonly contain. A state machine is a behavior that specifies the sequence of states an object goes through during its life time in response to events together with its response to those events. transitions. A state is a condition in the life of the object during which it satisfies some conditions.A reactive object is one whose behavior is best characterized by its response to events dispatched from outside its context.


A Sequence diagram shows an interaction arranged in a time sequence. the horizontal . a set of use cases enclosed by a system boundary. Execute No.Use Case Diagram: A use case diagram is a graph of actors. A sequence diagram has two dimensions: vertical dimension represents time. communication (participation) associations between the actors and users and generalization among use cases. The use case model defines the outside (actors) and inside (use case) of the system¶s behavior.of nodes Enter the Distance Update Network Enter the Destination Node Find possible paths Find Node disjoint path Pactorization Send Possible Retransmit Sequence Diagram: Sequence diagram are an easy and intuitive way of describing the behavior Of a system by viewing the interaction between the system and its environment.

which is a set of messages exchanged among the objects within the collaboration to achieve a designed Outcome. and interaction. The lifeline represents the object¶s existence during the interaction Node Update Network Destination Path Discovery Node Disjoint Pactorization Send Retransmit 1 : distance() 2 : enter the dstination() 3 : find available paths() 4 : find node disjoint path() 5 : paths() 6 : select Data file() 7 : pactorize() 8 : packets() 9 : possible retransmit() Collaboration Diagram: The collaboration diagram represents a collaboration. which is a set of objects Related in a particular context. The vertical line is called is the object¶s life line.Dimension represents different objects. .

An outgoing solid arrow attached to the end of activity symbol indicates a transition triggered by the completion.  : distance ¢ ¡     ¦ ¦  §¤ £ Pat i over etransmit   ¦ ¦ ¨ ¤£ © 8 : packets() 7 : pactori e () ¥ ¤ £ ¦ . An activity is shown as a round box containing the name of the operation. Activity diagram can also be used to represent a class¶s method implementation.Send 5 : pat s() Node i oint 4 : find node disjoint pat () Pactori a tion 3 : find available pat s() 6 : select Data file() 9 : possible retransmit() pdate Net or e t i a tion : enter t e dstination() Node Activity Diagram: The purpose of activity diagram is to provide a view of flows and what is going on inside a use case or among several classes. A token represents an operation.


and software components. processes can be modeled by deployment diagram.Deployment Diagram Deployment diagram indicates the processing elements. process. . The static deployment view of a system in terms of different components.

of nodes Ente theDestination Enterthediistance UpdateNetwork Find Possible paths FindNode disjointpath Packetization send  Possible retrans it .Enter the no.

Except for those constraints imposed by the Internet environment. Java gives the programmer. two categories of objects are transmitted between the Server and the Personal computer. In a network. Java is cohesive and consistent. The Chapter describes about the software tool that is used in our project. They are: Passive information and Dynamic active programs.1 Introduction A programming tool or software tool is a program or application that software developers use to create. architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices.. The primary motivation of this language was the need for a platformindependent (i. . maintain. Importance of Java to the Internet Java has had a profound effect on the Internet. debug. Java Technology Initially the language was called as ³oak´ but it was renamed as ³Java´ in 1995. full control.e. or otherwise support other programs and applications. This is because. y y y Java is a programmer¶s language. Java expands the Universe of objects that can move about freely in Cyberspace. Java is to Internet programming where C was to system programming.CHAPTER-4 IMPLEMENTATION 4. The term usually refers to relatively simple programs that can be combined together to accomplish a task. y Finally. The Dynamic. Selfexecuting programs cause serious problems in the areas of Security and probability.

dynamically downloaded across the network. most users did not download executable programs frequently. An Applet is an application designed to be transmitted over the Internet and executed by a Java ±compatible web browser. not just a media file. Most users still worried about the possibility of infecting their systems with a virus. Java addresses those concerns and by doing so. another type of malicious program exists that must be guarded against. and passwords. It is more or less like one creating using C or C++. Java can be used to create two types of programs Applicat i ons and Appl et s : An application is a program that runs on our Computer under the operating system of that computer. It can react to the user input and dynamically change. Java¶s ability to create Applets makes it important. Prior to Java. some means of generating portable executable . This type of program can gather private information. In addition. Java answers both these concerns by providing a ³firewall´ between a network application and your computer. you are risking a viral infection. and those who did scan them for viruses prior to execution. When you use a Java-compatible Web browser. An applet is actually a tiny Java program. Portability For programs to be dynamically downloaded to all the various types of platforms connected to the Internet. Features of Java Security Every time you that you download a ³normal´ program.But. bank account balances. it is an intelligent program. But the difference is. just like an image. such as credit card numbers. you can safely download Java applets without fear of virus infection or malicious intent. has opened the door to an exciting new form of program called the Applet.

in its standard form. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine. It is not possible to compile an entire Java program into executable code all at once. on a piece-bypiece. as it is needed. any Java program can run on it. So byte code verification is integral to the compiling and executing of Java code. The Byte code The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. a class loader is invoked and does byte code verification makes sure that the code that¶s has been generated by the compiler will not corrupt the machine that it¶s loaded on. Java Virtual Machine (JVM) Beyond the language. . which is called the Java Virtual Machine (JVM). Java¶s solution to these two problems is both elegant and efficient. The Java virtual machine is an important element of the Java technology.code is needed . demand basis. the same mechanism that helps ensure security also helps create portability. Sun has just completed its Just In Time (JIT) compiler for byte code. it compiles byte code into executable code in real time. Although Java was designed for interpretation. That is.As you will see. it is verified. Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. during execution. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system. As part of the loading process. The JIT compiles code. once the run-time package exists for a given system. there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. there is the Java virtual machine. Indeed. because Java performs various run-time checks that can be done only at run time. When the JIT compiler is a part of JVM. the JVM is an interpreter for byte code.

the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). The code is written and compiled for one machine and interpreted on all machines.1 Development process of JAVA Java programming uses to produce byte codes and executes them. This machine is called Java Virtual Machine. which is then interpreted on each platform by the run-time environment. robust. PC Compiler Java Interpreter Java Interpreter Java Source Code «««. able to load code when needed from a machine in the same room or across the planet. Java Architecture Java architecture provides a portable. The JVM is supposed to execute the byte code. Compilation of code When you compile the code.Class file is then loaded across the network or loaded locally on your machine into the execution environment is the Java virtual machine. . Java is a dynamic system. The first box indicates that the Java source code is located in a. Java file that is processed with a Java compiler called javac. Java provides portability by compiling the byte codes for the Java Virtual Machine. The Java compiler produces a file called a. which interprets and executes the byte code. high performing environment for development. The .Class Fig: 4. In reality this could be a Intel Pentium Windows 95 or SunSARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets. class file. The JVM is created for overcoming the issue of portability. Compiling and interpreting Java Source Code During run-time the Java interpreter tricks the byte code file into thinking that it is running on a Java Virtual Machine. which contains the byte code..Java Source Java Java byte code JavaVM .

Java virtually eliminates the problems of memory management and deallocation. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner. The ability to create robust programs was given a high priority in the design of Java. it checks your code at compile time and run time. which is completely automatic. such as integers. more approachable manner.2 Overview of Implementation Language Java Swing . pragmatic approach to objects. because the program must execute reliably in a variety of systems.Java Macintosh compiler SPARC Byte code Independent Compiler Fig: 4. In Java there are a small number of clearly defined ways to accomplish a given task. 4. Because Java inherits the C/C++ syntax and many of the object oriented features of C++. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean usable. In a well-written Java program. while simple types. are kept as highperformance non-objects. If you are an experienced C++ programmer. Object-Oriented Java was not designed to be source-code compatible with any other language. Java is strictly typed language.2 Compiling and Interpreting Java Source code Simple Java was designed to be easy for the Professional programmer to learn and to use effectively. Robust The multi-platform environment of the Web places extraordinary demands on a program. all run time errors can ±and should ±be managed by your program. The object model in Java is simple and easy to extend. learning Java will be even easier.

JPanel The JPanel class provides general-purpose containers for lightweight components. However. The JComponent class extends the Container API class. JButton. customizable. From basic widgets like Buttons. Java Foundation Classes. however. It has a rich set of widgets. The Container class has support for adding components to the container and laying them out. JButton . Accessibility. these are managed by the content Pane. Scrollbars to advanced widgets like Trees and Tables. To add a component to a JFrame. and Drag and Drop. For example. Java 2D. which itself extends Component API. Swing. JScrollPane. It is used to create Windows in a Swing program. JFC consists of AWT. Labels. you can easily add borders to them and otherwise customize their painting. JComponent All Swing components whose names begin with "J" descend from the jcomponent API class. The main characteristics of the Swing toolkit are platform independent. By default. The components added to the frame are referred to as its contents. Swing is a part of JFC. JPanel.Swing is a widget toolkit for java. It is a collection of packages for creating full featured desktop applications. we must use its content Pane instead. extensible. panels do not add colors to anything except their own background. JFrame JFrame is Swing's version of Frame and is descended directly from that class. The Component class includes everything from providing layout hints to supporting painting and events. configurable and lightweight. JFrame doesn't because it implements a top-level container. and JTable all inherit from JComponent.

Many common image I/O operations may be performed using the static methods of the ImageIO class. Package Javax. JTextArea can be used in conjunction with class JScrollPane to achieve scrolling. The Swing Message Box Windowing environments commonly contain a standard set of message boxes that allow you to quickly post information to the user or to capture information from the user. The underlying JScrollPane can be forced to always or never have either the vertical or horizontal scrollbar. but the ones most commonly used are probably the message dialog and confirmation dialog.showConfirmDialog( ). In Swing. including metadata and thumbnails (IIOImage ). instead. these message boxes are contained in JOptionPane sophisticated). This package contains the basic classes and interfaces for describing the contents of image files. It can display text but images as well. JTextArea JTextArea component is used to accept several lines of text from user.Imageio Description The main package of the Java Image I/O API. The view port used by the scroll pane can also have a user-defined border. for controlling the image reading process (ImageReader. JList can be populated from an Array or Vector. an empty area around the text/icon and border. JLabel JLabel.showMessageDialog( ) and JOptionPane. is used to create text labels. JList does not support scrolling directly. JList JList provides a scrollable set of items from which one or more may be selected. invoked using the static JOptionPane. JList actions are handled using ListSelectionListener. the list must be associated with a scrollpane. and ImageTypeSpecifier) and image writing process .The JButton object generally consists of a text label and/or image icon that describes the purpose of the button. ImageReadParam. descended from JComponent.

A JFileChooser is a dialog to select a file or files. The FileSystemView is an abstract class that tries to hide file system-related operating system specifics from the file chooser. FileView. To display a file chooser. JFileChooser File choosers provide a GUI for navigating the file system.File getSelectedFile () public java. and for reporting errors (IIOException).APPROVE_OPTION. you usually use the JFileChooser API to show a modal dialog containing the file chooser.CANCEL_OPTION. working on all browsers that support jquery and it also degrades gracefully. if the users click an OK/Open/Save button.APPROVE_OPTION. JFileChooser. FileFilter class is for restricting files and directories to be listed in the FileView of the JFileChooser.File[] getSelectedFiles () JFileChooser has supporting classes: FileFilter class. JScrollPane JScrollPane is a jQuery plugin which allows you to replace the browsers default vertical scrollbars on any block level element with an overflow: auto style.(ImageWriter and ImageWriteParam). If the mouse wheel .ERROR_OPTION. and then either choosing a file or directory from a list. indicates that you can call its getSelectedFile or getSelectedFiles methods: public java. If a user's browser doesn't support jQuery or has JavaScript turned off then they will see the browsers default scrollbars. FileSystemView for performing transcoding between formats (ImageTranscoder). if the user clicks Cancel. JFileChooser. 3. 2. The FileView controls how the directories and files are listed within the JFileChooser. or entering the name of a file or directory. if the user closes the dialog A return value of JFileChooser. The return value of the three methods is one of the following: 1. JScrollPane is crossbrowser.

plugin is included in the page then the scroll panes will respond to mouse wheel events as well. Any Raster used to construct a BufferedImage must therefore have minX=0 and minY=0. 2.awt. JScroll ane is built on top of the awesome j uery library and utilises the dimensions plugin and (optionally) the mouse wheel plugin. or 4. JScrollPane. 3.Object java.BufferedImage All Implemented Interfaces: RenderedImage.Image java. 0). Component corner) key is 1.lang. WritableRenderedImage public class BufferedImage extends Image implements WritableRenderedImage The BufferedImage subclass describes an Image with an accessible buffer of image data. The number and types of bands in the SampleModel of the Raster must match the number and types required by the ColorModel to represent its color and alpha components. JScroll ane.UPPER_LEFT_CORNER.image. JScroll ane. A BufferedImage is comprised of a ColorModel and a Raster of image data.awt. To place a component in one of the corners of the JScroll ane.LOWER LEFT_CORNER.LOWER_RIGHT_CORNER. JCreator .UPPER_RIGHT_CORNER Class BufferedImage java. JScroll ane. All BufferedImage objects have an upper left corner coordinate of (0. call setCorner (String key.

(As a point of interest. debugger interface. JCreator is written entirely in C++. editor with syntax highlighting. Therefore it is the perfect tool for programmers of every level. JCreator is the best development tool for programming. code-completion. more efficient and more reliable than other IDE¶s. It is faster. JDBC is a trademarked name and is not an acronym. and the program will be able to send SQL statements to the appropriate database. nevertheless. Java Database Connectivity What Is JDBC? JDBC is a Java API for executing SQL statements. wizards and a fully customizable user interface With JCreator you can directly compile or run your Java program without activating the main document first. JDBC is often thought of as standing for Java Database Connectivity. project templates. it is easy to send SQL statements to virtually any relational database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere. JCreator provides the user with a wide range of functionality such as Project management. JCreator will automatically find the file with the main method or the html file holding the java applet. from learning programmer to Java-specialist. It consists of a set of classes and interfaces written in the Java programming language. which makes it fast and efficient compared to the Java based editors/IDE. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API.JCreator is a powerful IDE for java. JDBC makes it possible to do three things:    Establish a connection with a database Send SQL statements Process the results. Using JDBC. . and then it will start the appropriate tool. What Does JDBC Do? Simply put. One can write a single program using the JDBC API.

A Java API like JDBC is needed in order to enable a "pure Java" solution. the ODBC driver manager and drivers must be manually installed on every client machine. which we will cover shortly. You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. When the JDBC driver is written completely in Java. JDBC. Java has no pointers. ODBC is not appropriate for direct use from Java because it uses a C interface. however. So why not just use ODBC from Java? The answer is that you can use ODBC from Java. robustness. ODBC is hard to learn. implementation. and ODBC makes copious use of them. portable.JDBC versus ODBC and other APIs At this point. and secure on all Java platforms from network computers to mainframes. It mixes simple and advanced features together. When ODBC is used. was designed to keep simple things simple while allowing more advanced capabilities where required. For example. 2. JDBC code is automatically installable. on the other hand. but this is best done with the help of JDBC in the form of the JDBCODBC Bridge. and automatic portability of applications. Calls from Java to native C code have a number of drawbacks in the security. and it has complex options even for simple queries. 3. including the notoriously error-prone generic pointer "void *". . It offers the ability to connect to almost all databases on almost all platforms. Microsoft's ODBC (Open Database Connectivity) API is that probably the most widely used programming interface for accessing relational databases. 4. The question now becomes "Why do you need JDBC?" There are several answers to this question: 1. A literal translation of the ODBC API into a Java API would not be desirable.

3 Two-Tier Architecture of JDBC In the three-tier model. and the results of those statements are sent back to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be . The database may be located on another machine to which the user is connected via a network. with the user's machine as the client. which then sends them to the user. which then send SQL statements to the database. and the machine housing the database as the server. In the two-tier model. for example. The database processes the SQL statements and sends the results back to the middle tier. commands are sent to a "middle tier" of services. This requires a JDBC driver that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database.Two-tier and Three-tier Models The JDBC API supports both two-tier and three-tier models for database access. This is referred to as a client/server configuration. which. a Java applet or application talks directly to the database. JAVA Application JDBC Client machine DBMS-proprietary protocol Database DBMS Fig: 4. or it can be the Internet. The network can be an Intranet. connects employees within a corporation.

Finally. and security features. However. it is becoming practical to implement the middle tier in Java. with the introduction of optimizing compilers that translate Java byte code into efficient machine-specific code. or CORBA calls Application Server (Java) JDBC Server machine (business DBMS-proprietary protocol Database server DBMS Fig: 4. the user can employ an easy-to-use higher-level API which is translated by the middle tier into the appropriate low-level calls. which offer fast performance. making it possible to take advantage of Java's robustness. RMI. . multithreading. in many cases the three-tier architecture can provide performance advantages.made to corporate data. Another advantage is that when there is a middle tier.4 Three-Tier Architecture of JDBC Until now the middle tier has typically been written in languages such as C or C++. JDBC is important to allow database access from a Java middle tier. Java applet or Html browser Client machine (GUI) HTTP. This is a big plus.

which implements JDBC operations by translating them into ODBC operations. What Is the JDBC. and the database client library). the ODBC driver library. the Bridge native library. use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. The Bridge implements JDBC for any database for .Fig: 4. This completely eliminates the client configuration required by ODBC.5 Data Base Specific API¶s JDBC Driver Types The JDBC drivers that we are aware of at this time fit into one of four categories:     JDBC-ODBC bridge plus ODBC driver Native-API partly-Java driver JDBC-Net pure Java driver Native-protocol pure Java driver JDBC-ODBC Bridge If possible. the ODBC driver manager library. To ODBC it appears as a normal application program.ODBC Bridge? The JDBC-ODBC Bridge is a JDBC driver. It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge (that is.

3 Overview of implementation Database: A database management system (DBMS) is computer software designed for the purpose of managing databases.jdbc. Microsoft Access. JDBC technology allows an Application Component Provider to:  Perform connection and authentication to a database server  Manager transactions  Move SQL statements to a database engine for preprocessing and execution  Execute stored procedures  Inspect and modify the results from Select statements 4. DBMSs have more recently emerged as a fairly standard part of any company back office.odbc Java package and contains a native library used to access ODBC. MySQL. DB2. Firebird. Typical examples of DBMSs include Oracle. a large set of structured data. human resources and customer support systems. Typical examples of DBMS use include accounting. JDBC connectivity The JDBC provides database-independent connectivity between the J2EE platform and a wide range of tabular data sources. The Bridge is implemented as the Sun. DBMSs are typically used by Database administrators in the creation of Database systems. PostgreSQL. The Bridge is a joint development of Innersole and Java Soft. Microsoft SQL Server. Originally found only in large companies with the computer hardware needed to support large data sets. SQLite. FileMaker and Sybase Adaptive Server Enterprise. and run operations on the data requested by numerous users.which an ODBC driver is available. Description .

it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. while others are allowed access to only work history and medical data. management. A DBMS includes:  A modeling language to define the schema of each database hosted in the DBMS. files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory). relational and object models.A DBMS is a complex set of software programs that controls the organization. network. and retrieval of data in a database. analyze its data and update it according to the users privileges on data.  A database query language and report writer to allow users to interactively interrogate the database. an employee database can contain all the data about an individual employee.  Data structures (fields. These controls are only available when a set of application programs are customized for each data entry and updating function. and on the application's requirements (which include transaction rate (speed). y If the DBMS provides a way to interactively enter and update the database. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. maintainability. scalability. since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS. this capability allows for managing personal databases. according to the DBMS data model. For example. y y It also controls the security of the database. despite the objections of purists who believe this model is a corruption of the relational model. and cost). . records. storage. However. y The dominant model in use today is the ad hoc one embedded in SQL. Data security prevents unauthorized users from viewing or updating the database. The optimal structure depends on the natural organization of the application's data. Using passwords. reliability. as well as interrogate it. users are allowed access to the entire database or subsets of it called subschemas. but one group of users may be authorized to view only payroll data. y The four most common types of organizations are the hierarchical.

Overall systems design decisions are performed by data administrators and systems analysts. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. despite concurrent user accesses (concurrency control). information systems can be changed much more easily as the organization's information requirements change. hardware database accelerators are also used in large volume transaction processing environments. y y It also maintains the integrity of the data in the database. Database servers are specially designed computers that hold the actual databases and run only the DBMS and related software. Detailed database design is performed by database administrators. New categories of data can be added to the database without disruption to the existing system. The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. with RAID disk arrays used for stable storage. Database servers are usually multiprocessor computers. DBMSs are found at the heart of most database applications. The DBMS can help prevent duplicate records via unique index constraints. Connected to one or more servers via a high-speed channel. that ideally would guarantee the ACID properties. Organizations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. in order to ensure data integrity. When a DBMS is used. See ACID properties for more information (Redundancy avoidance). no two customers with the same customer numbers (key fields) can be entered into the database. Sometimes DBMSs are built around a private multitasking kernel with built-in networking . and faults (fault tolerance). for example. A transaction mechanism.

Delete rows from a database table (DML) . and Querying the Database). A schema is a collection of database objects that can include: tables.transactional) CREATE .Make all recent changes permanent (DML . views. SQL is tied very closely with the relational model. Structured Query Language (SQL) is the language used to manipulate relational databases. SQL statements are issued for the purpose of: Data definition: Defining tables and structures in the database (DDL used to although nowadays these functions are left to the operating system.Add a comment to a table or column in a table (DDL) COMMIT . data is stored in structures called relations or tables.Create new database objects such as tables or views (DDL) DELETE .Track the changes made to a table (DDL) COMMENT . view or index definition (DDL) AUDIT .Change an existing table. Deleting the data. In the relational model. Updating. indexes and sequences List of SQL statements that can be issued against an Oracle database schema are: y y y y y y ALTER . Data manipulation: Used to manipulate the data within those schema objects (DML Inserting. alter and drop schema objects such as tables and indexes).

Allow another user to access database objects such as tables or views (DDL) y y y INSERT .Undo any recent changes to the database (DML .Insert new data into a database table (DML) No AUDIT . view or index (DDL) GRANT .Transactional) SELECT .Change the values of some data items in a database table (DML) .Disallow a user access to database objects such as tables and views (DDL) y y y y ROLLBACK .Turn off the auditing function (DDL) REVOKE .Drop a database object such as a table.y y DROP .Retrieve data from a database table (DML) TRUNCATE .Delete all rows from a database table (can not be rolled back) (DML) UPDATE .

The testing phase involves. it was attempted to build software from an abstract concept to tangible implementation. Control Structure Testing.2 Testing Fundamentals 5.1. testing of the development of the system using various techniques such as White Box Testing. Design and code testing represents interesting anomaly for the software during earlier definition and development phase. After performing white box testing it was identified that y The Leave Recording System (LRS) software guarantees that all independent paths within the modules have been exercised at least once. 5.CHAPTER-5 TESTING 5. Black box Testing: . White Box & Black Box Testing White Box Testing: White box testing is a test case design method that uses the control structure of the procedural design to derive test cases. y It was tested for the internal data structures to ensure their validity.2. It was tested to execute all loops at their boundaries and within their Operational bounds.1 INTRODUCTION Software Testing: Software testing is a critical element of software quality assurance and represents the ultimate reuse of specification. y y It has been exercised all logical decisions on their true and false sides.

Verification is typically done in two steps: . The tolerance of the system for the data rates and data volumes. Verification refers to the set of activities that ensure that software correctly implements a specific function.3 Testing Strategy A strategy for software testing must accommodate low-level tests that are necessary to verify that a small source code segment has been correctly implemented as well as high level against customer requirements. Control Structure Testing The following tests were conducted and it was noted that the BCBS is performing them well. Verification and Validation: Verification is a Fundamental concept in the software design. y y y Functional validity of LRS checked.It is the testing process in which tester can perform testing on an application without having any internal structural knowledge of application. Usually Test Engineers are involved in the black box testing. Checked the isolation of the boundaries of a class. 5. Validation is nothing but the process of using software in live environment in order to find errors. Validation refers to a different set of activities that ensures that software that has been build is a traceable to customers.2.2. 5. y y y y Basic path Testing Condition Testing Data Flow Testing Loop Testing Black box testing methods focuses on the functional requirements of the software by conducting black box testing using the methods Equivalence partitioning Boundary Value Analysis and Cause-Effect-Graphing techniques.

evaluated and disseminated. Reviews serve as a filter for the software process.y Verification of the requirements: Verification that the software requirement definition satisfies the customer needs. simulation. Specification Testing: Specification testing means checking means checking the software it is as per the specification given this project has tested for its specification such as what the particular module or program should do and how it should perform under various conditions. removing errors while they are relatively inexpensive to find and correct properly verify a system data about software engineering process should be collected. feasible study. This project was logically performing well. Unit Testing: . Every path through the program is tested and checked whether the logic is working properly or not. Verification and validation encompass a wide array of software quality assurances (SQA) activities that include formal technical reuse quality and configuration audits. Software reviews are one of the most important SQA activities. performance monitoring. y y y y y y Code Testing Specification Testing Unit Testing Integration Testing System Testing Output Testing y User Acceptance Testing Code Testing: Testing the logic of the program is called the code testing. y Verification of the design: Verification that the design satisfies the requirements definition. SQA helps to improve the quality of the product and software process itself.

This is known as form testing. the module is working satisfactorily as a regard to the expected output from the module. Finally. Using the unit test plan. Validation Testing: The following tests were conducted to test the validity of the software. . Integration Testing: Data can be lost across an interface. Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with the interface. The developed software undergoes the following types of validation testing and was succeeded. Then the entire program is as a whole. may not produce the desired major function. all the combined modules are performed well. The testing is done individually on each form.Unit testing focuses verification on the smaller unit of software design such as form. The system is listed for dispensaries between the system and its original objectives. This project was effective and efficient. All the modules are combined in the testing step. The validation succeeds when the software functions in a manner that can be reasonably expected by the customer. Different integrated test plans like top down integration and bottom up integration are tested and different errors found in the system are corrected using them. prepared in design phase of the system development as a guide important control paths are tested to uncover within the boundary of the module. one module can have an adverse effect on another sub function. In this step. y y Alpha Testing Beta Testing System Testing: Testing the entire system as a whole and checking for its correctness is system testing. when combined.

The system under consideration was tested for user acceptance by constantly keeping in touch with the perspective system users at the time of developing and making changes whenever required.1 Template for Test case Guidelines for Test Cases: GUI Test Cases: y y Total no of features that need to be check Look & Feel . the next step is output testing of the proposed system.Output Testing: After performing system testing. The outputs generated are displayed by the system under consideration or testing by asking the users about the format required by them.C. The following are the testing points. one is the screen and other is the printed form. since no system could be useful if it does not procedure the desired output in the specified format. User Acceptance Testing: User acceptance of a system is the key factor for the success of any system. y y y Input screen design Output screen design Menu-driven system 5.No Description Expected value Actual value Result Table 5.4 Sample Test Cases Template for Test Case T. here the output format is considered in two ways.

if at all any require) Look for spell check Example for Gui Test cases: T.C.y y Look for Default values if at all any (date & Time.No Description Expected value Actual value Result Check for all the The screen must contain all 1 features screen in the the features Check 2 for the The alignment should be in alignment of the proper way objects as per the validations Table 5.2 Examples for Gui Test cases 1. . Positive Test cases: y y y The positive flow of the functionality must be considered Valid inputs must be used for testing Must have the positive perception to verify whether the requirements are justified.

Negative Test cases: y y Must have negative perception. Invalid inputs must be used for test.C. accept data.No Description Expected value Actual value Result 1 Try to modify The Modification Modification not be failure information in date and should not be should time 2 allow should allow not It Enter invalid data in to the It Mobile operators should not failure form.3 Example for Positive Test cases 2.4 Example for Negative Test cases .No Description 1 Expected value Actual value Result Check for the date Time The date and time of The date and time of Success Auto Display the system must be the system must be displayed displayed It should accept Success 2 Enter the valid paybillid It should accept into the pay bill No field Table 5. save should should not allow not allow Table 5. Example for Negative Test cases: T.Example for Positive Test cases: T. invalid accept invalid click on save save data.C.

Such as it designed to accommodate the new change in further. Problem correction involves modification and revalidation of software to correct errors. That is. Such as Windows 2000. .5. The enhancement of this project can be accomplished easily. any new functional capabilities can be added to the project by simply including the new module in the homepage and giving a hyperlink to that module. Windows NT. Adaptive of software to a new environment may involve moving the software to a different machine. dynamically we can add new components when ever necessary. Adaptive Maintenance Adaptive maintenance results in the modification to the software to accommodate changes to its external environment. Adaptation of this software to a new environment may involve moving the software to a different machine. Adaptation of this project to a new environment is also performed easily. Windows 98.5 MAINTENANCE ISSUES The term ³software maintenance´ is used to describe the software engineering activities that occur following delivery of a software product to the customer. The maintenance phase of the software life cycle is the time period in which a software product performs useful work. Windows 95. In this project deals adaptive maintenance. In this project.

and periodic probing is employed to adaptively and more accurately identify an overall good retransmission node. Furthermore. These realistic conditions will help us generalize the conclusions we have drawn so far for separate applications. 3. or different. to save the probing overhead. The readily available network utility function ³Tracert´ is used to help identify the path disjoint retransmission nodes. The next step will be to study the interaction between several traffic flows sharing the same link and having the same. network behaviour ± elastic or inelastic. 2. Future work will include more quantitative evaluation of the impact of the proposed framework on the perceived quality of the multimedia applications in both simulation and real networks. such as web browsing. for which UPQ is of considerable importance. Moreover. Future Work 1. QoE2M will be evaluated based on simulation and experimental experiments. . We also plan to extend our area of interest to other network applications.CHAPTER-6 CONCLUSION AND FUTURE WORK Conclusion We introduce novel path-diversity overlay retransmission architecture for IPmulticast based multimedia applications. video streaming and teleconferencing. A hybrid approach that exploits both has been shown to achieve the best retransmission performance. the receiver can use selective probing to probe only a subset of the candidate retransmission nodes who have the highest probability to be a good candidate. As future work. a heuristic approach to combine all mapping and adaptation approaches according to historic data. multimedia characteristics and traffic patterns will be investigated.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.