How useful are UML diagram and sequence diagram? [closed] - uml

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 3 years ago.
Improve this question
I'm learning about UML diagram and sequence diagram at the moment in one of my courses for my CS degree, and I wonder that if this is something that is common to use for developers or if this is just one of many approaches to analyse the design of the system.
I'm so used to the Waterfall model and wondering if there would be any benefits for switching my mindset.
Maybe the answer is obvious, but still think it would be interesting to hear from people that are more experienced in the area.

My first advice is not to mix concepts:
UML = modeling language.
Useful to describe/visualize the design of a system.
Waterfall model = design process.
Useful to describe in a linear-sequential manner the life cycle of a system.
This is a very short and non-deep description but ilustrates your question about the specific case of sequence diagrams, so in a real case scenario you probably will end using both like this:
-Requirement/Analysis: during this phase you will start creating some of the first UML Use case diagrams for your system.
-System Design: during this phase (or even earlier) you will start creating UML Sequence diagrams, UML Component diagrams and so on.

Related

Complex UML use case 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 1 year ago.
Improve this question
I made this use case diagram:
My project is a village profile website. It is made for collecting the questions from the researcher who wants answers directly from the locals, for any reasons: covid, communication etc.
As I am not experienced with use-cases,I want to make sure that I am going in the right way. Is this diagram correct?
A use-case diagram is about the big picture and the goals (use-case bubble) that a system (the rectangle) helps its actors to achieve.
According to your diagram, there would be 5 independent systems, each with some use-cases that address different needs. Is this really what you wanted to model?
When zooming into the different systems, it appears that these are not independent systems but function groups (i.e. groups of features that offer some functionality). It appears moreover that the use-cases do not correspond to user-goals, but to detailed functions related to the function group. So you seem to do some kind of functional decomposition.
Functional decomposition is fine. But not with use-cases! It always leads to very detailed diagrams that loose the big picture and end to be unrelated to the user’s interest.
Use-cases are not either meant for user-interface design (in case you wanted each rectangle correspond to some windows/pages), or for decomposing the internal structure of the system (in case you wanted each component to correspond to some microservice or whatever). Use-case should focus only on user goals that add value to the user (typically not a login, which is only a constraint for what the user really want to do).
Good news: there remains good potential to significantly simplify this diagram ;-)

Do I have to make one control class per use case in class diagram? [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 1 year ago.
Improve this question
I'm making class diagram based on ECB pattern.
According to Wikipedia, every use case is represented as a control class.
Does this mean a 1:1 response?
For example, if I made 'Login' and 'Register' use cases, then does 'LoginController' and 'RegisterController' have to be there?
Can I integate them into 'ValidationContoller?'
I looked up information about the ECB, but it was hard to get detailed information. Thanks in advance for any helps.
No, there is no need for a one-to-one mapping at all.
As laid down in the wikipedia article:
ECB classes are first identified when use-cases are analyzed:
every use case is represented as a control class;
...
The classes are then refined and re-structured or reorganized as needed for the design, for example: ...
So the 1:1 is only the beginning of the analysis, and in no way a guidance for the implementation.
It is important to understand that this pattern originated in the 90's in a pre-agile context. Ivar Jacobson, the inventor of the use-cases, intended with ECB to be able to derive an implementation from the requirements (represented as use cases), and to keep a perfect traceability of the implementation back to the requirements. If you look for more details on this approach, you may read the Unified Software Development Process by Jacobson, Booch and Rumbaugh.
Not related: It may be useful to know that Jacobson's more recent work (e.g. Use Case 2.0) no longer mentions ECB, since modern agile approaches do not support the kind of upfront analysis assumed with ECB.

Translating user stories in UML 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
*Could I translate user stories in UML diagrams to teach oriented object project? *Is it right?
*Is there someone with experience in it?
Your question is an interesting one, and using use case to model story is a debate and I am quite sure that there are a lot's of talk about UML usage in Scrum or Agile method.
I am not sure that Scrum experts would agree that a user story is a use case. For example, for me a use case is associated to a full description and for my understanding this is not the case of a user story.
Maybe this difference between use case and user story could help.
UML has "Use Case Diagrams" which are pretty much the UML version of a User Story.

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.

Do real software Projects use automatic code generation from UML? [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 7 years ago.
Improve this question
I have come across tools like visualparadigm demo which could automatically generate code from the class diagram which is modelled in UML. Since I have no industry experience, I am curious to know whether this is the way companies start working on their projects after the system is modelled in UML. since the skeleton of the classes needed is automatically generated, I assume it is a good way to save time. If this is not the way, then why is it so?
Also Can you provide me some other tools which can automatically generate code from UML class diagrams (prefer opensource).
Are there OOP software projects which do not get started with the class diagrams, so that this method can be of no use?
Most of UML are able to generate code from UML class diagram you just have to google it and you will find them.
Concerning the way companies start working, I guess it depends of the companies but from my experience companies try to avoid useless work.
If they spend some time on modeling it is because they can use it for something for example code generation, documentation, or just because its a client request. If companies do not find any interest in modelling they simply do not use it I guess that alot of OOP do not start with models.

Resources