Vous êtes sur la page 1sur 47

FLEXIBLE DATA MIGRATION INFROMATION REPORT

Problem Definition:
System performance relies on processor speed and the load on the system at that situation of the task. Various situations also apply their effects on the performance like when the system is interacting with network devices like printer etc, executing the bulky files like .Net or multimedia files, etc. The performances of the system at those situations are to be tracked to estimate the best working at various situations. Though there are many softwares available to check the performances of the system at various levels, they may not support all the operating systems and hence the user may not be able to fetch the required outputs. This pushs the user back in handling many Operating systems. Hence, there is a requirement to design an efficient task handler that could work on all platforms to trace the performance of the operating system. The data that is obtained to be represented in the graphical style rather in tabular formats.

Scope & Features:


1. Identifies the server system in the network to which the interaction has to be made for transferring the data to it for tracking the time delay. 2. The Server reacts to the clients request made from the network system and returns the time taken to receive the data sent from that respective client. 3. The Queue manages the transfer of data between the server and client. 4. Results of the obtained time delay are maintained to a dynamic array that provides the input data required for generating the required graph in bars, line etc.

46

CONTENTS
PAGE NO.
1.

INTRODUCTION PURPOSE

1.1

1.2 PRESENT SYSTEM 1.3 PROBLEM IN EXISTING SYSTEM 1.4


2.

PROPOSED SYSTEM SYSTEM ANALYSIS INTRODUCTION ANALYSIS MODEL STUDY OF THE SYSTEM REQUIREMENT SPECIFICATIONS FEASIBILITY REPORT 3.1. 3.2. 3.3. TECHNICAL FEASIBILITY OPERATIONAL FEASIBILITY ECONOMIC FEASIBILITY 8 6

2.1. 2.2. 2.3. 2.4. 3.

4. 4.1
4.2 4.3 4.4

DEFINITIONS OF MODULES LOGIN AND SECURITY SERVER MODULE CLIENT MODULE QUEUE MODULLE RESULT MODULE

4.5

5.

DEVELOPMENT ENVIRONMENT

46

5.1. 5.2.

ENVIRONMENT OVERVIEW OF JAVA SYSTEM DESIGN 20 INTRODUCTION DFD DESCRIPTION DATA FLOW DIAGRAMS UNIFIED MODELING LANGUAGE USECASE DIAGRAM SEQUENCE DIAGRAMS ACTIVITY DIAGRAMS COLLABORATION DIAGRAMS 28

6. 6.1. 6.2. 6.3. 7. 7.1 7.2 7.3 7.4

8. 9. 10.

OUTPUT SCREENS IMPLEMENTATION AND MAINTENANCE CONCLUSION

54 61 68 70

11. BIBLIOGRAPHY

46

1.0 Introduction

1.1PURPOSE
Intend to develop a software or application that could work on all Operating systems allowing the user to trace the performance of those Operating systems at various loading situations, ideal state, overloaded state, etc.

1.2 PRESENT SYSTEM


There are many soft wares designed in various GUIs like .NET, vb6.0, etc which are not supported in Operating systems like Linux, salaries, etc. This gives the user a limitation to his survey to check the performance of various operating systems. The analysis of the performance is done on various conditions of the operating system. As there lies the issue of supporting and non-supporting, there needs a task that could run on all the platforms irrespective of their types.

1.3 Problem with existing system


1. Not supported in Operating systems like Linux, salaries, etc. 2. Gives the user a limitation to his survey to check the performance of various operating systems.

1.4 PROPOSED SYSTEM

The proposed system is to design a platform independent task handler that allows the user to test on all the operating systems to trace their performance at various working conditions. A graphical user interface that helps in identifying, sending and receiving the data from the remote systems

46

(Client or server) to get the time delay in the data transfer rate. The data obtained as output can be used to generate the required graph outputs in various formats. The application is to investigate the performance of the time taken to send the data to Specified node in the work at an ideal state and at the busy time of the Operating system. The variations in the time taken to reach the file to the destination are stored into a runtime array which provides the input source to the graphs that are to be generated for final analysis. Similar approaches are performed at each node noting the variations in the time taken for data transactions between the nodes. Graphs for the data obtained are taken for each node. The graphics are be compared to judge the performance of the node and in turn the Operating system used or the system analysis. There are two cases on which the analysis can be made. The first is the case where all the nodes contain the same Operating system but vary in Configuration. The graphs that are generated on various nodes can be compared. The second case is that when the Configuration is same and the OS differs the status of the performance can be traced.

2. SYSTEM ANALYSIS 2.1 INTRODUCTION After analyzing the requirements of the task to be performed, the next step is to analyze the problem and understand its context. The first activity in the phase is studying the existing system and other is to understand the requirements and domain of the new system. Both the activities are equally important, but the first activity serves as a basis of giving the functional specifications and then successful design of the proposed system. Understanding the properties and requirements of a new system is more difficult and requires creative thinking and understanding of existing running system is also difficult, improper understanding of present system can lead diversion from solution.

