version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

Similar documents
REQUIREMENTS ENGINEERING

Requirements Engineering

! To solve problems. ! To take up new opportunities. ! Requirements - descriptions of. " Behavior. " Data. " Constraints (eg. cost and schedule)

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering

Introduction to Software Engineering

Evolutionary Differences Between CMM for Software and the CMMI

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Requirements Engineering: Part I. Software Requirements & Project Management CITS3220

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs.

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

CMMI for Acquisition Quick Reference

Global Journal of Engineering Science and Research Management

Requirements Elicitation

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

Engineering. CMMI for Development V.1.2 Module 3. M03/Engineering/v1.2

Test Workflow. Michael Fourman Cs2 Software Engineering

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Business Analysis Essentials

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

Business Analysis for Practitioners - Traceability and Monitoring (Domain 4)

Biometrics Enterprise Architecture Systems Engineering Management Plan (BMEA SEMP)

Quizzes for 1 st Study Group Session

TOPIC DESCRIPTION SUPPLEMENT for the SYSTEMS ENGINEERING SURVEY DESCRIPTION

7. Project Management

Core Design Requirements At the start of a project, it is important to specify those parameters and properties that:

CMMI Version 1.2. Model Changes

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

Introduction and Key Concepts Study Group Session 1

CSEB233: Fundamentals of Software Engineering. Software Requirements Part 1 Understanding Requirements Engineering

Requirements Engineering. Massimo Felici Room 1402, JCMB, KB

Requirements Verification and Validation

CMMI V2.0 MODEL AT-A-GLANCE. Including the following views: Development Services Supplier Management. CMMI V2.0 outline BOOKLET FOR print.

Quizzes for 1 st Study Group Session

COMPLIANCE WITH THIS PUBLICATION IS MANDATORY

Requirements Engineering Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1

7. Model based software architecture

AUTOMOTIVE SPICE v3.1 POCKET GUIDE

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Software Architecture and Engineering Requirements Elicitation Peter Müller

Certified Business Analysis Professional - Introduction

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

USAF Software Technology Support Center (STSC) STSC SPI Help Desk COM , DSN

CSE 435 Software Engineering. Sept 14, 2015

CMMI for Services Quick Reference

ADM The Architecture Development Method

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

SOFTWARE SYSTEM ENGINEERING: A TUTORIAL

Software Architecture and Engineering Requirements Elicitation Peter Müller

Exam Questions OG0-091

Engineering Process Transformation driven by Use Cases.

Next Generation Design and Verification Today Requirements-driven Verification Methodology (for Standards Compliance)

Requirements Analysis and Specification. Importance of Good Requirements Analysis

DO-178B 김영승 이선아

Software Engineering II - Exercise

making money from customer use of kiosk attracting more customers to the store saving money if the kiosk replaces manual operations

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Software Processes 1

Requirement Engineering. L3 The requirement study. Change is constant. Communication problem? People are hard to understand!

Bruce A. Boyd Associate Technical Fellow The Boeing Company. Copyright 2005 The Boeing Company. 26 October 2005 NDIA Systems Engineering Conference

Introduction and Key Concepts Study Group Session 1

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Syllabus. REQB Certified Professional for Requirements Engineering. Advanced Level Requirements Manager

NDIA Test and Evaluation Conference

Comparison Matrix ISO 9001:2015 vs ISO 9001:2008

Software Project & Risk Management Courses Offered by The Westfall Team

TOGAF 9.1 in Pictures

APPENDIX O CONTRACTOR ROLES, RESPONSIBILITIES AND MINIMUM QUALIFICATIONS

The software process


Summary of TL 9000 R4.0 Requirements Beyond ISO 9001:2000

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Project Management Methodology. Construct & Unit Test SubPhase

Requirements Engineering and Software Architecture Project Description

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

Research on software systems dependability at the OECD Halden Reactor Project

Cintipation Corp. CORINTHIAN PROJECT Policy for Requirements Management

Quality Manual ISO 9001:2008 ISO 9001:2015

Organising Requirements

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Requirements Elicitation. Software Requirements & Project Management CITS3220

Questions on Business Analysis Planning and Monitoring. analysis plan is compatible with the project plan?

Chapter 6. Software Quality Management & Estimation

SWE 211 Software Processes

IIBA Global Business Analysis Core Standard. A Companion to A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 3

Requirements Validation and Negotiation

Independent Verification and Validation (IV&V)

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Requirements Engineering with Use Cases

Chapter 2: Project Methodologies and Processes

Járműipari kutatás és fejlesztés folyamata

Requirements elicitation: Finding the Voice of the Customer

Chapter 3 Prescriptive Process Models

Transcription:

Requirements Engineering SE Tutorial RE - 1

