4

I'm finding it hard to get around my head how the specific scenario would work out:

I have a database server, a web server and a user.

When the user registers a service is created to the web server, the web server then goes to the database server and returns to the web server to register the details.

How would I actually illustrate this.

I have created the three Actors; User, Web Server, Database Server.

As a note I have read many online resources, and also a Book on UML.

Thanks in advance.

Sandeep Bansal
  • 6,280
  • 17
  • 84
  • 126

3 Answers3

4

Are the DB/web servers part of the system you're implementing? If so you don't need them as Actors. UC Diagrams should only show actors outwith the scope of your system.

So you only need one Actor (User) in this case. The Use Case should describe the goal from the User's perspective (e.g. "Buy a Widget").

You could show the servers in a diagram showing how the UC is realised - usually a sequence diagram or activity diagram. Although I'd typically expect to see logical entities (classes) as well / instead of the physical servers.

hth.

sfinnie
  • 9,854
  • 1
  • 38
  • 44
  • 2
    OK so in this case a Use Case isn't really needed and I should stick with, Class, Sequence and Activity diagrams? – Sandeep Bansal Apr 22 '11 at 14:23
  • 2
    If you only have one Use Case, yes. A UC diagram is a good summary of the functions a system offers to its Users - nothing more. If you only have a single Actor and a small number of UCs then the value of a UCD is questionable. – sfinnie Apr 22 '11 at 14:29
  • 1
    Class, Sequence and Activity diagrams will help you design the solution. Even if you don't use a UC /Diagram/ though, you need to make sure you understand the Use Case itself - i.e. be clear on what the User is trying to accomplish and make sure you support them in doing so. You should be clear on that before working out how to do it (sequence/activity diag etc.). Apologies if that's stating the obvious. – sfinnie Apr 22 '11 at 14:37
  • Well to make it easier, it is an event booking system, there is an admin also but they are the only two actors in this. Would a sequence, activity and class diagram make more sense in this scenario, then I can just do them? – Sandeep Bansal Apr 22 '11 at 14:37
  • 1
    Class diagram - almost definitely. Sequence or Activity diagrams: probably. UCD: perhaps not. But you still need to identify the UCs themselves. Bear in mind the less obvious ones: event cancellation, changing venue; security (login); etc. Not all may be valid but you should check. – sfinnie Apr 22 '11 at 14:44
  • OK thanks for your help, I will most likely do the three diagrams then, obviously identifying and understanding the use case partially for the design. – Sandeep Bansal Apr 22 '11 at 14:46
  • @sfinnie, I have a similar question here: http://stackoverflow.com/q/10938331/1204249. Can you help me with it please? – amp Jun 07 '12 at 20:37
3

I agree with maple_shaft's last statement. A high-level UC (use case) is a vehicle for capturing requirements.

Req'ts are the "what" of a system. What is the system supposed to do. What does the user need to accomplish. What interaction does the user need from the system.

By capturing system components in your UC you are injecting "how" into it and that's inappropriate for a UC. You don't want your use case to say how the system will accomplish something as that's an implemenation decision.

2

In short, I disagree that you really want to create a Use Case diagram. This sounds more like a component diagram.

Use case diagrams should represent user flow and non-technical flow from a user perspective, not demonstrate underlying architectural structure.

maple_shaft
  • 10,435
  • 6
  • 46
  • 74