Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 18 January Writing a Functional Spec

2 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

3 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

4 Software Engineering Fundamental Steps Requirements Design Implementation Integration Test

5 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

6 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)

7 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

8 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!

9 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

10 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 …”

11 Persona excerpt from hotel reservation system

12 Story excerpt

13 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?

14 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

15 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

16 A requirement must be … documented expressed precisely expressed as what, not how prioritized essential, desirable, optional primary, secondary, tertiary testable

17 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 Complete The function tells whether 3 numbers produce an equilateral, isosceles, or scalene triangle.

18 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)

19 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

20 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

21 Sources of Requirements: People vs. Other (Brackett, CMU) Relatively highRelatively low % of requirements gathered from people Type of application 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

22 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

23 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)

24 Architecture Example Non-digital clock Architecture = {face, hands, running mechanism} Implementations = watch, grandfather clock, wall clock, …


Download ppt "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."

Similar presentations


Ads by Google