Author Topic: More UML items in treeview + filtering  (Read 3032 times)

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
More UML items in treeview + filtering
« on: October 08, 2009, 06:17:30 pm »
As a result about a bug regarding Constraints getting http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1248948104 deleted we came to the conclusion that we needed a real solution for this.

This is a request with three related parts, which have to be developed together to ensure a consistent, workable solution.

1. UML items should never be owned by Diagrams
Currently some UML defined items such as notes and constraints are considered to be owned by the diagram they are displayed on. If you delete the diagram then the note or constraint gets deleted as well.
This is a BUG. In UML diagrams cannot own anything. A diagram is a VIEW on the model (much like a window, see Roy for more (surrealistic) thoughts about this). Deleting a view should never change anything the model behind it. The only things that a diagram should own are purely graphical things like free textboxes, rectangles etc..

2. All UML items should be shown int he model tree view
Everything that is defined by UML should is part of the model and should be shown in the model tree view. This includes relation, notes, constraints etc... This becomes especially important when part 1 is implemented since otherwise things like notes and constraint can not be deleted anymore.
Showing these items in the model tree view also allows us to re-use notes and constraints on other diagrams reducing the need for redundant information.

3. Add a filter to the project tree view
In a large model the tree view can now already become difficult to work with because of the sheer volume of items displayed.
If we are going to add even more items to the treeview then a filter will be needed in order to keep the treeview usable.
I suggest an option to be able to filter on type of element (class, note, relation, ...)
The suggestion from Paolo to be able to save filters would be a nice addition.

I've sent this as a Feature Request to Sparx.

Geert

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: More UML items in treeview + filtering
« Reply #1 on: October 08, 2009, 06:37:14 pm »
Quote
[size=18]...[/size]
This is a request with three related parts, which have to be developed together to ensure a consistent, workable solution.
In principle, I agree with what Geert, has said, but there are some observations I want to make:
Quote
1. UML items should never be owned by Diagrams
[size=18]...[/size]
The only things that a diagram should own are purely graphical things like free text boxes, rectangles etc..
Even these can often be re-used on multiple diagrams!  The ONLY thing that a diagram should own is the Title Block (aka Diagram Note Element).  If the text, boundary etc element is anonymous, it should be filtered out (see below) since, by default, anonymous elements shouldn't be displayed.  However, Geert implies (I think) that if you purge a diagram and an anonymous element is solely present in that one diagram , it should automatically be purged.  I think that's a good idea.  That would be a default option on the rather anaemic [Ctrl+Del] dialog at present.
Quote
2. All UML items should be shown in the model tree view
[size=18]...[/size]
Showing these items in the model tree view also allows us to re-use notes and constraints on other diagrams reducing the need for redundant information.
Its actually notionally duplicate - not just redundant.  Thus you have the possibility inconsistencies (between the so-called duplicates)...
Quote
3. Add a filter to the project tree view
[size=18]...[/size]
I think it would be productive to discuss the nature and form of such a filtering mechanism.

Paolo
« Last Edit: October 08, 2009, 06:38:41 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!