17 january requirements. the plan quick pass on software engineering just enough context start with...
DESCRIPTION
Software Engineering Overview What is engineering? Why is software engineering different than other engineering disciplines? Is software engineering different than computer science? programming? How similar or different are software engineering projects?TRANSCRIPT
17 January
Requirements
The Plan Quick Pass on Software
Engineering “Just enough” context
Start with what you need for your first deliverables
Back up to more depth and more enterprise-oriented options
Today: toward the functional spec
Software Engineering Overview What is engineering? Why is software engineering different
than other engineering disciplines? Is software engineering different than
computer science? programming?
How similar or different are software engineering projects?
Engineering Turning ideas into reality
Creating something usefulfrom other thingsusing science and math
Software Engineering vs. Other Engineering Disciplines Maturity
Roman aqueducts 2000 years ago Software engineering 50 years ago
Startup costs Barriers to entry
Rate of change
Different Types of Projects Consider 4 different types of systems
COMP 523 projects Productivity suites Commercial web sites Airplane systems Pacemakers
How do they differ in criticality? What does that mean for the
development process?
Software Engineering Fundamental Steps Requirements Design Implementation Integration Test Deployment Maintenance
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
Requirements
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)
Our Requirements Phase What does the client want to do?
User stories – his (or her) terms Use cases – your terms
Extract the essence: requirements Requirements document as a tool This product should …
Translate to a system: functional spec
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!
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
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 …”
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.
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?
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
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 prior years
Butterfly Lab Foreign Language Resource Center
A requirement must be … documented expressed precisely expressed as what, not how prioritized
essential, desirable, optional primary, secondary, tertiary
testable
The set of requirements must be… Consistent
Three 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.
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)