The development of the object-oriented programming significantly facilitated the process of software development. Nevertheless the development of software with good design, reliability, modularity and usability is still problematic. IDEF4 standard was developed for correct usage of object-oriented technologies. Accordingly to IDEF4 standard, the object-oriented process is represented with the help of diagrams, which helps to analyze this process and to discover its key points. The particularity of IDEF4 standard is the representation possibility of the influence of classes’ heredity, objects composition, functional decomposition and polymorphism on the object projecting.
The process of object-oriented projecting by IDEF4 method is divided into separate blocks.
Each subrun has notations, which indicate which decision should be accepted during the projecting process and how it will influence on other subruns. By IDEF4 standard the common diagram, describing the whole project, is not developed. This allows to avoid confusion and quickly find the necessary information on the project. IDEF4 standard lets the planner easily find compromises between classes’ heredity, objects composition, functional decomposition and polymorphism in the project.
IDEF4 model consists of 2 submodels: model of classes and model of methods. These submodels are connected between each other with the help of a distribution scheme and contain the whole information on the project. Because of classes’ subruns sizes and methods the planner never uses them as a whole, using a set of simpler diagrams and specifications which contain the part of information.
A submodel of classes consists of the following diagram types:
Diagrams of heredity, which define the heredity of classes;
- Diagrams of types, which define the composition of classes;
- Diagrams of protocols, which define protocols of methods call;
- Diagrams of objects creation (Instantiation), which describes the process of creation of exemplars of the preset classes’ objects.
A submodel of classes consists of following diagrams:
Diagrams of methods systematization (Method taxonomy), which classify methods by behavior similarity;
- Diagrams of clients, which represent clients and operations suppliers, so that to define the functional decomposition.
The diagram of heredity represents hereditary ties between classes. For example, at the picture below the structure of heredity and Filled Rectangle class behavior is shown.
Diagrams of protocols define arguments of classes for protocols call. At the picture below the diagram of a protocol for Fill-closed-object is shown.
It is obvious from the diagram that Fill-closed-object gets requests from Polygon object (primary argument) and Color object (secondary argument) and returns the request to Polygon object.
Diagrams of objects creation come into diagrams of types and describe possible situations at composition of ties between created objects..
The diagram of methods systematization describes specific type of system behavior at the influence on the set of methods. Arrows on the diagram point at additional influences, done at the sets of methods. The sets of methods are grouped accordingly to additional obligatory conditions. At the example given below the set of methods ‘Print’ has an obligatory condition that the object must be printed and the set of methods ‘Print-Text’ – that the printed object must be a text.
Diagrams of clients represent clients and operations suppliers. Double arrows on the diagram point from the called operation to the calling operation. At the example given below a diagram of clients is shown. On this diagram the Redisplay operation which belongs to Redisplayable-object class calls the Erase operation of the Erasable-object class and the Draw operation of the Drawable-object class.
IDEF4 standard implies not only graphical presentation but the additional information about diagrams of heredity, methods systematization and types which are contained in specifications. Accordingly to IDEF4 standard there are specifications of invariant classes and specifications of obligatory conditions.
Specifications of invariant classes are connected with diagrams of heredity and define influences which form properties of each concrete class of objects. For each class there exists a separate specification. For instance, the properties “Each square has four sides” and “All square sides are equal” are the properties of specification of the Square class.
Specifications of obligatory conditions are connected with sets of methods in diagrams of methods systematization and define obligatory conditions, which influence on methods and which methods should satisfy.
For each set of methods there is one specification of obligatory conditions. For example the set of methods ‘Pop’, which deletes values from the stack, as obligatory condition will have the absence of attempts to delete the value from the stack if the stack is empty.
IDEF 4 standard is developed by professional planners and programmers of the U.S. Air Force Armstrong Laboratory and is intended to facilitate the usage of object-oriented technologies at software development.
TEN RELATED HOW TO's:
ConceptDraw DIAGRAM extended with Chemistry solution from the Science and Education area is a powerful chemistry drawing software that provides the useful tools to help you design all kinds of chemistry drawings and illustrations, chemical schemes and diagrams of formulas, reaction schemes and lab set-ups of any complexity.
Picture: Chemistry Drawing Software
A flowchart is a simple but very functional tool when it comes to understanding a workflow or to removing unnecessary stages from a process. When drawing flowcharts, keep in mind that there are four common types of flowcharts, like document flowcharts and data flowcharts that show control over a data or document flow over a system. To show controls on a physical level, use system flowcharts. In addition, to show controls in a program, you can draw a program flowchart.
This flowchart diagram represents the piece of an article editing process, that involves the author and editor. It was created using the Basic Flowchart notation that consists from the basic flowchart symbols. The start and the end of the process are indicated with "Terminator" symbols. The "Process" symbols show the action steps consisting from making edits and searching for a compromise, when the author does not agree with the suggestions of the editor. The "Process" symbol is the general symbol in process flowcharts. The "Decision" symbol indicates a branching in the process flow. There are two branches indicated by a Decision shape in the current flowchart (Yes/No, Disagree/Agree). This basic flowchart can be used as a repeating unit in the workflow diagram describing the working process of some editorial office.
Picture: Types of Flowcharts
UML Class Diagrams is a type of static structure diagram that is used both for general conceptual modeling of the systematics of the application, and for detailed modeling translating the models into programming code. It describes the structure of a system by showing the: classes of a system, attributes, operations, and the relationships between them.
The Rapid UML Solution for ConceptDraw DIAGRAM includes the UML Class Diagram library that helps you to design the UML Class Diagram quick and easy. You can simply and quickly drop the ready-to-use objects from the library into your document to create the UML Class Diagram.
Picture: UML Class Diagram Constructor
This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the UML Activity Diagram library of the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park.
Picture: UML 2 4 Process Flow Diagram
In software engineering, it is important to understand how the system would cooperate with external sources, like data sources. To give this information a visual representation, data flow diagrams (DFD) were used for years. The entire system is usually divided into smaller ones, and all of them process data flows in appropriate ways.
The visualizing business processes which engages the data transfer, is commonly preformed using DFDs (data flow diagrams). DFD is used to show the data flow processing and transformation. This DFD represents the electronic system of a customer purchase. It was created using Gane/Sarson notation. Data flow diagrams helps you to sort through and clarify transferring process making it available for analysis, and representation. ConceptDraw DFD solution introduces the vector library, containing the full set of icons from DFD notations.
Picture: Data Flow Diagram (DFD)