260 likes | 721 Views
TU / e Software Architecture Completeness Analysis Interim Presentation Christian Lange Overview TU / e Introduction Software Architecture Analysis Survey Completeness Rules & Metrics Outlook Questions Introduction TU / e “Technische Informatica” TUE since 1998
E N D
TU/e Software Architecture Completeness Analysis Interim Presentation Christian Lange
Overview TU/e • Introduction • Software Architecture Analysis • Survey • Completeness • Rules & Metrics • Outlook • Questions
Introduction TU/e • “Technische Informatica” TUE since 1998 • Since December 2002 final year project at Océ Technologies (Venlo) • Supervisor Michel Chaudron • Advisor Eric Dortmans (Océ) • Lou Somers
Introduction TU/e • Extension of SAAT • Software Architecture Analysis Tool (Johan Muskens) • Completeness of Architecture • Introduced by Océ architecture specialists
Question / Goal TU/e • What is Software Architecture Completeness ? • Development of techniques • to assess a model’s completeness • to identify “incomplete spots” • (tool supported) • Validation of techniques in practice
SW Architecture TU/e • 4+1 Views of Philippe Kruchten
SW Architecture Analysis TU/e • Maintainability, Extensibility, Testability,… • SAAM, ATAM • Specialist work, qualitative • Metrics, SAAT, other tools • Cohesion, coupling • Automated support • Quantitative • Completeness, Consistency • This project • Automated support • Quantitative Existing New
Survey TU/e • Web-based survey • To get insight in the way practitioners are using the UML for architecture • To investigate practitioners needs • To get feedback on the ideas so far • Published • In newsgroups • Within Océ • Sent to known experts • 20 questions (multiple choice, comments possible) • 2 month, 80 responses (20 Océ, 30 CGEY, 30 other) • Aimed audience
Survey conclusions TU/e • To what degree do you follow the UML standard?
Survey conclusions TU/e • What criteria do you use to stop modelling? Project size
Other survey conclusions TU/e • Logical and Scenario view mostly used • Most practitioners encountered incompleteness problems • Consistency is important • Metrics usage in early stage expected to be useful • Use of dedicated case tools (XMI export)
Completeness TU/e • Intuition: • Has the maturity of the architecture model reached a level, such that we are ready to start implementing? • Definition: • An architecture model is complete if and only if it entirelydescribes and specifies the system that exactly fulfills all requirements and the model contains all necessary information that is needed to implement that desired model
Completeness TU/e • Decomposition A model must necessarily reflect all functional requirements of the desired system Tracing Completeness Syntax Semantics A model must reach a good "score" for the non-functional quality attributes A model must be syntactically correct, i.e. it must be consistent with respect to different views and different levels of abstraction.
Consistency TU/e • Dimensions of consistency • Differs from “completeness” Views Time Abstraction level
Meta Model TU/e • Logical View • Class diagram • Class interfaces • associations, dependencies, inheritance • State diagram • Scenario View • Message sequence charts • Objects, messages • Use Case diagrams • Use cases, Actors • associations, dependencies, inheritance, instantiations
Meta Model TU/e Subset of Logical and Scenario View
Rules & Metrics TU/e • Size of Use Case
Rules & Metrics TU/e • Dynamicity
Rules & Metrics TU/e • Examples (Rules, 18 so far) • Objects must have a name • Abstract classes should have abstract superclasses • Classes have at most one state diagram • Classes with a high dynamicity have a state diagram • Examples (Metrics, 20 so far) • (shown before)
The tool TU/e XMI representationof model UML representationof model Queries (rules & metrics) HTML output Database
Outlook TU/e • Rules and metrics set • Dependencies • Rule A Rule B • #Scenarios = 0 NOT objects need name/type, dynamicity,… • Classification • abstraction level, phase
Outlook TU/e • Case studies for validation • Tool vendor examples, literature examples • Assumed to be complete • Fault injection • Small • Case studies evaluated by Johan • Various domains • Compare results • Real-world projects (Océ, …) • Large projects • Architects available for evaluation, discussion • Subsequent versions • Problem tracking data available • Implemented code available (e.g. compare design with reverse-engineered model)
Ongoing case study TU/e • Context • Controller, embedded system, • Printer / scanner • Size: • 103 Use cases • 135 classes • 109 scenarios
Ongoing case study TU/e • Identified: • oversized use case • 14 scenarios vs. 1 - 5 • 533 messages vs. 3 – 90 • High level scenarios vs. low level logical view • Only actors in MSCs, messages without method relation • (wrong) interpretation of “Actor” • 1 god class vs. 97 empty classes • God class is abstract but subclass of non-abstract class
Questions TU/e ?