On the management of nonfunctional requirements

Similar documents
Chapter 6. Software Quality Management & Estimation

Model-Driven Development for Safety-Critical Software Components

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

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

Software Processes 1

Introduction to software testing and quality process

Chapter 26. Quality Management

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

Testing Close to and Post-Release: System, Acceptance, and Regression Testing

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

Project Management Auditing Guide

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

PREFERRED RELIABILITY PRACTICES. Practice:

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

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

Capability Maturity Model for Software (SW-CMM )

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Software reliability poses a significant challenge for the Army as software is increasingly. Scorecard Reviews. for Improved Software Reliability

Work Plan and IV&V Methodology

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

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

SWE 211 Software Processes

Introduction to Software Engineering

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

CSE 435 Software Engineering. Sept 14, 2015

SOFTWARE DEVELOPMENT STANDARD

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

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

Requirements Engineering

Towards Systematic Software Reuse in Certifiable Safety-Critical Systems

The software process

Space Product Assurance

Appendix H: Tracking Tool Recommendations

B.H. Far

Chapter 6: Software Evolution and Reengineering

An Application of Causal Analysis to the Software Modification Process

Building quality into the software from the. Keeping and. the software. software life cycle

Pertemuan 2. Software Engineering: The Process

Association of American Railroads Quality Assurance System Evaluation (QASE) Checklist Rev. 1/12/2017

Industrial use cases: Description and business impact D1.2.b Avionics Use Case

IEC KHBO, Hobufonds SAFESYS ing. Alexander Dekeyser ing. Kurt Lintermans


Object-Oriented and Classical Software Engineering

Project Report Template (Sem 1)

Software Architecture and Engineering Requirements Elicitation Peter Müller

Note 10: Software Process

Software Architecture and Engineering Requirements Elicitation Peter Müller

ERROR! BOOKMARK NOT DEFINED.

The Top Thrill Dragster

CMPT 275 Software Engineering

ISTQB Sample Question Paper Dump #11

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

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

CHAPTER 2 LITERATURE SURVEY

Process Assessment Model SPICE for Mechanical Engineering - Proposal-

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

0 Introduction Test strategy A Test Strategy for single high-level test B Combined testing strategy for high-level tests...

Software Development Software Development Activities

1 Management Responsibility 1 Management Responsibility 1.1 General 1.1 General

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

Software Engineering & Architecture

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

GAIA. GAIA Software Product Assurance Requirements for Subcontractors. Name and Function Date Signature 15/09/05 15/09/05 15/09/05 15/09/05 15/09/05

INSTRUMENTATION AND CONTROL ACTIVITIES AT THE ELECTRIC POWER RESEARCH INSTITUTE TO SUPPORT COMPUTERIZED SUPPORT SYSTEMS

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

Evolutionary Differences Between CMM for Software and the CMMI

COPYRIGHTED MATERIAL RELIABILITY ENGINEERING AND PRODUCT LIFE CYCLE 1.1 RELIABILITY ENGINEERING

Software Engineering

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Preliminary Investigation on Safety-related Standards

DO-178B 김영승 이선아

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

TEST I VIDAREUTVECKLINGEN AV GRIPENS AVIONIK- OCH MARKSTÖDSYSTEM

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

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

Functional Safety: ISO26262

ENHANCED SYSTEM VERIFICATION (ESV)

Risk assessment checklist - Acquire and implement

Abstract. Introduction

ISO/IEC INTERNATIONAL STANDARD. Software and systems engineering Tools and methods for product line technical management

Challenge H: For an even safer and more secure railway

Introduction to Software Engineering

The WW Technology Group

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

GUIDELINES FOR CONDUCTING VERIFICATIONS. 1. Verifications may be carried out on the basis of audits and/or on-the-spot checks.

Prerequisites for achieving operational discipline and conformance

SOFTWARE MEASUREMENT GUIDEBOOK. Revision 1

A Review Paper on Software Testing

Software Quality Management

EUROPEAN COMMISSION DIRECTORATE-GENERAL TAXATION AND CUSTOMS UNION Resources Customs systems & IT operations IT STRATEGY

IT AUDIT: ISSUES, LESSONS LEARNT AND ACTIONS FOR A SUCCESSFUL IT SYSTEM IMPLEMENTATION

Global Journal of Engineering Science and Research Management

Software Safety Testing Based on STPA

Chapter 16 Software Reuse. Chapter 16 Software reuse

Software Quality Engineering Courses Offered by The Westfall Team

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

SOFTWARE QUALITY ASSURANCE (SQA) Chapter 1

Software Quality Engineering Courses Offered by The Westfall Team

Complex Systems of Systems (CSOS) : Software Benefits,Risks,and Strategies

Engineering the Future with AUTOSAR

Transcription:

- modulo B On the management of nonfunctional requirements Dr Tullio Vardanega European Space Research and Technology Centre and University of Padua TU Delft, 12 November 2001 Outline of the talk What are nonfunctional requirements (NFR) How do they differ from functional requirements Where do they originate from and when How do NFR impact the development process What is the problem with them Definition, engineering and issues Strategies for incorporation Integration versus separation What are NFR What are NFR (cont'd) NFR concern such characteristics as: Safety Reliability Timeliness (predictability) Reusability Portability, etc. Functional requirements tell what the system has to do NFR tell how the system functions have to be achieved NFR originate at system and at level, for example: Safety and reliability are system-level NFR Reusability and portability are -level NFR Predictability pertains to both levels NFR concern product and process aspects Example 1 What are NFR (cont'd) Implementation techniques may facilitate 6. Implementation Techniques 6.1 Rationale 6.2 Coding Rules The system behaviour in the time domain must be specified, engineered and verified Timing requirements (e.g. deadline) specify, in the time domain, what functional requirements specify in the value domain Project requirements include and exceed product requirements Both sets originate from multiple sources with often independent and differing perspectives Developing organisation Project requirements Operational users Product requirements For a complex system to perform as expected Ordering customers funzionali 1

