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 ;-)
Related
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.
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
If we imagine we are given with a domain diagram and we also have a use case.
I am struggling to understand, what exactly can we derive?
Ex domain model, found on google.
I want to get to the interaction diagrams as a result.
I think the path is, system sequence diagrams -> operation contracts -> interaction diagrams
I just dont get the logic of how to derive all this from a domain diagram because on communication diagrams we can have instance creations that comes out from no where.
Can anyone explain how to derive all this from a domain diagram (if there are steps)?
This domain model represents the static structure of your domain. It does not give any information about its dynamics (how it behaves/changes over time). Sequence diagrams and interaction diagrams model the dynamics. They cannot be derived from the domain model.
In your question, you wrote: "We also have a use case". A use case gives information about the dynamics, so maybe you can derive the sequence/interaction diagrams from the use case.
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'm unsure on how this relationship would work in a use case. I was hoping somebody would shed some light on this for me by explaining the relationship and the behaviour accessible by each?
This relationship is not allowed in UML 2.0.
UML 2 does not permit associations between Actors. (1)(2) The use of generalization/specialization relationship between actors is useful in modeling overlapping behaviours between actors and does not violate this constraint since a generalization relation is not a type of association.(3)
(Wikipedia)
Although Applicant is a valid concept to the system, (s)he is not a system user; therefore, it should not be an actor in the use case diagram. Even for regular use case descriptions this relationship does not matter. What matters is the user and system interactions. However, you are free to explain this relationship in a user story.
Although this is legal UML it does not have a well defined semantic. It says: Applicant is associated with Artist Manager but does not tell what kind of relation that is.
Just think by yourself: what does it tell? If you can't give a meaningful answer then it's probably nonsense.
Judging from the UC I guess that Applicant is a secondary actor. You should relate it to the UC like Artist Manager. In the past I used an undirected association for the secondary actor. Alternatively you may stereotype it with <<use>> or the like. Just be consistent with the notation.
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
Hello I'm studying sequence diagram.
For example there are 2 actors,
an actor is a trader who has an online shop.
Another actor is a customer who buys the trader's products.
How do I represent the situation when the trader is storing the products into a database or when the customer is buying a product?
The possible use cases are insertProduct and buyProduct.
The database is part of the system, so no other actor communicates with the system.
I've not understood how to represent this situation when the communication among actors is not in "real-time".
Thanks in advance.
You will need to split things as #JimL suggests. Your use case is best be shown with an activity diagram where you have single actions representing the steps like search/pay/etc.
When you design your domain you will then find technical classes like Store etc. where your actor can send messages like buy(item) etc.
The whole story is somewhat more lengthy and will definitely be off-topic for SO.
You seem to be mixing up two levels of interaction. One happens at the business level, in the "meat world", where people interact. The trader and customer might only interact directly when the customer has a question. The other happens at the system level, between an actor and the system. The latter would show how the trader stores a product OR how a customer buys a product, not both.
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
In the UML reference manual page 18
Full specifications of a final system:
An implementation model includes enough information to build the system. It must include not only the logical semantics of the system and the algorithms, data structures, and mechanisms that ensure proper performance, but also organizational decisions about the system artifacts
that are necessary for cooperative work by humans and processing by tools
What the highlighted sentence means?
It basically means that with UML modeling, you can go far beyond describing algorithms. You can (and should) put the technical information in context and describe what the system you describe is good for, how it will be used, for what purpose and by whom.
Perhaps because it's an obscure usage, you might be wondering about the use of the word "artifacts" here. In this context, it refers to any of the persisted entities in your design, which can include databases, files, archives, cloud-storage, tapes, printouts, etc. Basically any component in the system that has a lifetime or can serve as long-term memory.