Presentation is loading. Please wait.

Presentation is loading. Please wait.

Improving UML Class Diagrams using Design Patterns Semantics Shahar Maoz Work in Progress.

Similar presentations


Presentation on theme: "Improving UML Class Diagrams using Design Patterns Semantics Shahar Maoz Work in Progress."— Presentation transcript:

1 Improving UML Class Diagrams using Design Patterns Semantics Shahar Maoz Work in Progress

2 Background  UML class diagrams are very popular design and documentation tool for software engineers  Many automatic layout algorithms exist and are implemented in CASE tools  Algorithms are based on optimizing syntactic “aesthetic” parameters (e.g. bends, orthogonality, edge length variation, node distribution, direction of flow)  Result is aesthetically pleasant at best but… Experiments found no significant improvement in comprehension (e.g. finding mistakes, answering questions) (except for crossing) Does not work well for “real world size” projects, large diagrams are still very difficult to understand

3 The Project  Use domain specific semantics to generate better visualizations  Add visual dimensions that are ignored in UML (color, interactivity, semantic filter/zoom)  I chose to use Design Patterns as the domain specific semantics  Goals Making the diagram more intuitively understandable to software engineers Help software engineers make better designs by reducing to “cost” of developing and identifying reusable frameworks and code

4 Design Patterns in One Slide  Design Patterns are reusable object oriented solutions, descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.  Standard DPs (21) originally defined by the GoF (Gamma et al.), divided into 3 categories: Creational, Structural, Behavioral; well known to experienced SEs  Examples: Adapter: convert the interface of a class into another interface clients expect. Command: encapsulate a request as an object, enable parameterize clients with different requests, queue or log requests, support undoable operations

5 How to use DP in class diagram visualization?  Data (meta data) would come from custom tags inside JavaDoc – accessible to reverse engineering tools  Visual tools to use Color Semantic filter / zoom  Work in Progress examples Work in Progress examples

6 Challenges  Classes belong to more than one DP Need to visualize multiple subsets of the diagram  Highlighting is not enough Need to show DP name (Icon?), information about the role of each class  Show how it scales with a real world project  Integrate into existing algorithms / CASE tools


Download ppt "Improving UML Class Diagrams using Design Patterns Semantics Shahar Maoz Work in Progress."

Similar presentations


Ads by Google