What Are Requirements? Customer s needs, expectations, and measures of effectiveness Items that are necessary, needed, or demanded Implicit or explicit criteria that must, should, or might be met Contain system and software information Should not contain details regarding the internal implementation of a solution May be derived from other requirements during analysis, operational concept and operational scenarios development SE Tutorial RE - 2

What Are Requirements? - 2 Description of the services the system is to provide Description of how the system should behave Description of the circumstances under which it is required to operate Application domain information Constraints on the system s operations Specifications of a system property or attribute Constraints on the development process of the system SE Tutorial RE - 3

Requirements might describe: What Are Requirements? - 3 A user-level facility the word processor must include a spell checker and correction command A very general system property the system must ensure that personal information is never made available without authorization A specific constraint on the system the sensor must be polled 10 times per second SE Tutorial RE - 4

What Are Requirements? - 4 Requirements might describe: - continued How to carry out some computation the overall mark is computed by adding the student s examination, project and coursework marks based on the following formula TotalMark = ExamMark + 2* ProjectMark + 2/3 * CourseworkMark A constraint on the development of the system the system must be developed using the Ada programming language SE Tutorial RE - 5

What Are Requirements? - 5 Requirements invariably contain a mixture of Problem information Statements of system behavior Systems properties Design constraints Manufacturing constraints This can and normally does result in conflicts that must be negotiated and resolved SE Tutorial RE - 6

Sources of Requirements Customer Marketing Surveys Systems Engineering Existing Systems, Specifications Standards Industry Studies Academic Research SE Tutorial RE - 7

Sources of Requirements - 2 Prototyping Simulation Quality Assurance Group Configuration Management Group SE Tutorial RE - 8

Requirements Categories or Types Business Requirements Business requirements are the reason for developing systems and software in the first place. Business requirements are the essential activities of an enterprise Business requirements are derived from business goals or objectives The extent to which the system supports the business requirements and facilitates an organization in achieving them is a key factor for the success of that system If the systems we build do not support the business requirements effectively and efficiently, they have no reason for being -- Businesses exist to make money! SE Tutorial RE - 9

Requirements Categories or Types - 2 System-Level Requirements System-level requirements are foremost in importance, captures the vision of the customer, enables defining the scope of the system, and allows estimating the cost and schedule required to build the system Functional Requirements Functional requirements describe what the system must do. Functional requirements are sometimes called behavioral or operational requirements because they specify the inputs to the system and the outputs from the system and the behavioral relationships between them. SE Tutorial RE - 10

Requirements Categories or Types - 3 Design Requirements & Design Constraints For many systems, design requirements / constraints appear at the beginning of the system formulation New systems are often installed in environments that already have other systems that constrain the design of the new system Example A design constraint may be that the system to be developed must obtain its information from an existing database For reasons of budget, schedule, or quality, an organization may wish to reuse some or all existing software systems in the implementation of a new system This constrains both the requirements and the design SE Tutorial RE - 11

Requirements Categories or Types - 4 If a system has to be approved by an external regulator, it may be necessary to use standard certified design that has been tested in other systems The system s user interface shall be implemented using a World-wide Web browser. SE Tutorial RE - 12

Requirements Categories or Types - 5 Performance Requirements Performance requirements define how well the functional requirements must perform. Performance requirements must be defined in quantifiable terms and avoid such terms as: Fast Slow Regular Dependable Reliable The system shall support at least 20 transactions per second SE Tutorial RE - 13

Requirements Categories or Types - 6 Interface Requirements Interface requirements represent the physical and functional relationships among system elements and between system elements and the system environment Interface requirement may be specified by the customer Interface requirements will come out of the architecture specification Interface requirements will be dictated by COTS products that are integrated into the system SE Tutorial RE - 14

Requirements Categories or Types - 7 Product Requirements Product requirements define the technical criteria that must, should, or might be met by the delivered product Project Requirements Project requirements stipulate resources that will be made available, and how different aspects of the project will be carried out Process Requirements Process requirements indicate standards, procedures, methods, languages,... SE Tutorial RE - 15

Requirements Categories or Types - 8 Qualification Requirements Qualification requirements refer to the verification and validation of item performance in a specific application and results from design review, test data review, and configuration audits Environmental Requirements Environmental requirements result from the physical setting and social and cultural conditions of the system development effort and the setting in which the system will be used SE Tutorial RE - 16

Requirements Categories or Types - 9 Non-Functional Requirements Nonfunctional requirements or Quality Factors refers to characteristics the system exhibits when placed in the operational environment. These quality factors are also referred to as the Illities and include: Maintainability Expandability Usability Testability Reliability.. SE Tutorial RE - 17

