This link has been bookmarked by 110 people . It was first bookmarked on 29 Oct 2006, by Professional Learning Board.
-
10 Jun 15
-
- Use cases are mainly diagrams. Larman stresses that "use cases are not diagrams, they are text"[22]
-
-
26 Feb 15
-
list of steps
-
list of steps
-
to achieve a goal
-
Cockburn-style template
-
-
10 Nov 14
-
In software and systems engineering, a use case is a list of steps, typically defining interactions between a role (known in Unified Modeling Language (UML) as an "actor") and a system, to achieve a goal. The actor can be a human, an external system, or time.
-
As an important requirement technique, use cases have been widely used in modern software engineering over the last two decades. Use case driven development is a key characteristic of process models and frameworks like Unified Process (UP), Rational Unified Process (RUP), Oracle Unified Method (OUM), etc. With its iterative and evolutionary nature, use case is also a good fit for agile development.
-
-
12 Sep 14
-
A use case defines the interactions between external actors and the system under consideration to accomplish a goal. Actors must be able to make decisions, but need not be human: "An actor might be a person, a company or organization, a computer program, or a computer system—hardware, software, or both."[13] Actors are always stakeholders, but not all stakeholders are actors, since they "never interact directly with the system, even though they have the right to care how the system behaves."[13] For example, "the owners of the system, the company's board of directors, and regulatory bodies such as the Internal Revenue Service and the Department of Insurance" could all be stakeholders but are unlikely to be actors.[13]
Similarly, a person using a system may be represented as different actors because he is playing different roles. For example, user "Joe" could be playing the role of a Customer when using an Automated Teller Machine to withdraw cash from his own account, or playing the role of a Bank Teller when using the system to restock the cash drawer on behalf of the bank
-
Actors are often working on behalf of someone else. Cockburn writes that "These days I write 'sales rep for the customer' or 'clerk for the marketing department' to capture that the user of the system is acting for someone else." This tells the project that the "user interface and security clearances" should be designed for the sales rep and clerk, but that the customer and marketing department are the roles concerned about the results.[14]
A stakeholder may play both an active and an inactive role: for example, a Consumer is both a "mass-market purchaser" (not interacting with the system) and a User (an actor, actively interacting with the purchased product).[15] In turn, a User is both a "normal operator" (an actor using the system for its intended purpose) and a "functional beneficiary" (a stakeholder who benefits from the use of the system).[15] For example, when user "Joe" withdraws cash from his account, he is operating the Automated Teller Machine and obtaining a result on his own behalf.
Cockburn advises to look for actors among the stakeholders of a system, the primary and supporting (secondary) actors of a use case, the system under design (SuD) itself, and finally among the "internal actors", namely the components of the system under design.
-
-
05 Aug 14
-
12 May 14
-
a list of steps, typically defining interactions between a role
-
The actor can be a human or an external system.
-
and a system, to achieve a goal
-
a common style to use
-
-
20 Apr 14
-
use case is a list of steps, typically defining interactions between
-
an "actor"
-
and a system, to achieve a goal
-
Actors must be able to make decisions, but need not be human
-
Actors are always stakeholders, but not all stakeholders are actors
-
Advantages
-
Limitations
-
-
12 Apr 14
-
There is no standard way to write the content of a use case, and different formats work well in different cases.
-
common style
-
Title: "goal the use case is trying to satisfy
-
Main Success Scenario: numbered list of steps
-
Extensions: separately numbered lists, one per Extension[
-
detailed structure
-
fully dressed
-
Casual
-
Design Scope
-
Goal levels
-
Goal Level
-
Example
-
summary
-
context
-
framework
-
answers
-
investigators
-
non-interaction
-
clarity
-
Clarity depends on the skill of the writer
-
complex
-
standard
-
ambiguous
-
dependency
-
over-emphasized
-
starting point
-
User story is agile, use case is not.
-
Product Backlog items are articulated in any way that is clear and sustainable.
-
simply contains items
-
use cases are not diagrams, they are text
-
complex and difficult
-
-
31 Mar 14
-
30 Sep 13
-
13 Aug 13
-
08 Aug 13
-
-
18 Jul 13
-
22 Mar 13
-
06 Jan 13
-
In Agile, simpler user stories are preferred to use cases.
-
-
31 Oct 12
-
Actors are always stakeholders, but many stakeholders are not actors, since they "never interact directly with the system, even though they have the right to care how the system behaves."[11] For example, "the o
-
-
09 Aug 12
-
18 Jul 12
-
Use case
-
-
11 Jul 12
Dante-Gabryell MonsonIn software and systems engineering, a use case (pronounced /juːs/, a case in the use of a system) is a list of steps, typically defining interactions between a role (known in UML as an "actor") and a system, to achieve a goal. The actor can be a human or an external system.
-
21 Feb 12
-
19 Sep 11
-
16 Aug 11
-
A use case in software engineering and systems engineering, is a description of steps or actions between a user (or "actor") and a software system which leads the user towards something useful.[1] T
-
might be a person or something more abstract, such as an external software system or manual process
-
helps developers determine which features to implement and how to gracefully resolve errors.[2]
-
The specific way use cases are used within the development process will depend on which development methodology is being used
-
use cases evolve in complexity and change in character as the development process proceeds
-
Use cases can be a valuable source of usage information and usage testing ideas.
-
"Each use case focuses on describing how to achieve a goal or a task
-
The degree of formality of a particular software project and the stage of the project will influence the level of detail required in each use case
-
Use cases should not be confused with the features of the system. One or more features (a.k.a. "system requirements") describe the functionality needed to meet a stakeholder request or user need (a.k.a. "user requirement"). Each feature can be analyzed into one or more use cases, which detail cases where an actor uses the system. Each use case should be traceable to its originating feature, which in turn should be traceable to its originating stakeholder/user request.
-
Use cases treat the system as a black box, and the interactions with the system, including system responses, are perceived as from outside the system.
-
This is a deliberate policy, because it forces the author to focus on what the system must do, not how it is to be done, and avoids making assumptions about how the functionality will be accomplished.
-
- Describe what the system shall do for the actor to achieve a particular goal.
- Include no implementation-specific language.
- Be at the appropriate level of detail.
- Not include detail regarding user interfaces and screens. This is done in user-interface design, which references the use case and its business rules.
A use case should:
-
three levels of detail in writing use case
-
- Brief use case -- consists of a few sentences summarizing the use case. It can be easily inserted in a spreadsheet cell, and allows the other columns in the spreadsheet to record priority, duration, a method of estimating duration, technical complexity, release number, and so on.
- Casual use case -- consists of a few paragraphs of text, summarizing the use case.
- Fully dressed use case -- a formal document based on a detailed template with fields for various sections; and it is the most common understanding of the meaning of a use case. Fully dressed use cases are discussed in detail in the next section on use case templates.
-
The larger and more complex the project, the more likely that it will be necessary to use detailed use cases.
-
The level of detail in a use case often differs according to the progress of the project. The initial use cases may be brief, but as the development process unfolds the use cases become even more detailed.
-
An actor specifies a role played by a person or thing when interacting with the system.
-
A use case defines the interactions between external actors and the system under consideration to accomplish a goal.
-
The same person using the system may be represented as different actors because they are playing different roles
-
- Primary Actor - Fulfills the user goals by using the services of the SuD (System Under Discussion). Ex: 'Cashier' in a Process Sale System.
- Secondary Actor - Provides a service to the SuD. Ex: 'Automated payment authorization service'.
- Offstage Actor - Has an interest in the behavior of the system but is not primary or secondary. Ex: A government tax agency.
Types of Actors [7]
-
A system use case describes a system that automates a business use case or process.
-
The system use case details what the system will do in response to an actor's actions.
-
For this reason it is recommended that system use case specification begin with a verb (e.g., create voucher, select payments, exclude payment, cancel voucher). An actor can be a human user or another system/subsystem interacting with the system being defined.
-
Use case flows are not well suited to easily capturing non-interaction based requirements of a system (such as algorithm or mathematical requirements) or non-functional requirements (such as platform, performance, timing, or safety-critical aspects).
-
These are better specified declaratively elsewhere.
-
Use case developers often find it difficult to determine the level of user interface (UI) dependency to incorporate in a use case. While use case theory suggests that UI not be reflected in use cases, it can be awkward to abstract out this aspect of design, as it makes the use cases difficult to visualize. Within software engineering, this difficulty is resolved by applying requirements traceability through the use of a traceability matrix.
-
Use cases have received some interest as a starting point for test design.[8] Some use case literature, however, states that use case pre- and postconditions should apply to all scenarios of a use case (i.e., to all possible paths through a use case) which is limiting from a test design standpoint. If the postconditions of a use case are so general as to be valid for all possible use case scenarios, they are likely not to be useful as a basis for specifying expected behavior in test design. For example, the outputs and final state of a failed attempt to withdraw cash from an ATM are not the same as a successful withdrawal: if the postconditions reflect this, they too will differ; if the postconditions don’t reflect this, then they can’t be used to specify the expected behavior of tests. An alternative perspective on use case pre- and postconditions more suitable for test design based on model-based specification is discussed in
-
- Some systems are better described in an information/data-driven approach than in a the functionality-driven approach of use cases. A good example of this kind of system is data-mining systems used for Business Intelligence. If you were to describe this kind of system in a use case model, it would be quite small and uninteresting (there are not many different functions here) but the set of data that the system handles may nevertheless be large and rich in details.
[edit]
-
-
14 Jul 11
-
01 Dec 10
-
29 Apr 10
-
02 Mar 10
-
17 Feb 10
-
08 Dec 09
-
17 Nov 09
-
12 Nov 09
-
24 Oct 09
-
Sometimes it is better to use conditional logic or activity diagrams to describe use case with many rules and conditions.
-
-
21 Oct 09
-
13 Oct 09
-
11 Oct 09
-
17 Jul 09
-
14 Jul 09
-
30 Jun 09
-
Basic Use Case Template
-
"An Academic Survey on the Role of Use Cases in the UML"
-
Use case flows are not well suited to easily capturing non-interaction based requirements of a system
-
-
21 Apr 09
-
a use case describes "who" can do "what" with the system in question.
-
a use case describes "who" can do "what" with the system in question.
-
Use cases describe the system from the users point of view.
-
Use cases describe the interaction between a primary actor (the initiator of the interaction) and the system itself, represented as a sequence of simple steps.
-
One or more scenarios may be generated from a use case, corresponding to the detail of each possible way of achieving that goal.
-
Each use case describes how the actor will interact with the system to achieve a specific goal.
-
The UML use case diagram can be used to graphically represent an overview of the use cases for a given system
-
a use-case analysis can be used to develop the diagram.
-
Each use case focuses on describing how to achieve a goal or task.
-
A use case may be related to one or more features, and a feature may be related to one or more use cases.
-
A use case defines the interactions between external actors and the system under consideration to accomplish a goal.
-
system functionality level (for example, create voucher) and specify the function or the service system provides for the user
-
A system use case will describe what the actor achieves interacting with the system.
-
n some methodologies, they may begin as brief business use cases, evolve into more detailed system use cases, and then eventually develop into highly detailed and exhaustive test cases.
-
each use case should convey a primary scenario, or typical course of events, also called "basic flow",
-
-
19 Feb 09
-
07 Feb 09
-
Use cases describe the interaction between a primary Actor (the initiator of the interaction) and the system itself, represented as a sequence of simple steps.
-
Each use case describes how the Actor will interact with the system to achieve a specific goal.
-
“Use cases, stated simply, allow description of sequences of events that, taken together, lead to a system doing something useful.”
-
use cases became one of the most common practices for capturing functional requirements
-
A use case defines the interactions between external actors and the system under consideration to accomplish a goal.
-
Use cases may be described at the abstract level (business use case, sometimes called essential use case), or at the system level (system use case).
-
Use case templates
-
-
27 Nov 08
-
12 Nov 08
-
25 Oct 08
-
25 Mar 08
-
19 Mar 08
-
20 Jan 08
-
20 Dec 07
-
03 Oct 07
-
11 Sep 07
-
27 Jun 07
-
24 May 07
-
05 Jan 07
-
31 Jul 06
-
04 Jul 06
-
05 Jun 06
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.