- modulo B NFR impact A large proportion of projects in virtually all application domains often fail in several respects, e.g.: Late shipment, budget overrun Underutilisation in operation Laborious maintenance, scarce portability The root of the failure can often be found in mismanaged NFR, e.g.: Lack of or misinterpretation Incomplete or erroneous Insufficient These deficiencies are less apparent than the violation of functional requirements Example 2 NFR are more difficult to express than functional requirements NFR arise predominantly at project level Product requirements are typically functional and often arise earlier than NFR This independence of origin often makes them conflict in subtle ways Automotive industry (inadequate ) Public administration (poor maintenance) A whole catalogue of major failures Lots of other business sectors could be added to the list Telecom industry (erroneous upgrade) Example 3 Specification Often poor Spiral / evolutionary process s help but they are not quite the solution They best at eliciting and coping with (late) functional requirements Less good for late or unclear or imprecise NFR Translation from system NFR to NFR is far from obvious How can we translate a system-level reliability requirement expressed as a.9993 fphs (<1 failure in 60 days of operation) to requirements How can we possibly verify it It takes a long ride to get there! funzionali 2

- modulo B Specification (cont'd) NFR are often expressed in forms that are hard to quantitatively or objectively verify their is frequently qualitative and subjective we lack standardised and well-understood techniques to reduce subjectivity we have little support for the capture of NFR and poor means to raise them to proper and / or process drivers Specification (cont'd) Typical challenges: how can we align methodology and patterns to preferred/prescribed standards how can we avoid destructive implementation of fault tolerance provisions against late understanding of needs Example 4 Specification Requirements for and standards Failure mode effects and criticality analysis No enforcement means Engineering Retrofit on implementation Verification Project time Manual Engineering The NFR implementation strategies are inherently multidisciplinary (e.g.: procurement, quality,, reuse) Some involve the deployment of specific implementation strategies (e.g.: assurance of, rules) Others require the use of compliant infrastructures (e.g.: procurement of certified compilers and runtimes) Others demand the adoption of domain-specific architectures (e.g.: assurance of IMA and APEX compliance) Engineering (cont'd) Example 5 Integrated Modular Avionics Typical challenges: How can we ensure that all concerned disciplines pull the project in one and the same direction How can we strike a good balance between efficiency, verifiability and reuse Application #1 Application #n Module Operating System Application Executive interface Partition Operating System Module Operating System An avionics standard like IMA will considerably restrain the and implementation freedom, while allowing multi-threaded, multi-language, distributed applications funzionali 3

- modulo B Verification NFR are difficult to verify (at process level) and to validate (at product) level Difficulties are: Technical ('how to') Technological ('by what means') Programmatic ('when and to what extent') Verification (cont'd) Definitions Verification: confirmation, by examination or provision of objective evidence, that specified requirements have been fulfilled Verification concerns the process Validation: confirmation [...] that the product meets the specified requirements Validation concerns the product Nominal process Aims at the implementation of functional requirements Includes processes specific to : The developing organisation The individual project within the organisation Project-level processes include: Management processes Technical processes (development) encompassing: o Engineering processes o Verification processes May all be carried out in full parallelism All processes may proceed in parallel The purpose and order of execution of the nominal processes is determined by multiple factors, e.g.: Application-domain specific constraints Technical and organisational considerations These factors may change in weight and nature during the life cycle, e.g.: Required team profile versus availability of personnel Irrespective of the extent of internal parallelism, the system life cycle proceeds across a set of stages Each stage has a distinct purpose and contribution The achievement of a stage represents a project milestone This is a crucial measure of progress funzionali 4

- modulo B Hardware development Concept Specification System development Subsystem development Design development Operation Validation Integration & test Human procedures NFR management strategies No standard definition of NFR Also referred to as 'characteristics' " Two broad classes: Explicit Typically defined by users and customers Also derived from system-level requirements Influence the ultimate acceptance of the product Implicit Reflect specific developers' concerns Need dedicated processes to warrant satisfaction Coding NFR management strategies (cont'd) Explicit characteristics Should be fully defined at the ' concept' stage of the development Use of int'l standard checklists may help the capture Implict characteristics May concern the product as a whole, e.g.: Completeness, verifiability, compatibility May concern constructive aspects of the product (technology, architecture), e.g.: Timeliness (predictability), resource-efficiency Should be defined during the ' / ' stages NFR management strategies (cont'd) Can we use the same processes used for the implementation of functional requirements? Should we perform them in parallel or in conjunction with the nominal processes No general criteria prevent integration Separation allows independence of responsibility Integration is preferable (easier, cheaper) for most implicit characteristcs Separation is desirable for critical ones NFR management strategies (cont'd) How to define adequate dedicated processes? Use the Plan-Do-Check-Act Example 6 Parallel processes for the management of characteristics (explicit and crucial to acceptance) Nominal processes Check and act Define process improvements Plan Plan process concept From system level integration and test From system level Negative feedback Verification Positive feedback Engineering Technical processes concept integration and test Do Safety parallel processes funzionali 5

- modulo B Example 7 Integrated processes for the management of timeliness requirements (implicit and inherent to technical processes) concept logical to fit integration and test testing to support Scheduling analysis to prove Timing analysis (prediction, estimation, measurement) Conclusion NFR will be increasingly more dominant in intensive systems There is no 'best' solution to their management Different solutions for different domains Integration works well for 'consolidated' NFR Separation sanctions the criticality of NFR No longer a lonely ride across the desert Not yet an easy strike funzionali 6