RISE to Bloome Software
Log In    
r2bsoftware.se r2bsoftware.se
Click to hide navigation tree

Using multiple drawings

The RISE Editor allows you to use multiple drawings when modeling. This is beneficial during modeling as well as when trying to understand an existing model. Use each drawing to manage and convey a limited amount of model information. This will create a model that is easy to work with and easy to understand.

The following rules apply to RISE model drawings:
  1. A model may contain any number of drawings.
  2. The same object (entity, view or interface) may occur in any number of drawings.
  3. If two related objects are placed in the same drawing their relation(s) are drawn.
  4. Two related objects are always connected using the shortest possible path.
To add a drawing to your project, simply select the "Drawing" item in the "Insert" menu. Drawings are deleted and renamed using the right-hand project tree. 

An entity is, normally, created by dragging in a new entity from the toolbox and dropping it onto the drawing. To add an existing entity to a drawing, drag it from the right-hand project tree. You may also right-click an existing drawing entity and select the "Display related" option to make RISE automatically add related entities, views or interfaces to the current drawing.
Note that rule 3 and 4 work in favor of multiple drawings, since you can't hide, bend or otherwise tweak lines in the drawing to circumvent "obstacles".

An example

In this example we model a document management system. It supports documents with meta data, including version management, stored in a folder structure. It handles tree types of documents: traditional files, messages with attachments and uploaded web forms. For simplicity, we avoid any user management and permission control.
The first drawing, "Document", focuses on the document and its structure rather than the actual content (or implementation) of the various document types.
Then we add a second drawing, "Blobs", focusing on the definition of the document types and, in particular, on how large (blob) content is managed.
Since messages require further details, beyond those shown in the previous drawing, we add a separate "Message" drawing.
Finally, we want an overview and, thus, all the entities are placed in a fourth drawing. After spending a while thinking and moving stuff around, we manage to organize it in a way that is, perhaps not logical, but at least visually appealing.
Actually, if we were to continue the development of this model, into a real-world system, we would remove the Blob entity from the overview drawing. The reason is that there are more than one path (it's three) connecting Blob to Version and Blob, being purely technical, is less important. Thus, since RISE uses the shortest possible path when connecting two objects, the presence of Blob is likely to force us to make the drawing grow sparse and geometrically large to avoid intersections. In fact, intersections are inevitable, regardless of drawing algorithm, if something is related to all three paths.