1 / 6

C ălin Drimbău “Politehnica” University of Timi şoara

Assessing design quality based on the difference between conceptual and structural decomposition of software systems - Conceptual design flaws in software -. C ălin Drimbău “Politehnica” University of Timi şoara. Context and Problem Statement.

Download Presentation

C ălin Drimbău “Politehnica” University of Timi şoara

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assessing design quality based on the difference between conceptual and structural decomposition of software systems- Conceptual design flaws in software - Călin Drimbău “Politehnica” University of Timişoara

  2. Context and Problem Statement • The quality of a design has a decisive impact on the quality of a software product. • Design problems are frequent, expensive and will always be there. • Current approaches in the assessment of the design take into account structural information about the system (e.g. metrics). Unfortunately this is not enough since the results are: • incomplete • insufficient to detect and avoid characteristics that lead to bad consequences Research hypothesis: A good design follows “naturally” the problem domain. Approach: Detection of the design problems can be enriched by comparing the structural and the conceptual decomposition of systems.

  3. Assigning domain meaningto programs edu.tum.cs.family Program represented as graph Parent Child Source Code Mother Person Mama Offspring ? Person Domain, Libraries, … knowledge shared as Ontologies Parent Offspring Mother Child Ontologies represented as graphs Mama Family .

  4. Person isA isA hasType Parent Offspring Mother hasType isA partOf boundWith hasType Child Mother Offspring Mama partOf assignedTo Mama currentChild Family Conceptual decomposition Vs. Structural decomposition edu.tum.cs.family mop mop Parent hasType moc Child Mother isA subTypeOf subTypeOf Person isA 1. package edu.tum.cs.family; 2. 3. class Parent extends Person { … } 4. class Child extends Person { 5. Parent mother; 6. Child(Parent mother) { … } 7. … 8. } 9. … 10. Parent mama; 11. new Child(mama); 12. … 13. Person offspring = currentChild;

  5. God Class viewed from the perspective of the two decompositions • “God Classes tend to centralize the intelligence of the system,doing ‘everything’ and using data from small data-classes” [Riel 1996] • It generates problems • Maintainability, Reusability, Understandability • Structural characteristics • They heavily access data of other simpler classes, either directly or using accessor methods. • They are large and complex • They have a lot of non-communicative behavior i.e., there is a low cohesion between the methods belonging to that class. • Conceptual characteristics • The interleaving of multiple dimensions of knowledge in the code

  6. Package Decomposition View *Tool support: “LOOSE Research Group”, “Politehnica” University of Timişoara http://loose.upt.ro/

More Related