46

2.2. ANALYSIS MODEL The model that is basically being followed is the WATER FALL MODEL, which states that the phases are organized in a linear order. First of all the feasibility study is done. Once that part is over the requirement analysis and project planning begins. If system exists one and modification and addition of new module is needed, analysis of present system can be used as basic model. The design starts after the requirement analysis is complete and the coding begins after the design is complete. Once the programming is completed, the testing is done.
The model consist of six distinct stages, namely: 1. In the requirements analysis phase (a) The problem is specified along with the desired service objectives (goals) (b) The constraints are identified 2. In the specification phase the system specification is produced from the detailed definitions of (a) and (b) above. This document should clearly define the product function. Note that in some text, the requirements analysis and specifications phases are combined and represented as a single phase. 3. In the system and software design phase, the system specifications are translated into a software representation. The software engineer at this stage is concerned with:

Data structure

46

Software architecture Algorithmic detail and Interface representations

The hardware requirements are also determined at this stage along with a picture of the overall system architecture. By the end of this stage the software engineer should be able to identify the relationship between the hardware, software and the associated interfaces. Any faults in the specification should ideally not be passed down stream. 4. In the implementation and testing phase stage the designs are translated into the software domain

Detailed documentation from the design phase can significantly reduce the coding effort. Testing at this stage focuses on making sure that any errors are identified and that the software meets its required specification.
5. In the integration and system testing phase all the program units are integrated and tested to ensure that the complete system meets the software requirements. After this stage the software is delivered to the customer [Deliverable The software product is delivered to the client for acceptance testing.] 6. The maintenance phase the usually the longest stage of the software. In this phase the software is updated to:

Meet the changing customer needs Adapted to accommodate changes in the external environment Correct errors and oversights previously undetected in the testing phases Enhancing the efficiency of the software
Observe that feed back loops allow for corrections to be incorporated into the model. For example a problem/update in the design phase requires a revisit

46

to the specifications phase. When changes are made at any phase, the relevant documentation should be updated to reflect that change.

REQUIREMENTS

SPECIFICATION

DESIGN

IMPLEMENTATION

TESTING

MAINTANANCE

WATERFALL MODEL

46

2.3. STUDY OF THE SYSTEM

Product Scope:
The proposed system is to design a platform independent task handler that allows the user to test on all the operating systems to trace their performance at various working conditions. A graphical user interface that helps in identifying, sending and receiving the data from the remote systems (Client or server) to get the time delay in the data transfer rate. The data obtained as output can be used to generate the required graph outputs in various formats.In this application we are using different configurations and operating systems for investigate the performance of the time taken to send the data to specified node in the work an ideal state and at the busy time operating systems. The variations time stored into a runtime array which provides the input source to the graphs that are generated for final analysis.

Project Scope:
This application is used to investigate the performance of the operating system during the task is running and when it is in ideal state. 1. 2. 3. 4. Login for Authenticated users Sender to send the data to the specified server machine in the network Reciever to receive the data (Server) sent from the connected client. Queue acting as an intermediate layer to transfer the data between the client and server. 5. Result Information to generate runtime graphs.

2.4 REQUIREMENT SPECIFICATION: Software Requirements:


Language Specification

: JAVA : SWINGS

Graphical User

46

Hardware Requirements:

Processor RAM HARD DISK

: Pentium IV or higher : 512 MB : 8 GB Space

3.0 FEASIBILITY REPORT


The application in whole was found to be feasible in the following study and reports.

3.1 TECHNICAL FEASIBILITY:

Keeping in mind the existing system network, s/w& H/w, already available the audit application generated in .NET provides an executable file that requires MSIL that provides compatibility from windows98 without having to load .NET software. No additional hardware or software is required which makes smart audit technically feasible.

3.2 OPERATIONAL FEASIBILITY:

The application smart audit does not require additional manual involvement or labor towards maintenance of the system. Cost for training is minimized due to the user friendliness of the developed application.Recurring expenditures on consumables and materials are minimized.

3.3 ECONOMIC FEASIBILITY:

The system is economically feasible keeping in mind:

Lesser investment towards training. One time investment towards development. Minimizing recurring expenditure towards training, facilities offered and consumables.

46

The system as a whole is economically feasible over a period of time.

DEFINITION OF MODULES
MODULE DESCRIPTION:
1. Login & Security

The module is used to provide a simple check for a user to login. It accepts the username and password as input which on validation allows the user to login into the graphical environment where the required transactions can be made. 2. Server Module: This module is used to initialize a service in the system that acts as a server with a port number and is capable of listening to the requests made by the client machine. The client on establishing the connection to this server, they can exchange the information between them calculating the time delay between each transaction. 3. Client: This module is for the client user who establishes the connection to the server machine by referring to it with the same port number used in the server. The client can send or transfer the data to the server getting the time delay as output. 4. Queue: This modules act as an intermediate layer between the server and the client allowing to transfer the data from one side to the other. This module

46

