8 September 2010. Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams.

Slides:



Advertisements
Similar presentations
User Experience Krista Van Laan. Agenda What is User Experience? How does a User Experience team support the rest of the organization? What processes.
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica Determining systems requirements Updated: September 2014.
Agile Project Management with Scrum
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Requirements Specification
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Design and Evaluation of Iterative Systems n For most interactive systems, the ‘design it right first’ approach is not useful. n The 3 basic steps in the.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Designing a System 4 October Beyond the Technology What will be implemented – external view –“glossy” brochure –Use cases and user types Translation.
Overview of Software Requirements
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.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
© Copyright Eliyahu Brutman Programming Techniques Course.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Introduction to Information System Development.
Chapter 4 Requirements Engineering
Diane Pozefsky. Engineering  Turning ideas into reality  Creating something useful from other things using science and math.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
3 September Engineering  Turning ideas into reality  Creating something useful from other things using science and math.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
COMP 523 DIANE POZEFSKY 19 August CHAOS REIGNS.
21 August Agenda  Introductions  Logistics  Selecting a project  Working with a client.
INFO3315 Week 4 Personas, Tasks Guidelines, Heuristic Evaluation.
Software Engineering Management Lecture 1 The Software Process.
1 UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard Podeswa Instructor: Mrs. Eman ElAjrami 2008 University.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Why Written Requirements?  Unambiguous  Defines goals  Cost of finding a requirements bug later can be 100 times more expensive.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
3 September Sources of requirements  People Stakeholders ○ Who are the stakeholders? Issues: ○ Conflicting requirements ○ Wants vs. needs Helping.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Systems Development Life Cycle
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Requirements Analysis
WORKING WITH A CLIENT 22 August THE GOALS Common understanding Concept Capabilities Users Communications Expectations.
17 January Requirements. The Plan Quick Pass on Software Engineering “Just enough” context Start with what you need for your first deliverables Back up.
Software Engineering Overview 23 January. Software Engineering Overview What is engineering? Why is software engineering different than other engineering.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
 System Requirement Specification and System Planning.
What is a Functional Spec?  Defines what the functionality will be NOT how it will be implemented  Describes features of the software product product's.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Requirements sprint.
Software Engineering Management
Classifications of Software Requirements
CMPE 280 Web UI Design and Development August 29 Class Meeting
Unified Modeling Language
Client communication.
CSC480 Software Engineering
Requirements Analysis
For University Use Only
Copyright 2007 Oxford Consulting, Ltd
Object-Oriented Software Engineering
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

8 September 2010

Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams and Dates Coming Soon  Meetings This Week Need to Reschedule Friday Morning

Requirements Design Implementation Test Deployment Maintenance Fundamental Steps

Process Personas and User StoriesTypes and Use CasesRequirements

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 Active listening Restate what you hear NOT “I hear you”  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!

Understanding Users  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 Characterization  Knowledge and experience  Age and gender  Physical handicaps  Characteristics of tasks and jobs  Psychological characteristics

Personas  A description of a fictitious user representing a distinct user group User groups are based on unique characteristics Each persona represents a unique set of goals for design  Personas help direct the design Will cover later

User Stories  Comes from agile programming model  SHORT: fit on an index card  Learn them from the client

Why User Stories  From the USER’s perspective Capture what the user is trying to do  Different stories may trigger same function BUT different concerns, sequences, constraints  Examples Same user planning a trip for business or pleasure Or buying an item for himself or as a gift

Using UIs with the Client  User: what will they expect?  Function: is anything missing?  Menu design: what’s the natural order?  Types of controls: what’s the natural mechanism?

Generalizing to Use Cases  A statement of the functionality users expect and need, organized by functional units  Different from user stories because they are from the software’s perspective  Functional units are any natural division  Relationships between user roles and use cases  User activities, decisions, and objects involved  In terms of user types: classifications that the system recognizes

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

Types of Requirements  Functional : services needed  Usability : how easy it is to do it  Performance: speed, capacity, memory  Reliability and availability: failure rates  Error handling: how to handle  Interface: user and program  Constraints: systems and tolerances  (Inverse: what it won’t do)

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

Requirement Level  Two phases Requirements written at customer level Developer will convert in order to do design  Once agreement exists with customer, developer “translates” them into his language  Example Customer: User must never lose more than 10 minutes of work Developer: Autosaving is required

Expectations of Software Engineering 1. Predetermine quantitative quality goals 2. Accumulate data for use in later projects 3. Keep all work visible 4. Design, program and test only against requirements 5. Measure and achieve quality goals Watts Humphrey

Keeping Work Visible: Documentation  What will be implemented Customer: contract, requirements, “glossy” User: manuals  How it will be implemented Project plan  The code  The test plan  What people will do  How you will manage code and documents

Documentation Principles  Need to reflect changes Not just change, but CAPTURE change Version control  Need to keep all documents synchronized Only say it once  Danger of shared ownership: If many own, no one owns  Practical consideration: Responsibility vs. authority

What is a Functional Spec?  Defines what the functionality will be NOT how it will be implemented  Describes features of the software product product's behavior as seen by external observer  Contains technical info and data needed for design

Why a Spec?  Allows you to communicate with your client and users  Easier to change than code  Basis for schedule  Record of design decisions

What’s in a Functional Spec?  Overview  Use cases (scenarios)  Interfaces: anything the USER sees or uses  As much as you know  Note: your functional spec should go through multiple iterations

What needs to be in the plan?  All Deliverables  Code  Design  Test  Documentation  Learning  Presentation and demo prep  Reviews