Hierarchy of Requirements Customer or Market Needs System or Product Requirements Hardware Requirements Software Requirements Services Requirements Process Requirements People Requirements SE Tutorial RE - 18

Requirements Lifecycle Raw Requirements Organized Requirements Analyzed Requirements Complete User Requirements SPECS The User Elicitation Phase Organization Phase Analysis Phase Prototype Phase Transform to Specification SE Tutorial RE - 19

Requirements Engineering Discovering, documenting, baselining, and maintaining a set of requirements for a computer-based system Requirements Engineering implies that systematic and repeatable techniques should be used to ensure that the system requirements are complete, consistent, relevant, etc. SE Tutorial RE - 20

Requirements Engineering - 2 Requirements Engineering topics include: Elicitation Analysis Specification Review Traceability Management Change Requests Impact Analysis Verification Validation SE Tutorial RE - 21

Requirements Development SE Tutorial RE - 22

Customer, Product, and Product Component Requirements Quality Assurance End User Customer Requirements Operational Concept & Scenarios Marketing Customer Product and Product Component Requirements Derived Requirements Regulatory Agencies Independent Test Co-workers & Management Definition of Functionality Stakeholders SE Tutorial RE - 23

Customer, Product, and Product Component Requirements - 2 Quality Assurance End User Product Requirements Allocated to Functions H/W, S/W, Mechanical, Electrical, Engineering Marketing Services Regulatory Agencies Independent Test Customer Co-workers & Management Product and Product Component Requirements People Stakeholders Processes SE Tutorial RE - 24

Collecting and Translating Stakeholders Needs The needs, expectations, constraints, interfaces, operational concepts, and product concepts of all stakeholders are collected, analyzed, harmonized, refined, elaborated and translated into customer requirements Environmental, legal, regulatory and other constraints that may be external to the customer must also be applied when creating and resolving the set of customer requirements SE Tutorial RE - 25

Collecting and Coordinating Stakeholders Needs - 2 Stakeholders include: Customers End-users Developers Producers Testers Suppliers Marketers Maintainers Safety Regulation Agencies Managers SE Tutorial RE - 26

Elicitation Techniques Examples of techniques to identify and elicit Stakeholders needs include: Dialogue Scenario reviews Technology demonstrations Models Simulations Prototypes Brainstorming Observations of existing systems Extractions from sources such as documents, standards, and specifications SE Tutorial RE - 27

Generic Requirements Elicitation Process Establish objectives Understand background Organize knowledge Collect requirements Business goals Organizational structure Stakeholder identification Stakeholder requirements Problems to be solved Application domain Goal prioritization Domain requirements System constraints Existing systems Domain knowledge filtering Organizational requirements Gerald Kotonya and Ian Sommerville, Requirements Engineering, John Wiley and Sons, 1998 SE Tutorial RE - 28

Customer Requirements Customer requirements make up a common understanding of what will satisfy the stakeholders Customer requirements are analyzed to ensure that they are complete, realizable, and verifiable, consistent, and testable The analysis helps to determine what impact the intended operational environment will have on the ability to satisfy the stakeholder s needs, expectations, constraints and interfaces SE Tutorial RE - 29

Product and Product Component Requirements Product and product component requirements define what the system is required to do and the circumstances under which it is required to operate Product and product component requirements define the services that the product or product component should provide and establish constraints on how they will operate Product and product component requirements include technical requirements and the criteria that will be used to verify that the products satisfy the requirements SE Tutorial RE - 30

Product and Product Component Requirements - 2 The customer requirements are normally expressed in the customer s terms and may include non-technical descriptions Product requirements are the expression of those requirements in technical terms that can be used for design decisions Customer requirements are analyzed in conjunction with the development of the operational concept to derive a more detailed and precise set of requirements called product and product component requirements SE Tutorial RE - 31

Product and Product Component Requirements - 3 The analysis of requirements may produce derived requirements including: Constraints Implicit end-user issues Factors introduced by the developer s unique business considerations, regulations, and laws Requirements are allocated to functions, product components, product performance and design constraints including objects, people, and associated processes or services SE Tutorial RE - 32

Analyze Requirements During the iterative process of requirements analysis the following guidelines should be continuously applied: Analyze stakeholder needs, expectations, constraints, and external interfaces to remove conflicts and to organize into related subjects Analyze requirements to ensure that they are complete, feasible, realizable and verifiable Identify key requirements that have a strong influence on cost, schedule, functionality, risk, or performance Identify technical performance measures that will be tracked during the development effort SE Tutorial RE - 33

Interface Requirements Interfaces between functions must be defined and controlled as part of the product and product component integration As interface designs are defined, the design becomes a requirement for products and product components that are affected by the interface SE Tutorial RE - 34

