Upstream & downstream dependencies
Learn how to make use of upstream and downstream dependencies. This will help you trace any product changes.
As your documentation grows, it can be quite hard to get an overview of its complexity. As such you might end up having questions like the following:
"If I change this, how do I know what will break?"
"Is it safe to change this now?"
"Can I delete this aggregate, what if it's used somewhere?"
These are all valid day-to-day questions and to provide an answer to them, the service editor provides quick access to such dependencies.
Each of the following elements can be inspected for their dependencies via the action menu or various other quick-access UI explained below:
Technical use cases
Use case flows (Standalone and technical)
Endpoints
Aggregates
Value Objects
Property groups
Upstream vs downstream
There are 2 types of dependency in software development and Uniscale:
"Who is dependent on me" - upstream dependency
"What am I dependent on" - downstream dependency.
Accessing the dependencies from the interface
Each item above that supports can be hovered and via the actions menu, upwards or downwards dependencies can be inspected.
Understanding the dependency inspection view
When inspecting any item in any dependency mode, you will see a filtered view of the documentation or the Functional view, with only the items relevant to the dependency.
Any item that matches that criteria is also highlighted further in a Blue accent in the Overview, and also in the Main content.
The user can also show the full specification via the action at the bottom, or exit and go back to the original view from the dependencies view.
Ruleset for each item
Each item is dependent on various items in the hierarchical order. Let's break that down per dependencies type.
Note: namespaces are always shown any of the following items located inside of them in the structure, but are not considered a dependency.
Upwards dependencies:
Item | Upwards |
---|---|
Technical use cases | None |
Use case flows ( Standalone and technical ) | Technical Use cases & UX flows |
Endpoints | Use case flows |
Data contracts ( aggregates, Value objects, Property groups) | Other data contracts & Properties |
Downwards dependencies:
Item | Downwards |
---|---|
Technical use cases | Technical Use case flows |
Use case flows ( Standalone and technical ) | Endpoints |
Endpoints | Data contracts |
Data contracts ( aggregates, Value objects, Property groups) | Other data contracts & Properties |
The dependencies build upon each other.
Meaning, that if I inspect upwards an endpoint, it is dependent on use case flows, which are in turn dependent on use case flows or UX flows. So the view will present the full path in that sense, contextualized to your data.
Usage indicators
Another great helpful functionality to indicate dependencies via usage is small counter indicators on:
use case flows
endpoints
Clicking on them will show the upwards dependencies.
Last updated