watches the flow if information and creates the time delay between the data transfer. 5. Result Module:

This module is used to collect the information obtained as output from the data transfers made between the server and client at various working conditions. The data that is obtained is used to generate the dynamic graphs like simple bars or line, etc.

5. DEVELOPMENT ENVIRONMENT (JAVA) 5.1 ENVIRONMENT:


Java was conceived by James Gosling, Patrick Naughton, ChrisWarth, Ed Frank and Mike Sheridan at SUN Micro Systems Incorporation in 1991. It took 18 months to develop the first working version. This language was initially called OAK, but was renamed JAVA in 1995. Before the initial implementation of OAK in 1992 and the public announcement of Java in 1995, many more contributed to the design and evolution of the language.

5.2 OVERVIEW OF JAVA:


An Object Oriented Programming Language(OOPL) developed at Sun Microsystems. A Virtual Machine Run Time Environment that can be embedded in web browser (IE, NN). Java is a powerful but lean object oriented programming language. It has generated a lot of excitement because it makes it possible to program for Internet by creating applets, programs that can be embedded in web page. The context of an applet is limited only by ones imagination. For example, an applet can be an animation with sound, an interactive game or a ticker tape with constantly updated stock prices. Applets can be serious application like word processor or spreadsheet. But Java is more than a programming language for writing applets. It is being used more and more for writing standalone applications as well. It is becoming so popular that many people believe it will become standard language for both general purpose and Internet programming. There are many buzzwords associated with Java, but because of its

46

spectacular growth in popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are that it will soon be everywhere.

Java builds on the strength of C++. It has taken the best features of C++ and discarded the more problematic and error prone parts. To this lean core, it has added garbage collection (automatic memory management), multithreading(the capacity for one program to do more than one thing at a time), security capabilities. The result is simple, elegant, powerful and easy to use.

Java is actually a platform consisting of three components:

Java Programming Language. Java Library of Classes and Interfaces. Java Virtual Machine.

It also has a Standardized set of Packages (Class, Interfaces): Creating Graphical User Interfaces Controlling Multimedia Data Communicating over Network

The following sections will say more about these components:

FEATURES OF JAVA:
5.2.1 JAVA IS OBJECT_ORIENTED:

46

The Java programming language is object oriented, which makes program design focus on what you are dealing with rather than on how you are going to do something. This makes it more useful for programming in sophisticated projects because one can break the things down into understandable components. A big benefit is that these components can then be reused.

Object oriented languages use the paradigm of classes. In simplest term, a class includes both the data and the functions to operate on the data. You can create an instance of a class, also called an object, which will have all the data members and functionality of its class. Because of this, you can think of a class as being like template, with each object being a specific instance of a particular type of class.

The class paradigm allows one to encapsulate data so that specific data values are those using the data cannot see function implementation. Encapsulation makes it possible to make the changes in code without breaking other programs that use that code. If for example the implementation of a function is changed, the change is invisible to the programmer who invokes that function, and it does not affect his/her program, except hopefully to improve it. Java includes inheritance, or the ability to derive new classes from existing classes. The derived class, also called a subclass, inherits all the data and the functions of the existing class, referred to as the parent class. A subclass can add new data members to those inherited from the parent class. As far as methods are concerned, the subclass can reuse the inherited methods as it is, changed them, and/or add its own new methods.

5.2.2 JAVA MAKES IT EASY TO WRITE CORRECT CODE:


In addition to being portable and object oriented, Java facilitates writing correct code. Programmers spend less time writing Java code and a lot less time debugging it. In fact, developers have reported slashing development time by as much as two thirds. The following is a list of some of Javas features that make it easier to write correct code:

5.2.3 GARBAGE COLLECTION:

46

Automatically takes care of allocating and reallocating memory, a huge potential source of errors. If an object is no longer being used (has no references to it), then it is automatically removed from memory. Dynamic binding is possible and often very useful, but static binding with strict type checking is used when possible.

5.2.4 SIMPLICITY:
Makes Java easier to learn and use correctly. Java keep it simple by having just one way to do something instead of having several alternatives, as in some languages. Java also stays lean by not including multiple inheritance, which eliminates the errors and ambiguity that arise when you create a subclass that inherits from two or more classes. Java lets you add functionality to a class throws by the use of interfaces.

5.2.5 JAVA INCLUDES A LIBRARY OF CLASSES AND INTERFACES:


The Java platform includes an extensive class library so that programmers can use already existing classes, as it is, create subclasses to modify existing classes, or implement interfaces to augment the capabilities of classes.

Both classes and interfaces contain data members (fields) and functions (methods), but there are major differences. In a class, fields may be either variable or constant, and methods are fully implemented. In an interface, fields must be constants, and methods are just prototypes with no implementations. The prototypes give the method signature (the return type, the function name, and the number of parameters with the type for each parameter), but the programmer must supply implementations. To use an interface, a programmer defines a class, declares that it implements the Interface, and then implements all the methods in that interface as part of the class. These methods are implemented in a way that is appropriate for the class in which the methods are being used. Interfaces let one add functionality to a class and give a great deal of flexibility in doing it. In other words interfaces provide most of the advantages of multiple inheritance without its disadvantages.

