Functional Decomposition Diagrams & Software Verification
Functional Decomposition Diagrams (DDF)
Techniques to represent the decomposition of the functions of a system.
Its purpose is to represent the hierarchy of system processes at different levels of abstraction. It decomposes a high-level function into low-level functions.
They are used to represent other information such as company structure.
Types of DDF
- Functions of the system at different levels of abstraction but without considering the flows between them.
- The functions and input and output data
- Functions and flows in and out but following a few rules defined by mathematical formulas. Are verified by CASE tools.
Checks for Formal Specification
Revision by 4 aspects:
- Completeness: The test is whether the models are complete.
- Integrity: Verify that there are no contradictions between the different levels.
- Accuracy: If models meet user requirements.
- Quality: The test style and ease of maintenance of the models produced.
When the type of formal review is necessary, establish a checklist to guide reviewers in the meeting. When using a CASE tool, many of these functions are automated.
Software Verification
Software verification consists of a set of procedures, activities, techniques, and tools used in parallel to software development, to ensure a software product that solves the problem initially raised.
This requires defining a Verification and Validation plan at the beginning of the project to determine these activities.
Objectives of Verification and Validation
- Detect and correct defects as soon as possible in the software life cycle.
- Reduce the risk.
- Improving the quality and reliability.
- Improving the visibility of the management development process.
- Quickly assess the proposed changes and their consequences.
Verification vs. Validation
We can distinguish the activities of verification and validation:
- Validation: The objective is to determine the correctness of the final product to the needs of the user. His main technique is software testing.
- Verification: The objective is to demonstrate the consistency and correctness between the phases of the development cycle of a project. The main verification technique are the reviews and audits.
Software Inspection
It is a formal evaluation technique in which software requirements, design, coding, or which are discussed in detail by a person or group of persons other than the author to detect faults, unconformities with the implementing rules and other problems.
The inspection provides an immediate indication of quality.
Rules for Successful Inspection
- The inspections are conducted as in the planning process and in development.
- Inspect all kinds of possible defects.
- The inspection involving all levels of management of the company.
- The inspections should be conducted in strict stages.
- The meeting time should not exceed two hours.
- Should be led by experienced moderators, to carry out their job effectively.
- The inspection team members should be assigned roles to increase effectiveness.
- Use checklists to give members assignments.
- Must inspect the product with maximum effectiveness in the discovery of defects.
- Must file the statistics obtained for further analysis.