Intro to Software Requirements

Similar documents
CIS 890: Safety Critical Systems

Software Engineering - I

Requirement Analysis

Ch 4: Requirements Engineering. What are requirements?

REQUIREMENTS. Michael Weintraub Spring, 2016

Requirements Engineering Process

CS3500: Object-Oriented Design Fall 2013

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Delimited. Interfaced. Readable. Modifiable. Verifiable. Prioritized* Endorsed

Software specification and modelling. Requirements engineering

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

HITSP Standards Harmonization Process -- A report on progress

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering

Requirements engineering

Lecture 5: Requirements Specifications

Natural Language Specification

Requirements Validation and Negotiation

Chapter 4 Objectives

SEG3201 Basics of the Requirements Process

Mathematics and Computing: Level 2 M253 Team working in distributed environments

Lecture 7 (3-April-2013)

"Writing Higher Quality Software Requirements"

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Basics : the Requirements Engineering Process

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements Engineering. Version October 2016

Requirements Validation and Negotiation

DIY Technology Planning

Requirements Analysis. SE 555 Software Requirements & Specification

IT risks and controls

Rules of Writing Software Requirement Specifications

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

CSC Advanced Object Oriented Programming, Spring Specification

The software lifecycle and its documents

QA Best Practices: A training that cultivates skills for delivering quality systems

(Objective-CS605 Software Engeenring-II)

Requirements Management Made Simple - 5 Easy Steps

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Chapter 5 Practice: A Generic View

Requirements Engineering

Requirements-driven Verification Methodology for Standards Compliance Serrie-justine Chapman (TVS)

Software Requirements and the Requirements Engineering Process. Chapters 5 and 6

Chapter 9: Documenting the Requirements

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

CSC Advanced Object Oriented Programming, Spring Overview

Working with Health IT Systems is available under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported license.

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Quality Software Requirements By J. Chris Gibson

S1 Informatic Engineering

SOFTWARE REQUIREMENT SPECIFICATION TOOL KONG MENG YEOW

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Chapter 32. Aspect-Oriented Software Development (AOSD) Ian Sommerville 2006 Software Engineering. Chapter 32 Slide 1

Lecture 8 Requirements Engineering

Transition Plan. Data Center Operations Outsourcing. Implementation: Final. Ref: TR0007

UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

User-centered design and the requirement process

Elements of Requirements Style

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Requirements Gathering

JOURNAL OF OBJECT TECHNOLOGY

Elements of Requirements Style

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

(c) Addison Wesley Chapter 3. ! Interviewing customers and domain experts. ! Questionnaires. ! Observation. ! Study of documents and software systems

Software Engineering Unit 4- Requirement Analysis and Specification

Lecture 9 Requirements Engineering II

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 6 Slide 1

WHITE PAPER. Moving Fragmented Test Data Management Towards a Centralized Approach. Abstract

scope documents 5BDF94A36F1E9CDD4ABA26890BF8BCD3 Scope Documents 1 / 7

Workshop Item 1 - ISO 9001: 2008 migration

Prototyping. Lecture # 21

Human Error Taxonomy

COMP6471 WINTER User-Centered Design

IECEx Guide Guidance for Applications from Service Facilities seeking IECEx Certification

The 8 Characteristics of a good user requirements

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?

Requirements. CxOne Standard

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are

USTGlobal INNOVATION INFORMATION TECHNOLOGY. Using a Test Design Tool to become a Digital Organization

Chapter 5. Systems Analysis. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

UNIT II Requirements Analysis and Specification & Software Design

Standards Readiness Criteria. Tier 2

Agile Testing: Your Key to Better Software

Other Issues. Context

Software Construction

350 Index 2005 GOAL/QPC

Vragen. Use case analysis. Use-Cases: describing how the user will Use cases

Verification of Requirements For Safety-Critical Software

Requirements Engineering

2. Introduction to UML & Discussion of Related S.E.

Project Buzzwords. & Myths. Process. Managing CF Projects. Agenda. Project Buzzwords. Buzzwords - Process

IBD CERTIFICAÇÕES. Fair Trade Certification Step by step. Welcome to IBD!

