80 likes | 158 Views
The Architecture-centric Inspection Approach for Object-Orientation. Andreas Birk (Presenter) Oliver Laitenberger, Kirstin Kohler, Colin Atkinson, Maud Schlich, Khaled El Emam. Sauerwiesen 6 D-67661 Kaiserslautern Germany. Context: Software Inspection.
E N D
The Architecture-centric Inspection Approach for Object-Orientation Andreas Birk (Presenter) Oliver Laitenberger, Kirstin Kohler, Colin Atkinson, Maud Schlich, Khaled El Emam Sauerwiesen 6 D-67661 Kaiserslautern Germany
Context: Software Inspection • Software inspection is a method for the cost-effective detection and correction of defects. • First use of inspection technology in the 1970s. • Object-oriented development approaches dominate today´s software development. • Textual documents versus graphical ones (UML diagrams). • Information is highly “delocalized”, that is, information is distributed across various diagram types (e.g. use-cases, class diagrams, sequence diagrams and state diagrams) • Information is created and maintained in CASE tools • Large-scale software development projects result in a large number of diagrams. They cannot be checked in one particular inspection. • Incremental and iterative development processes. Does inspection technology from the 1970s fit today´s object-oriented development processes? Not really! Issues Corrected Software Documents
Questions 1. WHAT should be inspected during a particular inspection (i.e. how to collect and organize the appropriate amount of information for a given inspection)? 2. HOW should the inspectors perform the scrutiny to achieve a minimal level of inspection cost-effectiveness? 3. WHEN should inspections be performed? (Not further addressed in this presentation!)
Architecture-centric Inspection WHAT should be inspected during a particular inspection Distinction between organizing an inspection around the documentation (model) and a logical software entity
Architecture-centric Inspection Solution 1. Determine the logical entities that warrant inspection (e.g., system, subsystem, component, class operation, or their relationship). 2. Collect the relevant parts of the documentation of the logical entity (e.g., all relevant UML models). • If the volume of the documentation to be inspected is too large, perform further partitioning. • If the volume of the documentation to be inspected is appropriate, use the available documentation for organizing the inspection. 3. Organize and run the inspection.
Perspective-based Reading Technique WHAT?Idea: A document has high quality if no potential stakeholder finds any defect in it. A document should be read from various perspectives. HOW?Prescriptive guidelines for each perspective on what to check and how to perform the required checks. perspective-based reading scenarios Architecture-centric Inspection HOW should the inspectors perform the scrutiny to achieve a minimal level of inspection cost-effectiveness? Perspective-based Reading Technique
Empirical Validation 1. Team scores show that PBR significantly improves the cost-effectiveness compared to CBR. 2. Experience is not an influential factor on the results.
Literature This talk is based on material published as follows: • Oliver Laitenberger, Colin Atkinson, Maud Schlich, Khaled El Emam, An Experimental Comparison of Reading Techniques for Defect Detection in UML Design Documents, Journal Systems and Software, vol. 53, pp. 183-204, 2000. • Oliver Laitenberger, Kirstin Kohler, Colin Atkinson, Architecture-Centric Inspection for the Unified Development Process (UP), Proceedings of the European Software Review and Testing Conference (EuroStar 2000), Kopenhagen, 2000. You find more references at http://www.iese.fhg.de/Inspections