Software Requirements

Slides:



Advertisements
Similar presentations
Slide 1 Shall Lists. Slide 2 Shall List Statement Categories  Functional Requirements  Non-Functional Requirements.
Advertisements

Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Object-Oriented Analysis and Design
SE 555 Software Requirements & Specification Requirements Quality Attributes.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
SE 555 – Software Requirements & Specifications Introduction
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Managing Software Quality
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1Welcome! Rational Requirements Management.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Technology for a better society TDT4140 Software Engineering : 1 Experiences from Requirements Engineering: Coping with requirements in large,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
IT Requirements Management Balancing Needs and Expectations.
Software Testing and Quality Assurance Software Quality Assurance 1.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Requirements CS121 Spring Administrivia new student: Guillermo artist: Jackie Wijaya.
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirements Engineering Requirements Validation and Management Lecture-24.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
Software Engineering Lecture 10: System Engineering.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
 System Requirement Specification and System Planning.
The Quality Gateway Chapter 11. The Quality Gateway.
Chapter 2 Object-Oriented Paradigm Overview
CompSci 280 S Introduction to Software Development
Chapter 4 – Requirements Engineering
Software Engineering Process
Requirements Engineering Process
Evolutionary requirements
(Professional Business Analyst Training organisation)
Lecture 2 Developing Requirements
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Requirements Validation – II
Software testing
Software Requirements
Software Requirements
Software Engineering Process
Requirement Engineering
Software Requirements analysis & specifications
UNIT II.
Introduction to Software Testing
Chapter 2 Software Processes
Requirements Analysis
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Evolutionary Requirements
Chapter 6: Principles of Requirements Analysis
Software Requirements
Software Engineering Process
Planning and Estimation.
Software Requirements
Lecture # 7 System Requirements
Domain Modeling.
Topic 9: Requirements Definition and Prioritisation
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Software Requirements
Software Engineering Process
Planning and Estimation.
Presentation transcript:

Software Requirements http://flic.kr/p/6sdZDR Software Requirements

SWEBOK Knowledge Areas Today’s topic Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Models and Methods Software Quality Software Engineering Professional Practice Software Engineering Economics Computing Foundations Mathematical Foundations Engineering Foundations

Recall what customers want... Software that Meets their needs, On time, and On budget Requirements!

Software Requirements "express the needs and constraints placed on a software product that contribute to the solution of some real-world problem" Source: SWEBOK Version 3.0

Requirements Problems Missing requirements Incorrect requirements Ambiguous requirements Conflicting requirements Untestable requirements Changing requirements Being overwhelmed by scale ("bag of leaves") Loss of traceability

Software Requirements SWEBOK Knowledge Area Elicitation: Where to get them, how to gather Analysis: Categorizing, modeling, resolving conflicts Specification: Documenting Validation: Checking correctness Management: Coping with change, traceability Source: SWEBOK Version 3.0

Types of Requirements Functional: "functions that the software is to execute" AKA capabilities or features Non-functional: "act to constrain the solution" AKA constraints or quality requirements Source: SWEBOK Version 3.0

Non-functional requirements FURPS Classification Functional: features, capabilities, security Usability: human factors, help, documentation Reliability: frequency of failure, recoverability, predictability Performance: response times, throughput, accuracy, availability, resource usage Supportability: adaptability, maintainability, internationalization, configurability Non-functional requirements AKA the "-ilities"

Two Key Problems for Today Figure out what features the customer wants Not make false/incorrect assumptions Chunk work into bite-sized pieces So work can be divided up So system can be built incrementally So estimates are remotely accurate

User Stories (USs) “... a chunk of functionality (some people use the word feature) that is of value to the customer.” http://flic.kr/p/884GBP Source: Kent Beck & Martin Fowler, Planning Extreme Programming

Flight-Booking System Example Two parts: title and description

US Description Template As a <who>, I want <what> so that <why>. Examples As a user, I want to backup my entire hard drive so that I won't lose data if my system breaks. As an Editor, I want to review content before it is published so that I can assure it is optimized with correct grammar and tone. As a Content Owner, I want to be able to create product content so that I can provide information and market to customers.

Description Examples: Who and What

US Title Template: Verb + Noun

User Story Dos & Don’ts Do... Don't... Describe one thing that the software needs to do for the customer Include what essentially amount to groups of features (even if all are related) Use language that the customer understands Use technical terms that are unfamiliar to the customer Ensure "written by the customer" (at least figuratively speaking) Invent requirements that the customer never actually asked for Keep short – generally no more than three sentences Write a long essay Capture only requirements (not design) Mention specific implementation technologies or user-interface elements Principle: Keep requirements customer-oriented

Summary Requirements problems Requirements types User stories US title and description templates Qualities of good USs http://flic.kr/p/aCLor3