Developing a Model for Cyber Security Maturity Assessment

Algorithms writing WRITING FOR COMPUTER SCIENCE ALGORITHMS XUE, LEI

Requirements Engineering. Materials: Pressman (chapters 8,9, 10, 11) Sommerville (Chapters 4, 5)

Requirements Engineering for Software Engineers

TIPSTER Text Phase II Architecture Requirements

Transcription:

Intro to Software Requirements What question do software requirements answer? Who, what, when, where, why, how What is the system to do? Who are the system user groups? Business case tells us why (and perhaps who, when, where). Project plan tells us when and who. Architecture tells us how.

Why do we care? Requirements issues are among the most common reasons cited for project failures and challenges Project Success Factors % of Responses 1. User Involvement 15.9% 2. Executive Management Support 13.9% 3. Clear Statement of Requirements 13.0% 4. Proper Planning 9.6% 5. Realistic Expectations 8.2% 6. Smaller Project Milestones 7.7% 7. Competent Staff 7.2% 8. Ownership 5.3% 9. Clear Vision & Objectives 2.9% 10. Hard-Working, Focused Staff 2.4% Other 13.9% Standish Group s Chaos Report (1995)

Why do we care? Project Challenged Factors % of Responses 1. Lack of User Input 12.8% 2. Incomplete Requirements & Specifications 12.3% 3. Changing Requirements & Specifications 11.8% 4. Lack of Executive Support 7.5% 5. Technology Incompetence 7.0% 6. Lack of Resources 6.4% 7. Unrealistic Expectations 5.9% 8. Unclear Objectives 5.3% 9. Unrealistic Time Frames 4.3% 10. New Technology 3.7% Other 23.0% Standish Group s Chaos Report (1995)

Why do we care? Cost of avoiding/fixing defects increases as project progresses Cheapest in requirements development Boehm s cost of fixing a defect curve Anecdote: Sprint LARS

IEEE Definition of Requirement IEEE Standard Glossary of SE Terminology 1. A condition or capability needed by a user to solve a problem or achieve an objective. 2. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document. 3. A documented representation of a condition or capability as in 1 or 2.

Other Definitions Weiger A property that a product must have to provide value to a stakeholder Sommerville and Sawyer A specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system. Any others?

Types of Requirements Discussion Question: Explain the difference between business, user, system, and functional requirements. What are nonfunctional requirements?

Types of Requirements Business High-level objectives of the organization or customer who requests the system Documented in a Vision and Scope document User User goals or tasks that the users must be able to perform with the product Use-cases often used to capture these Ex. Make a reservation System High-level requirements for a product that contains multiple subsystems

Types of Requirements Functional Specify the software functionality that the developers must build into the product to enable users to accomplish their tasks. Ex. The system shall mail a confirmation to the user Non-functional Quality attributes, performance goals, reliability, Ex. Reservation request submissions should receive a response in less than 10 seconds

Requirements Documents different organizations might call any of the following a requirements document : 1. Half-page software product vision Product Vision 2. Two page list of key features Feature List 3. 50 page list of detailed end-user-level requirements Functional Requirements Document 4. 250 page exhaustive listing of every visual element on every screen, input-field-by-input-field descriptions of all possible input conditions, all possible system state changes, detailed Functional Requirements description of every persistent data element, and so on Specification 1. McConnell, IEEE Software, Sept/Oct 2000, http://www.stevemcconnell.com/ieeesoftware/eic13.htm

Requirements Engineering Discussion questions: What is Software Engineering? How does Requirements Engineering fit with Software Engineering? Why do both include the word "engineering" and is this fair and appropriate? Recall Chaos report; why is requirements engineering hard?

Requirements Problems Insufficient User Involvement Creeping User Requirements Ambiguous Requirements Gold Plating Minimal Specification Overlooked User Classes Inaccurate Planning Discussion Questions: Have you seen any of these occur? What could have been done to avoid the problem?

Excellent Requirements Statements Complete, correct, feasible, necessary, prioritized, unambiguous, verifiable Specification Complete, consistent, modifiable, traceable Discussion Question: What would you add to the list?