-
Notifications
You must be signed in to change notification settings - Fork 2
Protocols
h-schoen edited this page Oct 4, 2018
·
45 revisions
- Create an UML class diagram editor with the following functionality
- Create and remove classes
- Permit adding and removing of attributes to classes
- Allow adding and removing of inheritance relations between classes
- Allow adding and removing of associations between classes
- Associations have a name and two multiplicity constraints at each end, whereas each is editable
- Permit adding and removing of packages, which lists the classes it contains
- Allow the editor to step in to "packages", where classes, packages, inheritance, and associations can be added and removed
- Optionally, check inputs to names, multiplicities and attributes for correctness
- Think about useful user interactions for the editor
- Refine your architecture to support modular development
- presentation of new UML features
- analyzing possible future requirements (see page "Requirements")
- "flat" and "deep" model representation
- file handling (save, load, export, esp. PDF)
- templates for "core models" as adaptation starting point -> base for new models (instead of greenfield approach)
- model views: different (graphical) representations for the same underlying model -> no different data; defined by the users' needs
- metadata for models and views
- separation of CROM and BROS feature sets for model creation
- IDE comfort features (error highlighting, auto-completion, minimap)
- general server usability
- introduction into BROS and its concepts (with mapping on new requirements)
- user interface analysis
- view management
- structure tree for already available elements (?) -> creating views needs selectable elements
- minimal toolbox for new elements
- configuration hidden via sidebar or right-click
- creating new elements via left-click on existing elements
- fixed background grid
- complete previous todos
- extending the functionality of the UML editor, part I
- relationships
- different types
- names, multiplicities
- directed and undirected
- drag-drop of anchor points
- entities
- different types
- configuration
- change element type at runtime
- (graphically hidden) data within elements
- relationships
- presentation of new UML features
- another introduction into BROS
- feasibility talk about:
- reuse of elements in different views
- cutting lines
- background: fixed, zoom, snap of elements, infinite size
- previous todos:
- drag-drop of relationship anchor points
- creating a relationship type at runtime
- editable multiplicity
- suggested presets
- extending the functionality of the UML editor, part II
- general
- element type change at runtime
- suggest presets when creating new elements
- multi-selection of elements
- drag-drop
- drag-drop of elements into another element (e.g., class into package)
-
(bonus) flat representation support with package resizing - show iconized/visual representation of the inner elements
-
- add metadata for root diagram (Author, Contributors, Creation-Date, Modify-Date, Metric-Example: # of Elements)
- relationships
- properties available in the sidebar
- change relationship source and target at runtime, incl. "swap" button
- relationship labels (name, multipl.) above or to the right of the line, able to be moved by the user
- (brainstorming) small arcs at edge overlap (-> far future)
- general
- info about current state
- finish previous todos
- suggest presets when creating new elements and for multiplicities
- drag-drop of elements into another element (e.g., class into package)
-
(bonus) flat representation support with package resizing - show iconized/visual representation of the inner elements
-
- add metadata for root diagram (Author, Contributors, Creation-Date, Modify-Date, Metric-Example: # of Elements)
- new
- try drawing of "return events": bubbles at the edge of a package (view from outside) and at the left of a drawing canvas inside the package (when stepped in)
- a package-to-package relationship
- a "class-in-package"-to-"class-in-another-package" relationship (inheritance)
skipped
- discussion about editor architecture (domain model, link model, picto model)
- sum up of the last weeks
- previous
- suggest presets when creating new elements and for multiplicities
- drag-drop of elements into another element (e.g., class into package)
- show iconized/visual representation of the inner elements
- add metadata for root diagram (Author, Contributors, Creation-Date, Modify-Date, Metric-Example: # of Elements)
- try drawing of "return events": bubbles at the edge of a package (view from outside) and at the left of a drawing canvas inside the package (when stepped in)
- a package-to-package relationship
- a "class-in-package"-to-"class-in-another-package" relationship (inheritance)
- new
- relationships from return events to everything else
- architecture discussion
- persistency with JSON
- tasks done:
- suggest presets when creating new elements and for multiplicities
- add metadata for root diagram (Author, Contributors, Creation-Date, Modify-Date, Metric-Example: # of Elements)
- try drawing of "return events"
- previous
- drag-drop of elements into another element (e.g., class into package)
- show iconized/visual representation of the inner elements
- a package-to-package relationship
- a "class-in-package"-to-"class-in-another-package" relationship (inheritance)
-
relationships from return events to/from roles and packages/compartments
- drag-drop of elements into another element (e.g., class into package)
- new
- event handling
- return events: draw them at package/compartment edge when stepped out
- "create" & "destroy" relationships:
- events to/from roles
- events to/from packages
- backend: linker & edit policies
- event handling