18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space...
-
date post
21-Dec-2015 -
Category
Documents
-
view
212 -
download
0
Transcript of 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space...
![Page 1: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/1.jpg)
18 January
Writing a Functional Spec
![Page 2: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/2.jpg)
Administrivia
How many teams will want departmental web space vs links to your own space?
Please send me your CS ids Names for your projects
![Page 3: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/3.jpg)
The Plan Quick Pass on the Software
Engineering Process (next week) Context on what you are doing
Focus on specifics that you need for your deliverables
Back up to higher level discussions and more enterprise-oriented options
Today: toward the functional spec
![Page 4: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/4.jpg)
Software Engineering Fundamental Steps
Requirements Design Implementation Integration Test
![Page 5: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/5.jpg)
Requirements Analysis To build something, we first must
understand what it is we’re building
Establish expectations Understandable by both the client
and the developer
![Page 6: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/6.jpg)
Why Written Requirements? Unambiguous Defines goals Cost of finding a requirements bug
later can be 100 times more expensive ‘99 weather satellite where used
wrong units (metric vs. feet)
![Page 7: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/7.jpg)
Our Requirements Phase
What does the client want to do? User stories – his (or her) terms Use cases – your terms
Extract the essence: requirements Translate to a system: functional
spec
![Page 8: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/8.jpg)
Talking to the client Active listening
Restate what you hear How to extract information
Ask them to “tell stories” Focus on the interface: that’s what
the user sees Start the design process with the
customer Draw pictures!
![Page 9: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/9.jpg)
User Requirements
Identify the user groups Understand their goals Determine the total user experience How users perform their tasks now
Task and goal descriptions, importance ranking, strategies, measures, and targets
Stories and scenarios describing how they currently perform their tasks
![Page 10: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/10.jpg)
User Requirements - Persona A description of a fictitious user representing a
distinct user group User groups are based on unique goals Each persona represents a unique set of goals for
design Personas help direct the design
Allow designers to focus on people’s needs and differences
Skills, motivations, emotions, behaviors Use each persona as though it were a real person
“What would Jackie do if …”
![Page 11: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/11.jpg)
Persona excerpt from hotel reservation system
Persona: Robert
“Everything had best run like clockwork.” – Robert
Robert – Director of Field Operations Company: Stewart Auto Glass Citizen of Great Britain 45 years old Degrees: BS Industrial Engineering Personal concerns: being responsible and do everything with integrity Corporate concerns: transforming Stewart Auto Glass into a premier auto industry supplier Robert is responsible for all field operations, including glass installation at fourteen auto manufacturer’s plants as well as the over 350 nationwide auto-glass retail outlets owned by Stewart Auto Glass. Robert loves the highly active work environment and the demands of the job. He thrives on rapid-fire situation management, in which he demonstrates his quick analytic ability and decisive management style. Robert travels frequently and expects the same degree of precision, reliability, and integrity from the travel industry as he expects from himself and his own organization. He is a discerning and demanding business traveler. He and his wife are avid golfers and he sometimes combines pleasure with his business duties, but always after all business has been successfully completed. He shoots in the high 70’s, making a point of being very good at whatever he chooses to undertake, in business as well as his personal life.
![Page 12: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/12.jpg)
Story excerpt Scenarios / stories that clearly communicate and demonstrate the users’ requirements Business Traveler: Robert makes a hotel reservation Robert needs to be in Boston for a two-day business meeting. Robert travels frequently, typically several times a month, but he's still conscientious about finding discounted flights and cars whenever possible. He won't bend on the hotel though, even if a discount is available. He likes his comfort, and will pay for it. Robert has traveled to the same seven cities for about four years, and has developed a routine. He has a favorite airline and hotels in each city. He always stays at high-end hotels, usually in rooms with in-room business facilities. He usually rents a car but will take a taxi if the weather is going to be bad. Robert typically prefers to make his own reservations via the Web - he’s a stickler for having everything go exactly as planned, and he doesn’t quite trust that a travel agent will be as exacting as he is. Robert finds a few free minutes at the office, so he accesses the ExpressTravel Web site, which is the one he usually uses. For some reason, the Web site is down, so he goes to the UTravel Web site. He doesn't like this Web site as much and has only used it once before, but, at this point, he has no option. He needs to get his reservations made. On the home page he takes advantage of the “create your own trip” window and types in his departure and arrival city, dates of travel and preferred departure and return times. Robert clicks the small icon of the calendar to check the exact dates of his trip. He is asked to specify if he has a preferred airline, class of travel, a preferred time of day, number of travelers, and number of connections preferred. After typing in all of this information, he clicks the Search button. He's frustrated because the next page tells him there are several matches for Chicago, IL airports and he needs to specify the correct airport. He clicks on ORD then he clicks on the "Search Now" lin
![Page 13: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/13.jpg)
User Interfaces as a Requirements-Gathering Tools
User Knowledge and experience Age and gender Physical handicaps Characteristics of tasks and jobs Psychological characteristics
Function Menu design: what’s the natural order? Types of controls: what’s the natural
mechanism?
![Page 14: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/14.jpg)
Use Cases
A statement of the functionality users expect and need, organized by functional units
Functional units are any natural division
Relationships between user roles and use cases
User activities, decisions, and objects involved
![Page 15: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/15.jpg)
Documenting Use Cases
UML diagrams are often used Requires tools Will discuss later, not use for now
We will use simple text description Examples from last year
Butterfly Lab Foreign Language Resource Center
![Page 16: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/16.jpg)
A requirement must be … documented expressed precisely expressed as what, not how prioritized
essential, desirable, optional primary, secondary, tertiary
testable
![Page 17: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/17.jpg)
The set of requirements must be…
ConsistentThree requirements:
Only basic food staples will be carried Everyone will carry water Basic food staples are flour, butter, salt, and
milk
CompleteThe function tells whether 3 numbers produce an equilateral, isosceles, or scalene triangle.
![Page 18: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/18.jpg)
Types of Requirements Functional: services that the
application must provide Performance: speed, capacity, memory Reliability and availability: failure rates Error handling: how to handle Interface: user and program Constraints: systems or tolerances (Inverse requirements: what it won’t
do)
![Page 19: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/19.jpg)
Requirement Level Often addressed in two phases
Customer level Developer level (will visit later)
Once agreement exists with customer, developer “translates” them into his language
Example User must never lose more than 10 minutes of
work Autosaving is required
![Page 20: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/20.jpg)
Sources of requirements People
Broad range of stakeholders Conflicting requirements Wants and needs Helping the customer articulate the
requirements: use cases Hardware constraints
Laws of physics and nature Social responsibility
![Page 21: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/21.jpg)
Sources of Requirements: People vs. Other
(Brackett, CMU)
Relatively highRelatively low % of requirements gathered from people
Typ
e of
ap
plic
atio
n
highly constrained
unconstrained
missile guidance system
flight control system for airliner
enhancement to corporate accounting system
manufacturing control system
corporate accounting system
video game
decision support system for military tactics
![Page 22: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/22.jpg)
What is a Functional Spec? Describes the features of the software
product Describes the product's behavior as
seen by an external observer Contains the technical information and
data needed for the design Defines what the functionality will be,
but not how it will be implemented Brooks’s architecture
![Page 23: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/23.jpg)
What is an Architecture? Complete and detailed
specification of the user interface(Brooks, The Mythical Man-Month)
Architecture: what happens; implementation: how it is made to
happen(Blauuw)
![Page 24: 18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.](https://reader030.fdocuments.us/reader030/viewer/2022032521/56649d605503460f94a40cf9/html5/thumbnails/24.jpg)
Architecture Example Non-digital clock Architecture = {face, hands, running
mechanism} Implementations = watch, grandfather
clock, wall clock, …