Title: Team Skill 3 - Defining the System (Chapters 14-17 of the requirements text)
1Team Skill 3 - Defining the System(Chapters
14-17 of the requirements text)
2Outline
- Use Cases
- Organizing Requirements
- Vision Document
- Product Management
3Use Cases
4What is a Use Case?
- Sequences of actions
- Performed by system of interest
- Observable result of value to a particular actor
5Benefits
- Easy to write and read
- Think from the perspective of an user
- Provides a clear idea of the what and the how
- User involvement
6Use Case Model - Development Steps
- Identify the actors
- Identify the use cases
- Identify actor/use case relationships
- Outline use cases
- Refine use cases
71. Identify the Actors
- Who uses the system?
- Who gets/provides information from/to system?
- Who supports the system?
- What other systems interact with this system?
82. Identify the Use Cases
- What are the intentions of each actor with
respect to the system? - Give a descriptive name
- Start with an action verb
- Describes goal or intent
- Give a one-sentence description
93. Identify Actor/Use Case Relationships
- Draw a diagram showing relationships between
actors and use cases
Parent
Child
104. Outline Use Cases
- Describe sequence of events in basic flow (sunny
day scenario) - Describe sequences of events in alternate flows
(rainy day scenarios)
115. Refine Use Cases
- Describe sequences of events for flows
- Describe pre-conditions
- Describe post-conditions
- Fill in special requirements
12Use Case Template
- Name
- Brief description
- Actors
- Basic flow
- Alternate flows
- Pre-conditions
- Post-conditions
- Special requirements
13Microwave Example
Cook Food
User
14Cook Food Use Case Slide 1 of 4
- Name Cook Food
- Brief description User places food in microwave
and cooks it for desired period of time at
desired power level. - Actors User
15Cook Food Use Case Slide 2 of 4
- Basic flow
- User opens door and places food in unit
- User enters time for cooking
- User pushes start button
- Unit cooks food
- Unit beeps
16Cook Food Use Case Slide 3 of 4
- Alternate flows
- User cancels time before starting
- User cancels cooking before finished
- User selects reduced power level before pushing
start button
17Cook Food Use Case Slide 4 of 4
- Pre-conditions
- Unit is plugged in
- Unit is in ready state
- Post-conditions
- Food is cooked or user cancelled operation
- Special requirements
- Timer should display remaining time to finish
while cooking - Default power setting should be "high"
18Extending Use Cases
- Extend an existing use case instead of redefining
it
19Microwave Extension
ltltextendgtgt
User
20Including Use Cases
- Frequent sequences of events may be defined as
use cases - Including a use case is like calling a subroutine
21Microwave Inclusion
ltltincludegtgt
User
22Cook Food Inclusion
- Basic flow
- User opens door and places food in unit
- User performs Set Timer use case
- User pushes start button
- Unit cooks food
- Unit beeps
23Organizing Requirements Why?
- Complex system
- Member of a product family
24Organization Techniques
- Dividing requirements for complex systems into
subsystems - Product Families
- A series of products with closely related
requirements - Product lines a new way of viewing software
products - Investing in infrastructure to build product
families - Develop systematic approach to building flexible
application generators - Commonality analysis used to determine if use
of a product line will be beneficial
25Economics of Families
Cumulative
Product LineApproach
Cost
Number of Family Members
26Example Families
- Toyota automobiles and trucks
- IBM 360 computers
- Software?
27The Vision Document
28Lets start with some vision
This project would enable a user to share the
real-time contents and actions of their computer
screen with any remote user or group of users
- Do it first,
- Then the lessons might sound familiar
- Get out a blank sheet of paper and something to
write with. Put your name on it. - In 1 minute, verbally sketch your beliefs about
the story shown at right 2 years from now
What did it become? - Pass it to your left
- In 1 min, write your reaction to what you see
written Agree? - Return it to the author
From your project description.
29Purpose
- Comprehensive description of the product
- High level abstraction of the problem and the
solution. - Provides common goals and a common playbook.
30Vision Document Template
- Introduction
- User Description
- Product Overview
- Feature Attributes
- Product Features
- Exemplary Use Cases
- Other Product Requirements
- Documentation Requirements
- Glossary
31How does it start? How does it end?
- Starts like the exercise you just did
- Drawings and beliefs about the future
- Ends up like Figure 16-1, pp. 175-6
- How this project fits into the development teams
plans - Sample See Vision Doc Example file, under
Handouts ? - See Appendix A and E in the book
32So, do we have to do one of these for our project?
- Problem statement
- Use cases
- Supplementary spec
- Paper prototype
- Usability Study
- Code-based prototype
? ? ?
These are the major artifacts your team will be
responsible for delivering about the project
And now, for a taste of product management
33Product Management
34Rationale
- Every project needs an individual champion or a
small champion team to advocate for the product. - In a software products company, the product
manager plays the role of the champion. - The product manager drives the whole product
solution the application itself, support, user
conveniences, documentation, and the relevant
commercial factors. - The Product Manager does high-level tasks
- Listens to all the stakeholders
- Negotiates amongst them
- Manages and funds project people
- Communicates features and releases to the outside
world - Advocates the product to everyone
- Owns the vision statement!
- to help software teams build products that
customers want to buy
35Product Manager in the Hierarchy Chart
36Driving the Product Vision
37Maintaining the Road Map
38A Product Managers Day
- Plan scenarios in which products provide answers
These pieces make the product managers vision!
39Product Types from a Marketing POV
- There are two major variations
- A custom product for a particular customer or
small group of customers They often act
directly as external clients - A general product for a target market An
executive or the product manager is the internal
client for these future customers