46

A package is a collection of related Java classes and interfaces. The following list, though not complete, gives example of some Java packages and what they cover.

Java.lang: The basic classes. This package is so basic that it automatically is included in any Java program. It includes classes dealing with numeric, strings, objects, runtime, security, and threads. Java.io: Classes that manages reading data from input streams and writing data to the output streams. Java.util: Miscellaneous utility classes, including generic data structures, bit sets, time, date, the string manipulation, random number generation, system properties, notification and enumeration of data structures. Java.net: Classes for network support. Java.awt: Classes that manage user interface components such as windows, dialog boxes, buttons, checkboxes, lists, menus, scrollbars, and text fields, the AWT stands for Abstract Window Toolkit. Java.awt.image: Classes for managing image data, including color models, dropping color flittering, setting pixel values, and grabbing snapshots. Java.applet: The Applet class, which provides the ability to write applets, this package also includes several interfaces that connect an applet to its documents and to its document and to its document and to recourses for playing audio. Java.sql: The JDBC API, classes and interfaces that access databases and send SQL Statements.

46

The first three packages listed, java.lang, java.io and java.util form the foundation, they are basic classes and interfaces for general-purpose programming. Java development kit version1.1 added some new packages, with JDBC being one of them. Other new packages include such thing as Remote Method Invocation, Security and Java Beans, the new API for creating reusable components.

In Java, packages serve as the foundation for building other packages, as discussed in the following section.

5.2.6 JAVA IS EXTENSIBLE:

A big plus for Java is the fact it can be extended. It was purposely written to be lean with the emphsis on doing what it does very well, instead of trying to do everything from the beginning, it was return so that extending it is very easy. Programmers can modify existing classes or write their own new classes or they can write a whole new package. The JDBC API, the java.sql package, is one example of a foundation upon which extensions are being built. Other extensions are being added or worked on in area such as multimedia, Internet Commerce, conferencing, and telephony.

In addition to extensions there are also main tools being developed to make existing capabilities easier to use. For example, there is already a tool that greatly Simplifies creating and laying out Graphical User Interfaces such as menus, Dialog boxes and buttons.

46

5.2.7 SECURITY:
It is important that a programmer not be able to write subversive code for Applications or applets. This is especially true with the Internet being used more and more extensively for services such as electronic commerce and electronic distribution of software and multimedia content.

The Java platform builds in security in four ways. The way memory is Allocated and laid out: In Java an objects location in memory is not determined until The runtime, as opposed to C and C++, where the compiler makes memory layout Decisions. As the result, a programmer cannot look at a class definition and figure out how it might be laid out in memory. Also since, Java has no pointers, a programmer cannot forge pointers to memory. The way incoming code is checked: The Java virtual machine doesnt trust any incoming code and subjects it to what is called byte code verification. The byte code Verifier, part of the virtual machine, checks that the format of incoming code is correct Incoming code doesnt forge pointers, it doesnt violate access restrictions, it accesses objects what they are.

The way classes are loaded: The Java byte code loader, another part of the virtual machine, whether classes loaded during program execution are local or from across a network. Imported classes cannot be substituted for built in classes, and built in classes cannot accidentally reference classes brought in over a network.

46

The way access is restricted for untested code: The Java security manager allows user to restrict untested Java applets so that they cannot access the local network, files and other resources.

5.2.8 JAVA PERFORMS WELL:


Java performance is better than one might expect. Java has many advantages, such as having built in security and being interpreted as well as compiled, do have a cost attached to them. However, various optimizations have been built in, and the byte code Interpreter can run very fast the cost it doesnt have to do any checking. As a result, Java has done quite respectably in performance tests. Its performance numbers for interpreting byte codes are usually more than adequate to run interactive graphical end user applications.

For situations that require unusually high performance, byte codes can be translated on the fly, generating the final machine code for the particular CPU on which the application is running at run time. High level interpreted scripting language generally offer great portability and fast prototyping but poor performance. Low level compiled language like C and C++ offer great performance but require large amounts of time for writing and debugging code because of problems with areas such as memory management, pointers and multiple inheritances. Java offers good performance with the advantages of high level languages but without the disadvantages of C and C++.

In the world of design trade-off,

5.2.9 JAVA IS ROBUST:


The multi platformed environment of the WEB places extraordinary demands on a program, because it must execute reliably in a variety of systems. Thus the ability to create robust programs was given a high priority in the design of Java. To gain reliability, Java restricts you in a few key areas to force you to find your mistakes early in program developments. At the same time, Java frees you from having to worry about many of the most common cause of programming errors. Because Java is strictly typed language, it checks your code at compile time. However, it also checks your code at run time. In fact, many hard to track down bugs that often turn up in hard to reproduce runtime situations are simply impossible to create in Java. Knowing that what you have written will behave

