Why Written Requirements?  Unambiguous  Defines goals  Cost of finding a requirements bug later can be 100 times more expensive.

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

Karolina Muszyńska Based on:
Systems Analysis and Design, 7e Kendall & Kendall
SYS366 The Last Stage in Analysis: System Use Case Descriptions created through the Use Case Authoring Process.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Object-Oriented Analysis and Design
8 September Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams.
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
30 August Common Mistakes  Over committing (“big eyes”)  Unrealistic schedules Training Access to people or materials Hours in the day  Level.
Chapter 15: System Modeling with UML
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Documenting Requirements using Use Case Diagrams
Designing a System 4 October Beyond the Technology What will be implemented – external view –“glossy” brochure –Use cases and user types Translation.
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.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
Modeling System Requirements with Use Cases
Ch 5 Specification page 1CS 368 Context Specification one of the most commonly cited reasons for an IT project failure is unclear objectives and requirements.
Use Case Modeling.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
Unified Modeling Language
Diane Pozefsky. Engineering  Turning ideas into reality  Creating something useful from other things using science and math.
Requirements Analysis
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Systems Analysis and Design in a Changing World, 6th Edition
3 September Engineering  Turning ideas into reality  Creating something useful from other things using science and math.
21 August Agenda  Introductions  Logistics  Selecting a project  Working with a client.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Interaction Design CMU. Today’s objectives Continue Design approaches (UCD, ACD)  User-Centered Design  Activity-Centered Design.
Requirements Documentation CSCI 5801: Software Engineering.
1 Knowledge & Knowledge Management “Knowledge is power” to “Sharing K is power” Yaseen Hayajneh, PhD.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Session # 3 Prepared by: Amanullah Quadri. Rational Software Modeler and Eclipse  Development Platform integrated with Eclipse.  Results in a richer.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Systems Analysis and Design in a Changing World, 6th Edition
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Spring 2007 Week 10: Object Modeling (1)Use Case Model IFS410: Advanced Analysis and Design.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 What to do if you want to build a new house? › Buy a bunch of wood and nails and start immediately. › Or, put some blueprints to follow, and plan of.
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.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Team Skill 3 - Defining the System (Chapters of the requirements text ) Sriram Mohan 1.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
 System Requirement Specification and System Planning.
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.
Classifications of Software Requirements
Week 10: Object Modeling (1)Use Case Model
Client communication.
UML: Unified modeling language
Chapter 9 Use Cases.
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Applying Use Cases (Chapters 25,26)
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Why Written Requirements?  Unambiguous  Defines goals  Cost of finding a requirements bug later can be 100 times more expensive

Mars Climate Orbiter (Dec 98)  Intended to orbit Mars  Supposed to provide output in newton seconds  Instead crashed into it  Instead provided in pound-force seconds Minimum distance: 80 km

From Client to Plan user stories and personasuse cases and user typesrequirementsfunctional specuser manual and plan

Fundamental Steps StepDocumentation  Requirements  Design  Implementation  Test  Deployment  Maintenance  Functional Spec  Design Document  Code  Test Plan  User Documentation  Design Document

Our Requirements Process Personas and User StoriesUser Types 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

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 drive User-Centered Design (UCD) Data-based personas  Microsoft Microsoft  Persona Power Persona Power

Persona excerpt (hotel reservation)

Purported Benefits of Personas  Establishes users’ goals and needs  Provides manageable set of users  Reduces gathering of user requirements  Focuses on what users will use  Prioritizes design efforts  Resolves disagreements over design decisions  Reduces usability tests

Fundamental Benefit  Makes it easier to reason about the person and predict how they might behave

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

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  Comes from agile programming model SHORT: fit on an index card Learn them from the client

User Types: Broad, easily described  Typically self-explanatory  Never more than a sentence or phrase  Casual user, new user, experienced user

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 types and use cases  User activities, decisions, and objects involved  In terms of user types: classifications that the system recognizes

Documenting Use Cases  UML diagrams  Simple text description

Use Case Diagram  Defines the outside view  Elements Actors (stick figures): anything outside the system that interacts with it Use cases (ovals): procedures by which the actor interacts with the system Solid lines: indicate how actors interact

Use Case Extensions  Dotted lines: show dependencies between procedures Includes (subroutine) Extends (variation)

Example of Use Case (customer name)

Use Case Usage  determining features (requirements)  basis for communicating with clients  generating test cases

Documenting Use Cases  We will use simple text description  Examples from prior years Butterfly Lab Foreign Language Resource Center