06-04-2012, 12:37 PM
FLOW CHARTS
Introduction:-
Before solving a problem with the help of a computer, it is essential to plan the solution in a step-by-step manner. Such a planning is represented symbolically with the help of flow chart. It is an important tool of system analysts and Programmers for tracing the information flow and the logical sequence in data processing Logic is the essence of a flow chart.
A flow chart is the symbolic representation of step-by-step solution of a given problem, and it indicates flow of entire process, the sequence of the data input, operations, computations, decisions, results and other relevant information.
Pertaining to a particular problem, a flow chart helps us in the complete understanding of the logical structure of a complicated problem and in documenting the method used.
It would be seen that the flow chart is a very convenient method of organizing the logical steps and deciding what, when and how to proceed with various processes. The logic should be depicted in the flow charts. Computerization of the data without a flow chart is like constructing the building without a proper design and detailed drawings.
Kinds of the flow charts
1. System Flow Chart
The system analyst to describe data flow and operations for the data processing cycle uses these. A system flow chart defines the broad processing in the organizations, showing the origin of the data, filling structure, processing to be performed, output that is to generate and necessity of the offline operation.
2 . Program Flow Chart (or) Computer Procedure flow chart
The programmers to describe the sequence of operations and the decision of a particular problem normally use these. A program flow chart plans the program structure and also serves the purpose of documentation for a program, while chart is to be retained and used at a later date either by the original programmer or others.
Advantages:
Apart from, the DFDS the flow charts has been helping the programmer to develop the programming logic and to serve as the documentation for a Completed program, it has the following advantages
1. They help for the easy understanding of the logic of a process or a procedure
2. It is a better communicating tool than writing in Words.
3. It is easy to find the conditions, which are responsible for the actions.
4. It is an important tool for planning and designing the new system.
5. It clearly indicates the role-played at each level.
6. It provides an overview of the system and also demonstrates the relation ship between the various steps.
7. It facilitates troubleshooting.
8. It promotes logical accuracy.
Disadvantages:
1. Communication lines are not always easy to show.
2. The charts are sometimes complicated.
3. Reproduction is difficult.
4. They are hard to modify.
UML (UNIFIED MODELLING LANGUAGE)
The unified modeling language is a standard language for specifying, Visualizing, Constructing and Documenting the software system and its components. It is a graphical language which provides a vocabulary and set of semantics and rules. The UML focuses on the conceptual and physical representation of the system. It captures the decisions and understandings about systems that must be constructed.
It is used to understand, design , configure, maintain and control information about the systems.
Visualizing :
Through UML we see or visualize an existing system and ultimately we visualize how the system is going to be after implementation. Unless we think we cannot implement.
UML helps to visualize how the components of the system communicate and interact with each other.
Specifying :
Specifying means building models that are precise, unambiguous and complete UML addresses the specification of all the important Analysis Design, Implementation decisions that must be made in developing and deploying a software system.
Constructing :
UML’s models can be directly connected to a variety of programming language through mapping a model from UML to a programming language like Java or C++ or VB.
Forward Engineering and Reverse Engineering is possible through UML.
Documenting:
The deliverables of a project apart from coding are some artifacts which are critical in controlling, measuring and communicating about a system during its development viz. Requirements, Architecture, Design, Source code, Project plans, Tests, Prototypes, Releases etc.
Diagrams in UML :
Diagrams are graphical presentation of set of elements. Diagrams visualize a system from different angles and perspectives.
The UML has Nine diagrams these diagrams can be classified into the following groups.
Static:
1. Class diagrams.
2. Object diagrams.
3. Component diagrams.
4. Deployment diagrams
Dynamic:
1. Use case diagram.
2. Sequence diagram.
3. Collaboration diagram.
4. State chart diagram.
5. Activity diagram.
Static or structural diagrams :
Class diagram :
This shows a set of classes, interfaces, collaborations and their relationships. There are the most common diagrams in modeling the object oriented systems and are used to give the static view of a system.
Object diagram:
Shows a set of objects and their relationships and are used to show the data structures, the static snapshots of instances of the elements in a class diagram. Like class diagram, the object diagrams also address the static design view or process view of a system.
Component diagram:
Shows a set of components and their relationships and are used to illustrate the static implememtation view of a system. They are related to class diagrams where in components map to one or more classes, interfaces of collaborations.
Deployment diagram:
Shows a set of nodes and their relationships. They are used to show the static deployment view of the architecture of a system.
They are related to the component diagrams where a node encloses one or more components.
Dynamic or behavioral diagrams:
Use Case diagram:
Shows a set of use cases and actors and their relationships. These diagrams illustrate the static use case view of a system and are important in organizing and modeling the behaviors of a system.
Sequence diagram & collaboration diagram:
These two diagrams are semantically same i.e. the dynamics of a system can be modeled using one diagram and transform it to the other kind of diagram without loss of information. Both form the, Interaction diagram.
Sequence diagram:
Sequence diagram is an interaction diagram which focuses on the time ordering of messages it shows a set of objects and messages exchange between these objects. This diagram illustrates the dynamic view of a system.
collaboration diagram:
This diagram is an interaction diagram that stresses or emphasizes the structural organization of the objects that send and receive messages. It shows a set of objects, links between objects and messages send and received by those objects. There are used to illustrate the dynamic vies of a system.
State Chart Diagram and Activity Diagrams:
These Diagrams are semantically similar. State chart diagram shows a state machine consisting of states, transitions and activities these illustrates the dynamic view of a system. They focuses on the event ordered Behavior of an object.
Activity Diagrams:
Activity diagram shows the flow from one activity to another within a system. The activities may be sequential or branching objects that act and are acted upon. These also show the dynamic view of the system.
8.Testing: -
Testing is the major quality measure employed during the software engineering development. Its basic function is to detect error in the software. Testing is necessary for the proper functioning of the system
Testing has to be done at four levels :
8.1Unit Testing : -
Unit testing focuses verification effort on the smallest unit of the software, design the module. Here, using the detail design as a guide, important control paths are tested to uncover errors within the boundary of the module. Unit testing is always white - box oriented, and the step can be conducted in parallel for multiple modules .
8.2Integration Testing : -
Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors, associated with interfacing. The objective is to take the unit tested modules and build program structure that has been directed by the design.
8.3. Validation Testing : -
Validation testing demonstrates the traces the requirements of the software. This can be achieved through a series of black box tests.
8.4. System Testing : -
System testing is actually a series of different tests whose primary purpose is to fully exercise the computer - based system. Although each test has a different purpose, all works should verify that all system elements have been properly integrated and perform allocated functions. The various tests include recovery testing, stress testing, and perform testing.
9. Maintenance and Implementation : -
9.1Corrective Maintenance : -
This acts to correct errors that are uncovered after the software is in use .
9.2 Adaptive Maintenance : -
This is applied when changes is the external environment precipitate modifications to software .
9.3 Preventive Maintenance : -
This improves future maintainability and reliability and provides basis for future enhancements.
12. CONCLUSION
Network Administrator Tool is one of the best tools in the market for remote administration purposes. It is fast, secure, comfortable to use and platform independent. This enables a network administrator to work on any computer in the local area network (Intranet) or connected to the Internet. We can be able to remotely control the server without the aid of a third party product.