How do I avoid creating long and complicated sequence diagrams? [closed] - uml

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I'm very new at creating sequence diagrams. I've been watching countless videos of tutorials to make sure I understand the concept, however, the trouble starts when I have to implement a specific dice game between 2 players into a sequence diagram without making it too long and complicated. I say specific dice game since there's custom rules added to it. This leads to many alternative scenarios and loops. Do I only include the most important parts of the dice game?

Yes, only show what's needed. That would be parts where for example many objects communicate. You never show the full path (which is impossible anyway for almost all cases). SDs are not for graphical programming. They shall help to give you the ideas of certain collaborations. So create as many SDs as needed starting with just some basics. When questions come up you can use additional SDs to clarify these. Also relate SDs to the collaborations (being realizations of use cases). Depending on the tool you use there are different ways to do that (packing would be one of them).

Related

What are some ways to figure out related products/questions/items anything? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
What are some ways including machine learning that I can use in my projects to generate things related to another. Like related apps, related websites, related products, etc.
I've been brainstorming these are strategies...
one way i can think of is show items from same category. But that would be too broad.
2nd way improves upon previous step, it's to keep track of what people click next and promote that item. Meanwhile keep bottom list randomized to let other relevant items show up and get clicked.
3rd way is to use machine learning and provide training data somehow and use that.
I want something simple but smart, as it gets better with time.
Collaborative filtering is designed for solving exactly this problem. The problem with this approach is that produces good results having a lot of data only. I mean... A LOT. And it's not a really simple thing to use. However, any machine learning technique is not simple. There are some node.js packages for CF available, but I have no idea how good are they.

Correct way to simplify/neaten up complex or dense sequence diagrams [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I am creating a sequence diagram for an alarm system which involves a few different states and events which cause different behaviour depending on the state.
I am wondering the best way to present it. I planned on creating reference sequences to common events - such as entering a pin, a sensor going off and the alarm being activated - along the path of 'no fault'. This would be the alarm being off, being armed and then being turned off again. Without the alarm being set off by the sensors or pin entry failure.
Here's what I've got so far. Is there a better way (I will obviously define the reference sequences) or is this clear enough?
My approach to this is to keep sequence diagrams limited to a single level. The sequence diagram should only describe the behavior of one operation of one single class. To describe behavior of other operations of the same or other classes I use different sequence diagrams.
Furthermore I try to limit the number of messages in a sequence diagram to something like 15 or so. In general my rule is that I should always be able to print a diagram on A4 size and still be able to read it. If not there's too much on the diagram and it should be divided over several different diagram.
More details can be found here: UML Best Practice: One Operation => One Sequence Diagram

What diagrams should I do in each step? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I want to know what kind of diagrams I should use in each step of a project lifestyle, for example in the first step I should do the use case diagram, but what diagrams should I do after this step, for example what diagrams I should use during the analyse of the project, the design, etc.
First of all you should decide which process model you want to use. Let it be Waterfall (not recommended), V-Model, Scrum, Unified Process, Rational Unified Process, etc.
Then you can start talking about first, second step and so on, because the steps depend on the process model that you use.
These diagrams you're referring to are also called artifacts, and you should only use them, if you need them and if they create value (more understanding for example), you should not use them just to have done it (only if it's an academic/school project and you want to learn).
If you want to improve your knowledge in that certain area, there are several good books out there, e.g. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Larman.

need for creating partitions in an activity diagram [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
i am sorry for asking such a straight forward and simple question but there is a lot of confusion regarding the use of partition in activity diagrams like :
is it really necessary to create partitions?
since each organisation has a number of working units/sub-units,and eventually they will have roles to play,would we
need to create partitions in literally every activity diagram we draw
for any process flow?
e.g- suppose we have draw an activity diagram for online shopping .customers browse and search for items and later buy it .now there are very fewer roles here so we can clearly draw the diagram without partitions but still we can create them ,in both case they will represent the system so does it really make sense to create them.
The answer to both questions is No.
Partitioning is an optional feature for an activity diagram.
UML is most of all a means of communication. When partitioning adds useful information to the ddiagram, then you should include it. When it doesn't add anything to the message presented by the diagram, then you don't add it.

Can you suggest a set of commandments to make projects run smoothly? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
Can anyone suggest a set of "commandments" to make everyone operate efficiently during a development project? I am looking for commandments on how Dev and QA and Management should interact. If you lookup Agile or Scrum development models they can explain peoples roles and how things work but it doesn't define a set of bylaws that protect peoples roles from each other.
Micromanagement shouldn't need to occur when rules work properly. QA should have all information they need to test and managment should define what a successful test is. Etc.
If such a set of rules existed and was known to work well, a large industry of consultants would disappear overnight. By the contrapositive, there are no "rules" that meet your qualifications.
All the roles are part of the same team, so everyone share the same goal. People collaborate, meet daily, communicating directly, preferably face-to-face.
Everything is based on trust, there is no need for "protection".
The relationships should all be spelled out pretty well in Agile. Of course, with Agile the point isn't to protect you from each other, it's to eliminate differences between you.
For instance, you are supposed to get rid of the concept of code ownership, if you find broken code you fix it. If you need help, pair with the original author.
QA needs representation in the core team. They don't get left behind because they are in every scrum meeting--as, of course, is the customer.
Management's role (if there is management) in agile is to stay out of the way and provide treats :)
These kind of things weren't just made up for fun, they really are important.
How about the agile manifesto?
http://agilemanifesto.org/
And the 12 priciples, which I'm sure you'll link through to:
http://agilemanifesto.org/principles.html
Edit
Sorry, I misunderstood the question. These are still some good principles!
Just keep communicating and addressing trouble when it comes up.
It's like in marriage: you can't prepare for every contingency beforehand -- you must be willing to deal with every setback that occurs by talking it through with your partners and finding a way to cope with it.

Resources