This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
bok:eng:mbse:intro [2020/07/05 09:18] anwlur [Performance Qualities] added more metrics |
bok:eng:mbse:intro [2020/09/11 12:19] (current) anwlur [Parts] fixed internal link |
||
---|---|---|---|
Line 56: | Line 56: | ||
===== Performance Qualities ===== | ===== Performance Qualities ===== | ||
- | Metrics improve development process, understanding of complexity, discovering/predicting faults and estimation of efforts. Often the choice of metrics exceed what is required and therefore it is advised to define what is the purpose of measurement. | + | See this page on [[bok:eng:mbse:quality|model quality]]. |
- | ==== Framework for Deciding Metrics ==== | + | See this page on how to [[bok:eng:mbse:critique|critique a model]]. |
- | A useful framework to derive useful metrics is the Goal-Question-Metric (GQM) paradigm developed by Basili [2]. The GQM process is as follows: | ||
- | - Define goals of measurement (for "UML As Sketch" type models then goal is mainly focusing on communication.) | ||
- | - Define questions that have answer that allow the observer to determine whether the goal has been met | ||
- | - Each question is evaluated to determine what metrics are required to support the question's answer. | ||
- | |||
- | ==== Quality Goals ==== | ||
- | |||
- | Mohagheghi [1] show that there are 6 classes of quality goals for models: | ||
- | * Comprehensibility (emphasis for model sketches) | ||
- | * Confinement (emphasis for model sketches) | ||
- | * Correctness (emphasis for model design) | ||
- | * Completeness (emphasis for model design) | ||
- | * Consistency (emphasis for model design) | ||
- | * Changeability (emphasis for model design) | ||
- | |||
- | {{ :bok:eng:mbse:intro:mbse_intro1.png?400 |}} | ||
- | |||
- | * **Comprehensibility** - Model is understandable to its intended audience. | ||
- | * **Confinement** - Model is in agreement with its purpose | ||
- | * **Correctness** - Model includes correct elements & relationships. Does not violate rules and conventions | ||
- | * **Completeness** - All necessary information is included at the necessary degree of fidelity | ||
- | * **Consistency** - Model is without contradictions. //Horizontal consistency// is consistency between diagrams and views that belong same level of abstraction. //Vertical consistency// is consistency between models or diagrams at different levels of consistency. Consistency also refers to semantics, i.e. same element does not have multiple interpretations | ||
- | * **Changeability** - Model supports continuous and rapid improvement and evolution | ||
- | |||
- | MIT xPRO propose the following "Qualities of Great Models" | ||
- | * Linked to Decision Making. | ||
- | * Model Credibility - it is believable | ||
- | * Clear Scope | ||
- | * Verification and Validation of Model - Model should show why it is the preferred option to do verification and validation of the system | ||
- | * Traceable and Analyzable | ||
- | * Understandable and Well Organized | ||
- | * Data extrapolation - where is the model valid | ||
- | * Complete relative to Scope | ||
- | * Internally consistent | ||
- | * Verifiable | ||
- | * Validatable | ||
- | * Elegant | ||
- | * Appropriate level of Fidelity | ||
- | * Allows Optimization - does it includes gradients or convexity | ||
- | * Avoid optimization on a black box | ||
- | * Reuse | ||
- | * Availability of Interfaces | ||
- | |||
- | ==== Model Metrics ==== | ||
- | |||
- | * **Model Size** - number of elements[3]. Allows for | ||
- | * Comparison of models (before and after, model A and model B on same system) | ||
- | * Measure of progress | ||
- | * Prediction of work effort | ||
- | * **Design Metrics** | ||
- | * Degree of coupling between classes (e.g. number of interactions within a class) | ||
- | * Degree of inheritance (e.g. depth of inheritance) | ||
- | * Degree of cohesion | ||
- | * Degree of polymorphism | ||
- | * Degree of information hiding | ||
- | * Degree of complexity | ||
- | * **Comprehensibility Metrics** | ||
- | * Number of elements on diagram | ||
- | * Number of crossing lines on diagram | ||
- | * Number of entry and exit points on diagram | ||
- | |||
- | ==== References ==== | ||
- | |||
- | * [1] P. Mohagheghi et al, [[https://www.omg.org/ocsmp/ICSE2009_WoSQ_3415_mohagheghi_parastoo.pdf|"Existing Model Metrics and Relations to Model Quality"]] Accessed on Jul. 4th, 2020 | ||
- | * [2] V.R. Basili, G. Caldiera, and H.D. Rombach, "The Goal Question Metric Paradigm", In Encyclopedia of Software Engineering, volume 2, John Wiley and Sons, 1994, pp. 528-532. | ||
- | * [3] C.F.J. Lange, [[http://www.win.tue.nl/~clange/papers/Lange_ModelSizeMatters.pdf|"Model Size Matters"]], Proc. Model Size Metrics Workshop, 2006. | ||
===== Problem ===== | ===== Problem ===== | ||
{{ :bok:eng:mbse:intro:week_03_still_03_b.jpg?600 |}} | {{ :bok:eng:mbse:intro:week_03_still_03_b.jpg?600 |}} | ||
Line 139: | Line 73: | ||
===== Methodology ===== | ===== Methodology ===== | ||
+ | For a review of MBSE Methodologies see this [[bok:eng:mbse:method|page]]. | ||
==== Method ==== | ==== Method ==== | ||
Line 154: | Line 89: | ||
=== MBSE activity === | === MBSE activity === | ||
+ | * Ask questions | ||
+ | * Why model? | ||
+ | * What problem are we trying to solve with the model? | ||
* Evaluate what functions (and at what level of fidelity) MBSE activity should be applied to | * Evaluate what functions (and at what level of fidelity) MBSE activity should be applied to | ||
* Evaluate what components (and at what level of fidelity) MBSE activity should be applied to | * Evaluate what components (and at what level of fidelity) MBSE activity should be applied to | ||
Line 198: | Line 136: | ||
* Use Cases | * Use Cases | ||
* Nominal Scenarios - covers basic outcomes under nominal conditions and does not consider exceptions | * Nominal Scenarios - covers basic outcomes under nominal conditions and does not consider exceptions | ||
- | * [[mbse:critique|Critique]] | + | * [[bok:eng:mbse:critique|Critique]] |
===== Use Cases ===== | ===== Use Cases ===== |