-
Notifications
You must be signed in to change notification settings - Fork 3
User Stories
I want to pan and zoom the feature model tree view so that I can navigate around in an intuitive manner.
Feature models can be quite large. To navigate such a large model zooming and panning is needed. It is a broadly known way to navigate around larger-than-screen things and thus very intuitive.
- I have to be able to use the navigation in an intuitive way.
- I want it to be an easy-to-use experience.
- Navigate around just like Google Maps
I want to collapse and uncollapse feature nodes so that I can hide all of their children.
Feature nodes can have quite a large number of children. I want to be able to view a smaller subset of feature nodes for a better overall understanding of the feature model. Therefore I want to collapse all of the children of a node with a context menu entry and also a shortcut.
- I want to collapse all of the children of a node with
ALT + Click
. - I want to collapse all of the children of a node with a context menu entry.
- There should be an indicator next to each node with the number of direct and total children to know whether there are collapsed children or not.
I want to hide and unhide sibling feature nodes so that I can make only a subset of siblings of a node visible.
Feature nodes can have quite a large number of children. I want to be able to view a smaller subset of feature nodes for a better overall understanding of the feature model. Therefore I want to collapse the left and/or right siblings of a node with a context menu entry. Also i want to be able to hide single nodes with a context menu entry.
- I want to collapse all of the left siblings of a node with a context menu entry.
- I want to collapse all of the right siblings of a node with a context menu entry.
- I want to collapse a single node with a context menu entry.
- There should be an indicator whether there are hidden siblings/nodes or not. In case of multiple hidden nodes, that are next to each other there should be only a single indicator to provide a net space gain when hiding nodes.
- Upon clicking the above-mentioned indicator I want the hidden nodes to reappear.
I want to edit the values of a feature node so that I can make changes to a feature model easily.
Each feature node has the following attributes:
- group type
- mandatory
- name
- abstract
I want to be able to edit them in a dialog after choosing Edit
in a context menu for the feature node.
- I want to edit a feature node within a dialog.
- The edit dialog should pop up when I choose the corresponding entry in a context menu.
- As there are some constraints to attributes I want to be able to only edit and view used attributes like this:
- When a feature node has no children, it has no group type.
- When a features parent group type is something other than
and
, it has nomandatory
attribute. - The
name
andabstract
attribute should always be editable.
I want to add a new feature node so that I can make changes to a feature model easily.
Each feature node has the following attributes:
- group type
- mandatory
- name
- abstract
I want to be able to add them in a dialog after choosing Add child
or Add sibling
in a context menu of the parent / sibling feature node.
- I want to add a feature node within a dialog.
- The add dialog should pop up when I choose the corresponding entry in a context menu.
- As there are some constraints to attributes I want to be able to only edit and view used attributes like this:
- When a feature node has no children, it has no group type. A newly added node should never have this as a selection.
- When a features parent group type is something other than
and
, it has nomandatory
attribute. - The
name
andabstract
attribute should always be editable.
- The new feature node should be a sibling or a parent of the feature node that was used to open the context menu depending on the chosen context menu entry (
Add child
andAdd sibling
).
I want to drag 'n' drop a feature node so that I can change the hierarchical structure of the feature model.
I want to drag 'n' drop a feature node. When dragging a feature node A
upon another feature node B
there should be some way to intuitively make A
the sibling or child of B
, without opening another menu. The older connection of A
should be replaced with a new connection to B
or the parent of B
. When hovering over collapsed feature nodes with another, the feature node should uncollapse.
- I want to drag 'n' drop feature nodes.
- I want to change their connection to another parent by doing so.
- This feature should not involve another menu to keep it simple.
- When hovering over another collapsed feature with a feature being dragged, the other feature should uncollapse to show its children.
I want color code the feature model tree so that I can visualize certain aspects of the feature model.
I want to color code the feature model tree with some coloring algorithms. The coloring function should accept an algorithm with instructions how to color certain nodes, so it is easily extendible. The coloring options should sit in the navigation bar.
- I want to have some sample algorithms (e.g. count children, ...)
- Coloring should be done on a dynamic scale between two colors (e.g. blue for min children, red for max children, the rest is in between).
- I want to select the coloring option in the top navigation bar.
- I want to also be able to upload a
csv
file with feature node ids and an integer value to let a coloring algorithm do its work.
I want search a feature node in a feature model tree so that I can find a feature in a big tree easily.
I want to be able to search a feature in a search text box inside the navigation bar. Upon typing it should highlight the best match while also uncollapsing everything between the found node and the route node as well as highlighting the edges in between.
- I want to have some sample algorithms (e.g. count children, ...)
- Coloring should be done on a dynamic scale between two colors (e.g. blue for min children, red for max children, the rest is in between).
- I want to select the coloring option in the top navigation bar.
- I want to also be able to upload a
csv
file with feature node ids and an integer value to let a coloring algorithm do its work.
I want to auto-fit a model to the screensize so that I can see the whole model on my screen.
- I want to click a menu button, so that everything fits inside my screen
- In case I panned way off to the side I want to return to the feature model
I want to collapse the nodes of a feature model with more than n children so that it is not as cluttered on the screen.
- I want to have a text box to configure the number n
- After configuring the number, the feature model should update accordingly
I want to collapse the nodes of a feature model on a level deeper than n so that it is not as cluttered on the screen.
- I want to have a text box to configure the number n
- After configuring the number, the feature model should update accordingly
I want to adjust the height between feature node levels so that it is not as cluttered on the screen.
- I want to have a slider to configure the distance between levels
- After every slider change it should update in realtime to quickly find the desired distance