8.b Structuring System Process Requirements
8.b Structuring System Process Requirements
SYSTEM PROCESS
REQUIREMENTS
Use Case
Modeling
COMSCI 2201
Functional vs. Non-functional
Functional
Requirements
Non-Functional
extend Specifies that the target use case extends the <<extend>>
behavior of the source.
Actors
• Primary actors:
– Supply data or receive information from the system.
– Provide details on what the use case should do.
• Supporting actors:
– Help to keep the system running or provide help.
– The people who run the help desk, the analysts,
programmers, and so on.
Actors (cont…)
• Extend relationship
– Used to indicate that a use case can be extended by another
use case under certain conditions.
– It is used when a use case adds some optional or alternative
behavior to another use case.
– It is shown as a dotted-line arrow pointing toward the use case
that has been extended and labeled with the <<extend>>
symbol.
<<extend>> example
Browse items
Add to cart
Checkout
CUSTOMER Apply
discount
<<extend>> vs. <<include>>
• Include relationship
– Used to indicate that a use case includes the functionality of
another use case.
– The included use case cannot stand alone and the original
use case is not complete without the included one.
– It is denoted by a solid arrow with a closed arrowhead
pointing from the including use case to the included use
case.
– The included use case represents a common set of actions
or sub-processes that are required by multiple use cases.
<<include>> example
Deposit
<<include>>
Withdraw Authenticate
Transfer
CUSTOMER
Rules for Relationships
1. Indicate an association between an actor and a use case if
the actor appears within the use case logic;
2. Avoid arrowheads on actor-use case relationships (if
necessary);
3. Apply <<include>> when you know exactly when to invoke
the use case;
4. Apply <<extend>> when a use case may be invoked across
several use case steps;
5. Generalize use cases when a single condition results in
significantly new business logic;
6. Avoid more than two levels of use case associations.
System Boundaries Boxes
• Used to define the scope of the system being modeled.
• The box represents the boundary between the system and its
external environment, which can include users, other
systems, or physical devices.
• It indicates the scope of your system – the use cases inside
the rectangle represent the functionality that you intend to
implement.
Use Case Diagram
– Guidelines & Caution
1. Use cases should ideally begin with a verb – i.e Generate
report.
2. Use cases should NOT be open ended – i.e Register (instead
should be named as Register New User)
3. Avoid showing communication between actors.
4. Actors should be named as singular. i.e Student and NOT
Students. NO names should be used – i.e John, Sam, etc.
5. Do NOT show behavior in a use case diagram; instead,
depict only system functionality.
6. Use case diagram does not show sequence – unlike DFDs.
More example…
The clock shows the time of day. Using buttons, the user can set the
hours and minutes fields individually, and choose between 12 and 24-
hour display. It is possible to set one or two alarms. When an alarm fires,
it will sound some noise. The user can turn it off, or choose to ’snooze’. If
the user does not respond at all, the alarm will turn off itself after 2
minutes. ’Snoozing’ means to turn off the sound, but the alarm will fire
again after some minutes of delay. This ’snoozing time’ is pre-adjustable.
Identify the top-level functional requirement for the clock, and model it
with a use case diagram.
Solution
End.