Loop fragment with guard conditions in UMLET - uml

I am using UMLET to design the UML Sequence diagram for my system, i don't use the "all in one" option but the simple one dragging and editing the diagram components, so far so good, but i need to create an alt fragment with 2 or 3 guard conditions, i can't findd examples or documentation about it, the fragment component in the program doesn't show how to achieve my goal, could someone please help me?

You can create alt fragment with the interaction frame thingy in the palette.
Then in the diagram itself you can populate it with something like
alt
--
[x>0]
--
[x=0]
--
[x<0]
Note:
I would highly advise you against using this palette. Once you start making changes to it, it is a nightmare to manage as everything starts to misbehave — e.g. if you wanted to increase the space for [x=0] part, then you would add <enter> in the Properites window, however the messages and rest of the diagram will not move and you have to adjust it manually.
Not to mention that creating it manually this way is more time consuming.
So if you want to create sequence diagrams, you should either use the all-in-one palette, or other tool, such as PlantUML which has much nicer syntax (and looks better): http://plantuml.com/sequence.html

Related

Adding a text box in Android Studo

Trying to use AndroidStudio (3.4.2) for the first time and it appers to be substantially different to the tutorial at
https://developer.android.com/training/basics/firstapp/building-ui
For example:
There is no layout editor toolbar let alone a show button.
There is no autoconnect button
It doesn't show any wiggly lines from the middle of the blue square to its edges.
When adding a text box it goes to the top left and can't be moved.
WTF is going on? This is awful!
So I know this may sound like the hard answer, but in the long run it will make life 1000x easier.
You need to learn XML to design the activities. It's fairly simple and really easy to research. The reason the textbox can't be moved is because the default layout is ConstraintLayout. In order to fix this, go to the xml file and change the Constraint layout to either Relative layout or Linear Layout. In the end, its more simple to learn straight xml.
I suggest you learn Android programming from here or somewhere else because the Android documentation can be confusing especially for a beginner like yourself and trust me, I've been there.

UMLDesigner – Diagram auto layout

I tried to use UMLDesigner to draw my project related diagrams. I see there is a Arrange functionality that can automatically layout diagram elements and links to save some manual work. But when i used it in my Activity diagrams it designed it upside down.
Here is an example. I created following simple activity diagram.
And here is how auto layout result for the same model looks like: auto layout.
The initial node is at the bottom and the final nodes are on top. But i want it the other way - to start at the top and end at the bottom. Is there a way to configure this?
I tried pinning starting and final nodes but it just made a mess after arranging the rest automatically. I searched the settings but couldn't find anything. I use UML Designer Version 7.1.0.
Thanks ahead for any help.
I am sorry there is no way from the preferences to change this behaviour.
This is because I never provide a specific layout for this diagram. Please, fill an issue in the bug tracker and it will be fixed for the next version of UML Designer as it is really easy to fix: https://github.com/ObeoNetwork/UML-Designer/issues.
Thanks for your feedback!

Move combined fragment to top in StarUml

In star UML I am trying to make my combined fragment overlap the timelines but even though I click "Move to top" or "move to back" on the timeline, the combined fragment keeps being covered:
When I watch this Tutorial the author doesnt seem to have this problem, as the combined fragment is on the top from the start.
I would appreciate all help really!
Unfortunately, this is not possible in the current version 2.7 of StarUML. The StarUML support has confirmed this limitation. They introduced a feature request to enable this in a future release.
So for the moment, the lifebar will always remain on top. You'll have to find a layout to avoid the overlaps.

AvalonEdit: How to make it right-to-left?

I'm trying to make the avalonedit right-to-left layout, so that supporting languages that are right-to-left (e.g. Arabic)
The code seems to be too large to be understood, I need at least to know where my changes would be? What are main modules of it, or some diagrams/docs clarifying each component (other than the 4 images provided with the source)
I need at least to know what are the basic components of an editor. Thank you for help
The TextView class is responsible for the actual text rendering. The layout within text lines is done using the WPF TextFormatter (see #region BuildVisualLine in TextView.cs).
AvalonEdit already supports bidirectional text within a left-to-right paragraph, so the editor should work if you can get WPF to create right-to-left paragraphs.
I think it might be sufficient to change the VisualLineTextParagraphProperties.FlowDirection property.
Ideally the text view would use the value of TextView.FlowDirection for this, but I've seen some weird effects when using TextView.FlowDirection (text being mirrored). Not sure what's up with that; I'm not familiar with the way WPF works in a right-to-left context (I guess there's some auto-mirroring feature?).

Visio 2010: Prevent Co-Linear Connector Routes