Operational Concepts and Scenarios Scenarios and Operational Concepts are developed, analyzed, and reviewed to refine existing requirements and discover new requirements, needs, and constraints Scenarios are normally sequences of events that might occur in the use of the product Operational concepts depend on both the design solution space and the scenarios define the interaction of the product, the end user and the environment define the operational, maintenance, support, and disposal needs SE Tutorial RE - 35

Operational Concepts and Scenarios - 2 Operational concepts and scenarios need to be developed that include functionality, performance, maintenance, and disposal as appropriate The environment the product will operate in, including boundaries and constraints, needs to be defined SE Tutorial RE - 36

Derived Requirements Derived requirements are analyzed, based on the operational concept and scenarios, to develop a more detailed and precise set of product or product component requirements Analysis of derived requirements makes sure that they are necessary and sufficient to meet the objectives of higher level requirements Determination must be made as to which requirements will be identified to track technical progress against SE Tutorial RE - 37

Validating Requirements Customer requirements should be validated early in the development schedule to gain confidence that the customer requirements are capable of guiding a development that results in the customer s operational needs being met SE Tutorial RE - 38

Decision point: accept document or re-enter spiral Spiral Model of the Product Requirements Engineering Process Informal statement of requirements Requirements elicitation Requirements analysis and negotiation Requirements document and validation report START Requirements validation Requirements documentation Agreed requirements Gerald Kotonya and Ian Sommerville, Requirements Engineering, John Wiley and Sons, 1998 Draft Requirements document SE Tutorial RE - 39

Acceptance Criteria Acceptance Criteria should be part of the requirements capture and specification process Who will perform the acceptance testing What environment or portion of the user s environment must be exercised to satisfy the acceptance criteria How much simulation is allowed to verify and validate the requirements What process will be followed if errors are found What classification of errors must be fixed before the system will be accepted What classification of errors may allow the system to be accepted in the event that workarounds can be provided SE Tutorial RE - 40

Requirements Management SE Tutorial RE - 41

The Requirements Management and Requirements Development Partnership RM RD TS SE Tutorial RE - 42

Understanding of Requirements The project reviews the requirements to resolve issues before they are incorporated into the product Requirements and requirements change requests are analyzed and reviewed to ensure that a compatible, shared understanding is reached on the meaning of the requirements: Clearly and properly stated Complete Consistent with each other Uniquely identifiable Feasible and appropriate to implement Able to be verified and validated through reviews and testing Traceable SE Tutorial RE - 43

Changes to Requirements Changes to the requirements must be controlled as they evolve over the product lifecycle due to changing needs and derived requirements All appropriate stakeholders review and agree on the change requests to the requirements before they are applied Approved changes to the requirements are tracked A change history is maintained for each requirement along with the rationale for the change Initially captured and/or derived After approved changes have been applied Applied changes to requirements are communicated to all stakeholders in a timely manner SE Tutorial RE - 44

Changes to Commitments Based on Requirements Changes Changes to commitments must be negotiated with all stakeholders Changes to commitments made external to the organization should be reviewed by senior management, as one of the stakeholders, to ensure that commitment can be accomplished along with the other previously approved commitments SE Tutorial RE - 45

Impact Analysis for Requirements Change Requests Impact Analysis is made based on the requirements change request: Development Schedule Release Schedule Changes required to this system Staffing Components Development and Target equipment Risks SCOPE Costs Changes required to other systems or interfaces within the project Other existing products or product lines SE Tutorial RE - 46

Requirements Traceability Requirements cannot be managed effectively without requirements traceability A requirement is traceable if: You know the source of each requirement Why the requirement exists What requirements are related to it How that requirement relates to other information such as systems designs, implementations, and user documentation Traceability information is used to find other requirements which might be affected by proposed changes SE Tutorial RE - 47

Requirements Traceability - 2 All requirements and requirements change requests throughout the product lifecycle are captured and placed under configuration management Traceability is needed in conducting the impact analysis of requirements change requests on the project plans, activities, and work products A requirements traceability matrix is generated and used for forward and backward tracing SE Tutorial RE - 48

Consistency of Life- Cycle Work Products The project plans, work products, and activities are changed to be consistent with approved changes made to the requirements and must be: Identified Evaluated Assessed for risk Documented Planned Communicated Tracked to completion SE Tutorial RE - 49

Summary Requirements development and requirements management contribute to product development Requirements and analysis are essential to producing high quality software and maintaining control over product development Supports controls of requirements change requests throughout the development lifecycle Takes all stakeholders views into consideration Is an iterative and recursive process SE Tutorial RE - 50

Summary - 2 Requirements are the foundation: For the product (H/W and/or S/W) For the planning For acceptance by the customer For defining quality expectations SE Tutorial RE - 51