Facade Use Cases

Download Report

Transcript Facade Use Cases

Use Case Descriptions
Chapter 4 – Facade Iteration
Initial Requirements
(Inception Phase)
17
1
First Real Cut at Application
Requirements
 Façade Use Cases
Amount to ‘placeholders’ for expanded use cases (to come).
Contain name and short description of the interaction;
contains initiating actors.
Verb…objects.
Typically, we do NOT know all the details.
Want to capture the ‘architecturally significant’ use cases…
(What are these???)
Trying to identify key functions / risks / interactions at a
global level.
2
Introduction: Façade Use Cases
Ensure façade use cases are user-centric and
NOT technology-centric. Why? What does this
mean?
Again, these are the WHATS that the users
want! These are the ‘behaviors’ of the system.
Express in terms the users understand!
Involve various sources early and frequently
Many different stakeholders with diverse ‘takes’ on
the application…
3
Use Case Index
This is a Table of Contents for your Use Cases (that will be
developed). Single Sheet; table in Word
As you discover a Use Case, index it.
For each Use Case in the index (include a designator (like
UC1, UC2, …), followed by the use case name, short
description (two or three sentences), actors, level (façade,
filled, focused) date last updated (for now).
You may also write a ‘short user story’ describing the use
case objectives. If so, this must be very short!!
Book states (p. 73), “Façade use cases show the basic,
essential, high-level interactions that this application must
support (Constantine 1999).”
4
Façade Use case: Attributes (Rows)
Name of the use case – short name (verb, object); action words;
Actor(s) that trigger the use case…
Level (façade, filled, focused…These refer to levels of granularity.
Short Description – two three sentences: at the most! (story?)
Leave room for the Basic Course of Events…(happy path)
Pre and Post conditions, and more (see ahead…)
Trigger
Business Rules Link (Reference Business Rules in your Use Cases
(consider format on pg. 82 or other format)
Risk priority (reference your Risk List preferable by number or
identifier)
Link to text on non-functionals (quality metrics; constraints) here,
if desired
Date / author(s)
5
We will add attributes like Alternate Paths, Extensions…later)
Use Case Number:
03
Use Case Name:
Edit Member Account
Actor (s):
Buyer, Seller
Maturity:
Focused (note: not façade; has basic course of events too)
Summary:
This use case is started by a Buyer or a Seller. It provides the capability for one of these
actors to edit their member profile.
Basic Course of Events:
Actor Action
1. This use case is started when a Buyer
or Seller elects to edit their member
profile.
Perform S1-Login
System Response
2. The System displays the
Actor’s member profile and prompts the Actor
to update it.
3. The Actor updates their member
profile.
4. The System validates the information
entered by the Actor.
{Validate Information}
5. The System prompts the Actor for
confirmation.
6. The Actor confirms that the
information is correct.
{Profile Change}
7. The System updates the
Actor’s member profile to the member
repository and informs the Actor that the
information was updated successfully.
8. This use case concludes when the
Actor receives visual confirmation of the
update.
6
Continuing….
Alternate Paths:
A1 Change Member Profile
At {Profile Change} the Member indicates that he/she entered incorrect information.
The System immediately returns to the step 2.
Exception Paths:
E1 Handle Invalid Information
At {Validate Information} if any fields are entered incorrectly.
The System indicates the fields that were entered incorrectly and prompts the Buyer or
Seller to make the necessary corrections.
The flow of events is resumed at Basic Flow Step 2.
Extension Points:
{Change Profile }, {Validate Information}
Triggers:
The Buyer or Seller would like to edit their member profile.
Assumptions:
The Buyer or Seller is aware of the steps required to edit their member profile.
Preconditions:
The System is functioning properly.
Actor already has a Profile stored in the Profile Database???
Post Conditions:
The member profile was successfully updated to the member repository. Actor sent email
to confirm changes.
Reference - Business Rules:
See Business Rules section: 2.3.1 and 2.3.5.
Reference - Risks:
See Risks List sections: 2.1 and 2.4.
Author (s):
Team3
Date:
11-04-04
7
Think About Non-Functional
Requirements (Quality Constraints)
Note the significant list of non-functional requirements on
pp. 76-77.
Be aware of a number of examples of non-functional
requirements that may be addressed in your application.
Availability, compatibility, data integrity, extensibility,
interoperability, maintainability, performance, portability, reliability,
robustness, scalability, security, usability / achievability
Know these! (be able to identify them…)
Document these per use case, as shown on page 4.1.
Non-functional requirements normally not tied to specific
use cases; normally threaded through a number of use cases.
Capture in a Table
These normally are found within a Supplementary
Specifications Document…
8
Verbiage in Use Case
Use Verb-object phrases (stated before…)
Sell Houses, Enroll in Course; Maintain Book…
Should not be instances of classes
Should not be tied to an organization structure, paper
forms or computer implementation
Refer to Prototype to see actions an actor expects to
undertake…(ahead)
Use phraseology from Prototype and Domain Model in text.
Interface items and domain entries will become objects ahead….
Nice technique: Bold items or Italicize items in Use Case
Specifications for which there is a glossary entry or a business entity
in the Domain Model
Have links for key words or entities to domain model / glossary.
9
Candidate Use Case List
Ensure each Use Case is ‘in scope.’
Actors must reflect the roles that people play – not the
actual names of people.
Note: Use Cases will often have multiple actors.
Again: (repeating…)
Actor must provide or receive a value from the system
Do not tie your actors to your organization chart.
10
User Interface Prototype
Use storyboarding to elicit major, high-level enduser requirements.
Document the interactions as seen in the
storyboards as high level text to identify the
Façade Use Cases.
The details of the interactions (and likely more
detailed user interface prototypes) will be used to
capture the interactions for focused and filled use
cases later.
More on prototyping in the next series of slides.
11
Verb Filter and Noun Filter
Use strong verbs (See table in textbook)
Use strong, concrete nouns. (See table)
Avoid weak nouns such as data, report,
system, form, template, paper…
12
Façade Filter
Façade use cases represent the most important
interactions between the actors and the system.
Don’t worry too much about non-functional
requirements at this time. Will address more later.
Façade use cases should be relatively abstract – so
that they will cover a number of actual proposed
interactions (scenarios).
Certainly no implementation details.
Façade use cases contain NO basic course of
events….Only trying to identify significant Use
Cases – for their functionality, their actors, pre and
post conditions, triggers, and key attributes…
13
Reviews
Peer Reviews:
Review the use cases carefully.
Have a ‘SME’ available for business domain questions.
Have reviews often and informally
User Reviews:
User review of your Façade use cases is critical.
Every hour you spend in review could save many hours of
work later!!!
I RECOMMEND THAT TEAMS REVIEW EACH
OTHER’S USE CASES!!
Use Cases capture functional requirements…
Sometimes called Requirements Analysis…I like to keep
‘Requirements’ and ‘Analysis’ somewhat separate. 14
Packaging
You need to build packages of Use Cases
group Use Cases of similar ‘value’ or
‘functionality’
15