I have recently picked up Microsoft Office Visio 2010 in the interest of drawing out the execution flow of a software application I am planning. So far I have enjoyed the program, and it has helped me significantly to figure out exactly what interactions and events I will need for the program even before I begin coding it. However, there is one gripe I have with the software, as I add new elements to the diagram, Visio tends to try to combine routes as often as possible. This can make it difficult at times to see exactly where some of the routes are pointing. For example:
Example 1: Example 2:
In Example 1, You can see that there are three routes, each with a different label. Originally, these labels would overlap each other as well. I figured out this can be turned off in the "Page Layout" dialog, so it's a little better than it was, but the beginnings and ends of the route are still combined. Here it's not really an issue, but it could be as shown in Example 2.
What's pointing where in Example 2? The line coming in from the left is pointing at the diamond on the bottom, and then there are three routes coming out the top of the diamond. This is the problem I'm trying to solve. It's not shown in these examples, but putting labels on those three routes in Example 2 puts the labels all on that long stretch of vertical, which makes it impossible to tell which label corresponds to which line.
Is there a way to prevent the lines from overlapping like this? I have fully explored the "Page Setup" dialog, but none of the options available there seem to allow this behavior. The only solution I was able to find online was to draw all the routes manually, but this would mean I cannot use the "Re-Layout Page" feature, and it could be rather time-intensive if Visio decides to do it often.
Update: While messing around with some more settings trying to find a solution to this, I came up with a great example showing just how bad this can get. Now, this is an extreme example, and if your diagrams look like this you're probably doing it wrong, but it clearly shows that it can quickly become impossible to tell what the source and destination for each line is.
After many more hours of searching for ways to make routes either not overlap or play nice, the only solution I've found that keeps being recommended is to re-arrange the routes manually. Changing things like snap settings and page layout options do help to some degree, but not completely. Hopefully the next incarnation of Visio will handle this better. Oh well, it's still a great tool and has definitely helped me visualize execution flow.
This may not be the solution for you but in my network diagrams, I can perform the following.
In Visio 2010 click Design tab, now click Connectors, and select curved.
It separates the lines but again it might not look right for a flow chart.
I'm having the exact same issue and have not found a satisfactory solution.
I've tried all the permutations of snap/glue settings, layout behaviour and connector behaviour with no success.
The best solution I've found so far is to manually add multiple connector points to your source and destination and use those to connect your shapes. Make sure 'no overlap' is specified for your connectors. You can then use the automatic align/layout tools and get something reasonably unambiguous.
You do lose the benefits of dynamic glue but you can mitigate that by deleting connection points (ie from one side of a shape) to force Visio to use your custom connections. You'll also have to disable 'glue to geometry' in the snap/glue options.
http://office.microsoft.com/en-au/visio-help/add-move-or-delete-connection-points-HP001231166.aspx
Please update this question if you find a better solution.
Huh. Most of the time, I have trouble getting my lines to overlap nicely :).
You might try changing some of the Snap & Glue settings:
On the View tab, in the Visual Aids group, click the dialog box launcher (the little two-headed arrow). In the Snap & Glue dialog box, I'd try changing the Snap to setting for Shape geometry.
I cna't tell if you're talking about doing this from code or not, but I've found the Design -> Layout -> Re-Layout option takes care of this.
Similarly to Alex I've found adding my own glue points to shapes and removing the default ones helps enormously. So does making sure one has appropriate settings under Page Setup | Layout and Routing:
Style: Right Angle
Separate: All lines
Overlap: No Lines
Appearance: Straight
Spacing: I found all these distances especially important
Being aware of the setting for each connector under Developer | Behaviour | Connector | Reroute, how that setting changes from "Freely" to "On Crossover" when a connector is rerouted manually is also important. Sometimes I find it necessary to set a particular connector to "Never". Also useful is the ability to select all the connectors (and NOT the shapes) with Select by Type when forcing Visio to reroute.
I'm doing this with Visio 2013's ERD diagrams and I've noticed that whilst I have defined my own connection points now on each entity it is usually best not to actually select them but let Visio dynamically select the "best" one - then if I re-arrange the entities the re-routing still works. One curiosity I've noticed is that Visio's connectors do not align with my connection points at the bottom of each entity but (since I deleted the OotB connection point at the bottom of the entity at any rate) is spacing the connectors appropriately. Along the top and down the sides the connectors are dynamically attached in the same places as my connection points.
I still sometimes have problems with connectors being placed under/inside/through entities (so a connector running through/inside/under a shape) [with ERD's especially with self-referential relationships] despite Developer | Behavior settings on both the connector and the shape seemingly to prevent that. Those are often the ones I have to route manually and set to re-route "Never".
[Visio 2016]
Not a complete solution, just an aid to manual re-routing, ...
Add "Connection Point" to the two shapes. Each connection line will then have its own route, ... though some overlapping might still occur.
Being graphically challenged, here is how I accomplish it, ...
Select the one of shapes (I have to also zoom in to get better placement control).
Select the X in the [Home] menu bar.
The selected shape will have small bumps for any shape connection points.
Press and hold the Ctrl key and hover on the boarder of the shape, the mouse cursor will change to show where a point would be added.
Ctrl-Click to add a connection point. Here I added 10 or so points.
Add additional connection points to the other shape and move the connectors to use unique points on the two shapes. Your connectors will be (more or less) separated.

Resources