46

in a predictable way under diverse conditions is a key feature of Java to understand how Java robust.

Consider two main reasons for program failure: Memory management mistakes and mishandled exceptional conditions (run time errors). Memory management can be difficult, tedious task in traditional programming environments.

For example in C/C++ the programmer must manually allocate and free all dynamic memory. This sometimes leads to problems. For example some programmers some times forget the free memory that has been previously allocated. Or worse, they may free some memory that another part of their code is still using. Java virtually eliminates these problems by managing memory allocations and reallocations. Java helps in this area by providing object oriented exception handling. In a well-written Java a program should manage program all run time errors.

5.2.10 JAVA SCALES WELL:


Java platform is designed to scale well, from portable consumer electronic devices to powerful desktop and server machines. The virtual machine takes a small foot print and Java byte code is optimized to be small and compact. As a result, Java accommodates the need for low storage and for low bandwidth transmission over the Internet. In addition the Java operating system offers a standalone Java platform that eliminates host operating system overhead while still supporting the full Java platform. API makes Java ideal for low cost network computers whose sole purpose is to access the Internet.

5.2.11 JAVA IS MULTITHREADED:


Multithreading is simply the ability of a program to do more than one thing at a time. For example an application could be faxing a document at the same time it is printing another document. Or a program could process new inventory figures while it maintains a feed for current prices. Multithreading is particularly important in multimedia. A multimedia

46

program might often be running a movie, running a audio track and displaying text all at the same time.

5.2.12 JAVA IS IMPORTANT TO THE INTERNET:


The Internet helped catapult Java to the forefront of programming and Java in turn has a profound effect on the Internet. The reason is simple. Java expands the universe of objects that can move about freely in cyberspace. In a network, there are two broad categories of objects transmitted between the server, your personal computer, passive information and dynamic, active programs. For example, when you read your e-mail, you are viewing passive data. Even when you download a program, the programs code is still only passive data until you execute it. However, there is a second type of object that can be transmitted to your computer, a dynamic, self executing program. Such a program would be an active agent on the client computer, yet it would be initiated by the server. As desirable as dynamic, networked programs are, they also present serious problems in the areas of security and portability. Prior to Java cyberspace was effectively closed to half the entities that now live there. Java addresses these concerns and doing so, has opened the door to an exiting a new form of program.

5.2.13 JAVA IS PORTABLE:


One of the biggest advantages Java offers is that it is portable. An application written in Java will run on all the major platforms. Any computer with a Java based browser can run the applications or applets written in the Java Programming Language. A programmer no longer has to write one program to run on a Macintosh, another program to run on a windows machine, still another to run on a UNIX machine, and so on. In other words, with Java, developers write their programs only once. The virtual machine is what gives Java is cross platform capabilities.

Rather than being compiled into machine language, which is different for each operating systems and computer architecture, Java code is compiled into byte codes. With other

46

languages, the program can understand. The problem is that other computers with different machine instruction set cannot understand that language. Java code, on the other hand is compiled into byte codes rather than a machine language. These byte codes go to the Java virtual machine, which executes them directly or translate them into the language that is understood by the machine running it. In Summary, these means that with the JDBC API extending Java, A programmer writing Java code can access all the major relational databases on any platform that supports the Java virtual machine.

6.0 SYSTEM DESIGN


6.1 INTRODUCTION Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm and area of application. Design is the first step in the development phase for any engineered product or system. The designers goal is to produce a model or representation of an entity that will later be built. Beginning, once system requirement have been specified and analyzed, system design is the first of the three technical activities -design, code and test that is required to build and verify software. The importance can be stated with a single word Quality. Design is the place where quality is fostered in software development. Design provides us with representations of software that can assess for quality. Design is the only way that we can accurately translate a customers view into a finished software product or system. Software design serves as a foundation for all the software engineering steps that follow.

46

Without a strong design we risk building an unstable system one that will be difficult to test, one whose quality cannot be assessed until the last stage. 6.2 DATA FLOW DIAGRAMS . The development of DFDS is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The loplevel diagram is often called context diagram. It consists a A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purposesingle process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from, this lead to the modular design. A DFD is also known as a bubble Chart has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system. DFD SYMBOLS:

46

In the DFD, there are four symbols 1. 2. 3. 4. data A square defines a source(originator) or destination of system data An arrow identifies data flow. It is the pipeline through which the

information flows A circle or a bubble represents a process that transforms incoming data An open rectangle is a data store, data at rest or a temporary repository of flow into outgoing data flows.

Process that transforms data flow.

Source or Destination of data

Data flow

Data Store

CONSTRUCTING A DFD: Several rules of thumb are used in drawing DFDS: 1. 2. Process should be named and numbered for an easy reference. Each name The direction of flow is from top to bottom and from left to right. Data

should be representative of the process. traditionally flow from source to the destination although they may flow back to

46

the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal. 3. 4. When a process is exploded into lower level details, they are numbered. The names of data stores and destinations are written in capital letters. A DFD typically shows the minimum contents of data store. Each data store should contain all the data elements that flow in and out. Questionnaires should contain all the data elements that flow in and out. Missing interfaces redundancies and like is then accounted for often through interviews. SAILENT FEATURES OF DFDS 1. The DFD shows flow of data, not of control loops and decision are controlled considerations do not appear on a DFD. 2. The DFD does not indicate the time factor involved in any process whether the dataflow take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD

Process and dataflow names have the first letter of each work capitalized

6.3 DATA FLOW DIAGRAM

Level 0:

46

7.0 UNIFIED MODELING LANGUAGE


Unified Modeling Language 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. User Model View

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

end-users perspective.

46

Structural model view In this model the data and functionality are arrived from inside the system. This model view models the static structures. 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. Implementation Model View

In this the structural and behavioral as parts of the system are

represented as they are to be built. 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

UML Analysis modeling, which focuses on the user model and structural model views of the system

UML design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views.

INTRODUCTION TO THE UNIFIED MODIFIED LANGUAGE Building a essential for model for a software system prior to its construction is as building a large building. Good models are project teams. As the complexity of the

essential as having a blueprint for communication among

systems increases, so does the importance of good modeling techniques. A modeling language must include: Model elements- fundamentally modeling concepts and semantics.

46

Notation-visual rendering of model elements Guidelines-expression of usage within trade The use of visual notation to represent or model a problem can provide us several benefits relating to clarity, familiarity, maintenance, and simplification. The main reason for modeling is the reduction of complexity. The Unified Modeling Language (UML) is a set of notations and conventions used to describe and model an application. The UML is intended to be a universal language for modeling systems, meaning that it can express models of many different kinds and purposes, just as a programming language or a natural language can be used in different ways. A model is an abstract representation of a system , constructed to understand the system prior to building or modifying it. The term system is used here in a broad sense to include any process or structure. For example, the organizational structure of a corporation , health services, computer software, instruction of any sort (including computers) , the national economy, and so forth all would be termed systems. The unified modeling language is a language for specifying, constructing, visualizing, and documenting the software system and its components. The UML is a graphical language with sets of rules and semantics. The rules and semantics of a model are expressed in English, in a form known as object constraint language(OCL).OCL is a specification language that uses simple logic for specifying the properties of a system. The UML is not intended to be a visual programming language in the sense of having all the necessary visual and semantic support to replace programming languages. However, the UML does have a tight mapping to a family of object-oriented languages, so that you can get the best of both worlds.

The primary goals in the design of the UML were as follows: 1. Provide users ready-to-use, expensive visual modeling languages so they can develop and exchange meaningful models.

46

2. Provide extendibility and specialization mechanisms to extend the core concepts. 3. Be independent of particular programming languages and development process. 4. Provide a formal basis for understanding the modeling language. 5. Encourage the growth of the OO tools market. 6. Support higher level development concepts. 7. Integrate best practices and methodologies.

UML is a language used to: Visualize the software system well-defined symbols. Thus a developer or tool can unambiguously interpret a model written by another developer, using UML stages. Specify the software system and help building precise, unambiguous Construct the models of the software system that can directly Document models of the software system during its development

and complete models. communicate with a variety of programming languages.

Architectural views and diagrams of the UML The UML Meta model elements are organized into diagrams. Different diagrams are used for different purposes depending on the angle from which you are viewing the system. The different views are called architectural views. Architectural views facilitate the organization of knowledge, and diagrams enable the communication of knowledge. Then knowledge itself is within the model or set of models that focuses on the problem and solution. The architectural views and their diagrams are summarized below: o The user model view encompasses a problem and solution from the

preservative of those individuals whose problem the solution addresses. The view

46

presents the goals and objectives of the problem owners and their requirements of the solution. This view is composed of use case diagrams. These diagrams These describe the functionality provided by a system to external interactors. diagrams contain actors, use cases, and their relationships. o The Structural model view encompasses the static, or structural, aspects of a problem and solution. This view is also known as the static or logical view. This view is composed of the following diagrams

Class diagrams describe the static structure of a system, or how

it is declared rather than how it behaves. These diagrams contain classes and associations. o object diagrams describe the static structure of a system at a particular time during its life. These diagrams contain objects and links. o The behavioral model view encompasses the dynamic or behavioral aspects of a problem and solution. The view is also known as the dynamic, process, concurrent or collaborative view. This view is composed of the following diagrams: o Sequence diagrams render the specification of behavior. These diagrams describes the behavior provided by a system to interactions. These diagrams contain classes that exchange messages with in an interaction arranged in time sequence. In generic form, These diagrams describe a set of message exchange sequences among a set of classes. In instance form(scenarios), these diagrams describe one actual message exchange sequence among objects of those classes. o Collaboration diagrams render how behavior is realized by components with in a system. These diagrams contain classes, associations, and their message exchanges with in a collaboration to accomplish a purpose. In generic form, these diagrams describe a set of classes and associations involved in message exchange sequences. In instance form(scenarios), these diagrams describe a set of objects of those classes links confirming to the associations, and one actual message exchange

46

sequence that inconsistent with the generic form and uses those objects and links. o State chart diagrams render the states and responses of a class participating in behavior, and the life cycle of an object. These diagrams describe the behavior of a class in response to external stimuli. o Activity diagrams render the activities of a class participating in behavior. These diagrams describe the behavior of a class in response to internal processing rather than external events. Activity diagrams describe the processing activities with in a class. o The Implementation model view encompasses the structural and behavioral aspects of the solutions realization. This view is also known as the component or development view and is composed of component diagrams. These diagrams describe the organization of and dependencies among software implementation components. These diagrams contain components and their relationships. o The Environment model view encompasses the structural and behavioral aspects of the domain in which a solution must be realized. This view is also known as the deployment or physical view. This view is composed of deployment diagrams. These diagrams describe the configuration of processing resources elements onto and the mapping of software implementation components them. These diagrams contain nodes,

components and their relationships.

UML DIAGRAMS Every complex system is best approached through a small set of nearly independent views of a model; no single viewer is sufficient. Every model may be expressed at different levels of fidelity. The best models are connected to reality. The UML defines nine graphical diagrams. 1. Class diagram 2. Object diagram

46

3. Use-case diagram 4. Behavior diagrams 5. Interaction diagrams 6. Sequence diagram 7. Collaboration diagram

46

CLASS DIAGRAM FOR FDM

Login + username + password

+ verify ( )

Client + portnumber

Graphs + timedelaygraphs

+ sendfile ( ) + timedelay ( ) + generategraphs ( )

+ generategraphs ( )

Sender + inputfile + portnumber + sendfile ( )

Queue + inputfile + portnumber + forword ( )

Server + portnumber + inputfile + recieve ( ) + timedelay ( )

46

USE CASE DIAGRAM FOR FDM

SEN DER

QUEUE

RECEIVER

USER RESULT INF O SYSTEM

GRAPHS

Dynamic Graph reprts

46

SEQUENCE DIAGRAM FOR CLIENT:

CLIENT

FDM

QUEUE

SERVER

1 : \File transfer reg\

2 : \Prompt for file name\

3 : \Enter file name to send\

4 : \Redirect to queue\ 5 : \Transfer data to server\

6 : \Return time delay of file transfer\ 7 : \Store data to result array\

46

SEQUENCE DIAGRAM FOR CLIENT:


CLIENT FDMIR GRAPH HANDLER

1 : \Graph generate reg\

2 : \Prompt for array input\

3 : \Specify array values\

4 : \Assign to graph handler\

5 : \Return simple bar graph\

46

SEQUENCE DIAGRAM FOR USER:

USER 1 : \Userlogin report\

FDMIR

LOGIN.txt

2 : \Prompt for uname and pwd \ 3 : \Enter uname and pwd\

4 : \Verify\

5 : \Return status(success/failure)\

6 : \Load clientmodule(on success)\ 7 : \Load error msg(on failure)\

46

8. OUTPUT SCREENS:

9.0 IMPLEMENTATION AND MAINTENANCE

46

The system is implemented in two phases where one part of the application is deployed client server architecture while the other phase is deployed as a web module. The client server application runs at the port enables the dealer registration, customer registration, issuing card, assigning goods to dealers ,viewing dealer sales, viewing customer suggestions. The web module is deployed on the ISP (Internet Service Provider) where in a domain name is registered an IP address is allotted. A specified amount of web space is purchased from the ISP.A site administrator provided by the ISP is responsible for maintenance of the site and provides the following support:

1. Revamps the site whenever the content changes. 2. To maintain the integrity of the site and data. 3. Provides support to prevent data loss by performing backing up and restore as and when required. 4. Protect data damage from malicious ships. 5. Administration permission can be obtained from the ISP by the ports staff in order to perform remote administration whenever required.

46

9.1 Testing: Introduction: Testing is the process of detecting errors for which the required open web application secure employment portal specifications stated. Testing performs a very critical role for quality assurance and for ensuring the reliability of software. The results of testing are used later on during the software maintenance.

The aim of testing is often used to demonstrate that a program works by showing that it has no errors. The basic purpose of testing phase is to detect the errors that may be present in the program. Hence one should not start testing with the intent of showing that a program works, but the intent should be to show that a program doesnt work. The main objective of testing is to uncover an error in systematic way with minimum effort and time.

Levels of testing In order to uncover the errors present in different phases the different levels of testing are: System Testing Function testing

The different types of testing are:


.

Unit testing Link testing

46

Unit testing:

This test focuses on verification effort on the smallest unit of software module. Using the detailed design and the process specifications testing is done to uncover errors within the boundary of the module. All the modules must be successful in the unit test before the start of the integration testing begins.
In this project each service is a module like Login, Forms etc. Each module has to be tested by giving different sets of inputs. The inputs are validated when accepting from user.

Integration testing: After the unit testing the integration of modules ahs to be done and then integration testing can be done. The goal here is to see if modules can be integrated properly, the emphasis being on testing interfaces between different modules. System Testing: In the system testing the entire web portal is tested according the software requirement specifications document. Acceptance testing: The acceptance testing is performed with realistic data of the client, which focus on the external behavior of the system; the internal logic of the program is emphasized.
Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Testing is the exposure of the system to trial input to see whether it produces correct output.

Testing Phases: Software testing phases include the following: Test activities are determined and test data selected.

46

The test is conducted and test results are compared with the expected results.

Testing Methods: Testing is a process of executing a program to find out errors. If testing is conducted successfully, it will uncover all the errors in the software. Any testing can be done basing on two ways: White Box Testing Black Box Testing

White Box Testing: It is a test case design method that uses the control structures of the procedural design to derive test cases. Using this testing a software Engineer can derive the following test cases: Exercise all the logical decisions on either true or false sides. Execute all loops at their boundaries and within their operational boundaries. Exercise the internal data structures to assure their validity.

Black Box Testing It is a test case design method used on the functional requirements of the software. It will help a software engineer to derive sets of input conditions that will exercise all the functional requirements of the program. Black Box testing attempts to find errors in the following categories: Incorrect or missing functions Interface errors Errors in data structures Performance errors Initialization and termination errors

46

By black box testing we derive a set of test cases that satisfy the following criteria:

Test cases that reduce by a count that is greater than one The number of additional test cases that must be designed to achieve reasonable testing.

1.

Test Plan

Testing can be done in two ways: Bottom up approach Top down approach Bottom up approach: Testing can be performed starting from smallest and lowest level modules and proceeding one at a time. For each module in bottom up testing a short program executes the module and provides the needed data so that the module is asked to perform the way it will when embedded with in the larger system. When bottom level modules are tested attention turns to those on the next level that use the lower level ones they are tested individually and then linked with the previously examined lower level modules.

Top down approach:


This type of testing starts from upper level modules. Since the detailed activities usually performed in the lower level routines are not provided stubs are written. A stub is a module shell called by upper level module and that when reached properly will return a message to the calling module indicating that proper interaction occurred. No attempt is made to verify the correctness of the lower level module.

46

TESTING : Black box testing:This was tested for connection to database while performing transactions and queries. OLEDB data providers functionality the ADO connection was black box tested in all the modules related to booking, registration, delivery, consignment tracking, scheduling and rescheduling. White box testing:Testing was due to check each and every line of the code executed at least once in order to ensure these both valid and invalid inputs were provided such as null data, invalid format, invalid datatypes, invalid length and Boolean values. Exceptions were handled to remove their risk. String testing:In most of the modules inputs were in the form of the strings which were tested for null data, format of the data and the length of the data. Exceptions were handled through try catch blocks to trap the errors then and there in the client server modules while in the web modules they were taken care of by valuators. Unit testing:Each and every module was tested to execute as per the SRS appropriate inputs were provided to check if the outputs required was available. Corresponding tables were cross verified for updation of data and complete transactions. Incomplete transactions were rolled back and were ensured not to affect the database. Integrated testing:-

46

All the modules were integrated that pertained to the 2 phases of the application. The client server phase was checked with top down testing to check if the screens opened in the same order starting from the splash screen to the reports module. Synchronization of the flow of data, message passing and the database transaction between the modules were verified. System testing:The client, server and the web applications modules were integrated along with the concept of a virtual website in order to test the complete system. Errors that arose as a result of network failure, protocols, port number, locating the web pages, handling the URL were isolated. LIMITATIONS: 1. Requires a server that needs to be online every time.
2. Assigning of goods is possible only when dealer register with administrator.

3. Only proper customers login and see the data..but not all the people

46

10. CONCLUSION
By using graphical analysis we can easily understand the time variations of system analysis.The system is a platform independent task handler that allows the user to test on all the operating systems to trace their performance at various working conditions. A graphical user interface that helps in identifying, sending and receiving the data from the remote systems (Client or server) to get the time delay in the data transfer rate. The graph is generated on outputs in various formats.

46

11. BIBLIOGRAPHY

11.1 Books:
1. Charles Petzold, 2002

Programming Windows,WP Publishers and Distributors Ltd, Bangalore.


2. Date. C. J., 1994

An Introduction to Database Systems, Addison-Wesley Publishing Company 3. Raghu Ramakrishna, Johannes Gehrke, 2000 Database Management Systems, Mc Graw-Hill International Edition 4. Roger S. Pressman, 1997 Software Engineering, (Fourth Edition), McGraw-Hill International Edition.

11.2 Websites: 1. http://encyclopedia.laborlawtalk.com/IIS for information on IIS 2. http://aspnet.4guysfromrolla.com/articles/020404-1.aspx for relationship between IIS and ASP.NET. 3. http://samples.gotdotnet.com/quickstart/aspplus/doc/mtstransactions.aspx for information on Transactions in ASP.NET.

46

Vous aimerez peut-être aussi