Non-Functional Requirements



Similar documents
The Role of the Software Architect

Software Development in the Large!

A Software Development Platform for SOA

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Requirements Definition and Management Processes

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

Plan-Driven Methodologies

The role of integrated requirements management in software delivery.

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Software Engineering Compiled By: Roshani Ghimire Page 1

Development Methodologies

Requirements engineering

The IconProcess: A Web Development Process Based on RUP

The most suitable system methodology for the proposed system is drawn out.

Basic Unified Process: A Process for Small and Agile Projects

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Business Requirements Document Template. SR OASDI Employee Rate Change

Requirements Engineering Process

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

Software Architecture Document

To introduce software process models To describe three generic process models and when they may be used

A Comparison of SOA Methodologies Analysis & Design Phases

Elicitation and Modeling Non-Functional Requirements A POS Case Study

Organizational Requirements Engineering

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

The Rap on RUP : An Introduction to the Rational Unified Process

Comparative Analysis of Different Software Quality Models

Analysis of the Specifics for a Business Rules Engine Based Projects

Requirements Elaboration

Effort and Cost Allocation in Medium to Large Software Development Projects

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

11 Tips to make the requirements definition process more effective and results more usable

Requirements engineering and quality attributes

Rational Software White Paper

Oracle Data Integrator 12c: Integration and Administration

Case Study: Inception Phase. L. ch. 3-5

The Role of Requirements Traceability in System Development

Oracle Data Integrator 11g: Integration and Administration

What is a life cycle model?

Object-Oriented Systems Analysis and Design

Requirements Management Practice Description

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Developing SOA solutions using IBM SOA Foundation

The Unified Software Development Process

Domain modeling: Leveraging the heart of RUP for straight through processing

LECTURE 1 NEW SERVICE DESIGN & DEVELOPMENT

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

CHAPTER 20 TESING WEB APPLICATIONS. Overview

IBM Infrastructure Suite for z/vm and Linux

CLASS SPECIFICATION Systems Support Analyst II

Requirements / Use Case Specification

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline

(BA122) Software Engineer s Workshop (SEW)

Time Monitoring Tool Software Development Plan. Version <1.1>

Software Project Management using an Iterative Lifecycle Model

Printshop Workflow Automation System

Software Project Management and UML

Web Service Implementation Methodology

Elicitation and Modeling Non-Functional Requirements A POS Case Study

Laila TECHNICAL SKILLS

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

ISO/IEC Software Product Quality Model

IBM Tivoli Service Request Manager

Tips for writing good use cases.

RSA Solution Brief. The RSA Solution for Cloud Security and Compliance

The IBM Rational Software Development Platform..Role focused tools help simplification via Separation of Concerns

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

The RSA Solution for. infrastructure security and compliance. A GRC foundation for VMware. Solution Brief

Agile Unified Process

Five best practices for deploying a successful service-oriented architecture

Section C. Requirements Elicitation

UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

D83167 Oracle Data Integrator 12c: Integration and Administration

Automated Testing of Web Services with SOAPUI. Abstract

JOB DESCRIPTION APPLICATION LEAD

Software Architecture. Schahram Dustdar Distributed Systems Group TU Wien

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

NYU. Business Solution Engineering Project Sample Application XXX

Bringing Value to the Organization with Performance Testing

I219 Software Design Methodology

3C05: Unified Software Development Process

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

Deploying the CMDB for Change & Configuration Management

IBM Rational systems and software solutions for the medical device industry

Applying 4+1 View Architecture with UML 2. White Paper

Chap 1. Introduction to Software Architecture

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Database as a Service / An Oracle Private Cloud Database Strategy

Towards Collaborative Requirements Engineering Tool for ERP product customization

Transcription:

IBM Software Group Non-Functional Requirements Peter Eeles peter.eeles@uk.ibm.com

Agenda IBM Software Group Rational software Definitions Types of requirement Classifying requirements Capturing NFRs Summary

Definitions IBM Software Group Rational software Functional Requirement Functional requirements describe the behaviors (functions or services) of the system that support user goals, tasks or activities. [Malan] Non-Functional Requirement Non-functional requirements include constraints and qualities. [Malan] [System] qualities are properties or characteristics of the system that its stakeholders care about and hence will affect their degree of satisfaction with the system. [Malan] A constraint is a restriction on the degree of freedom we have in providing a solution. [Leffingwell] [Leffingwell] Managing Software Requirements a Unified Approach, Dean Leffingwell and Don Widrig. [Malan] Defining Non-Functional Requirements, Ruth Malan and Dana Bredemeyer.

Agenda IBM Software Group Rational software Definitions Types of requirement Classifying requirements Capturing NFRs Summary

Types of Requirement Use Cases Defines the behavior of the system from an external perspective System-Wide Requirements Legal and regulatory requirements, application standards, qualities that the system exhibits (such as usability, reliability, scalability, performance), operating system and environment requirements, compatibility requirements, and other design and implementation constraints Change Cases Likely future changes to either the system, in terms of its capabilities and properties, or its environment. Although such changes may not be accommodated in the initial release of the system, they may impact future releases, and therefore the architecture

Examples of Requirements The product will support multiple human languages The persistence will be handled by a relational database The database will be Oracle 8i The system will run 7 days a week, 24 hours a day An online help system is required All presentation logic will be written in Visual Basic

Agenda IBM Software Group Rational software Definitions Types of requirement Classifying requirements Capturing NFRs Summary

Classifying Requirements FURPS Functionality Usability Reliability Performance Supportability + Design requirements Implementation requirements Interface requirements Physical requirements Functional requirements Non-functional requirements *The FURPS classification was devised by Robert Grady at Hewlett-Packard

FURPS+ - Functionality All functional requirements Usually represent main product features E.g. Order Processing requirements Can also be architecturally significant Auditing, Licensing, Localization, Mail, Online help, Printing, Reporting, Security, System management, Workflow

FURPS+ Usability IBM Software Group Rational software User interface issues such as accessibility, aesthetics and consistency Reliability Availability, accuracy, recoverability Performance Throughput, response time, recovery time, start-up time Supportability Testability, adaptability, maintainability, compatibility, configurability, installability, scalability and localizability

FURPS+ IBM Software Group Rational software Design requirement Constrains the design E.g. a relational database is required Implementation requirement Constrains the coding or construction E.g. required standards, platform or implementation language Interface requirement A requirement to interact with an external item Physical requirement A physical constraint imposed on the hardware used to house the system; for example, shape, size and weight

Classifying Requirements The product will support multiple human languages is a supportability requirement The persistence will be handled by a relational database is a design requirement The database will be Oracle 8i is an implementation requirement The system will run 7 days a week, 24 hours a day is a reliability requirement An online help system is required is a functional requirement All presentation logic will be written in Visual Basic is an implementation requirement

Agenda IBM Software Group Rational software Definitions Types of requirement Classifying requirements Capturing NFRs Summary

Architectural mechanisms Analysis Mechanism Design Mechanism Implementation Mechanism Persistence RDBMS OODBMS Oracle Ingres ObjectStore Communication Object Request Broker Message Queue Orbix VisiBroker MSMQ MQSeries

Analysis mechanisms Auditing Communication Debugging Error management Event management File management Graphics Information exchange Licensing Localization Mail Mega-data Memory management Meta-data Online help Persistence Printing Process management Reporting Resource management Scheduling Security System management Time Transaction management Workflow

Requirements and mechanisms Requirements Analysis Design Implementation FURPS requirements influence Analysis mechanisms are refined into Design requirements influence Design mechanisms are refined into Implementation requirements influence Implementation mechanisms

The NFR dichotomy NFRs are difficult to gather Domain-specific requirements typically more visible NFRs are unfamiliar to stakeholders Few techniques for gathering NFRs Yet NFRs drive the foundations of our system (the architecture) Often relevant in a system-wide context Can be more significant than domain-specific requirements Consider the availability ( up time ) of a life support machine

Eliciting NFRs 1. Maintain a complete list of NFRs 2. For each NFR, formulate one or more questions 3. Give visibility of the impact of answering a question one way or another 4. Capture the responses to each of the questions 5. Give each NFR a priority or weighting

The NFR questionnaire NFR Questions Impact Answers Priority Availability Are there any requirements regarding system "up time"? This may be specified in terms of Mean Time Between Failures (MTBF). The higher the availability, the longer the time to market. Availability is a key product feature. The product must have a MTBF of 60 days. High

The questionnaire and RUP Requirements workflow

Activity - Elicit stakeholder requests Elicit Stakeholder Requests RequisitePro Word NFR questionnaire Stakeholder requests Includes completed questionnaire

Activity - Elicit stakeholder requests NFR questionnaire in RequisitePro

Activity - Find actors and use cases Elicit Stakeholder Requests RequisitePro Word Find Actors And Use Cases Rose Word NFR questionnaire Stakeholder requests Includes completed questionnaire Use case model Supplementary specification

Activity - Find actors and use cases Supplementary Specification Use-Case Model Use-Case Specification

Activity - Manage dependencies Elicit Stakeholder Requests Find Actors And Use Cases Manage Dependencies RequisitePro Rose RequisitePro Word Word NFR questionnaire Stakeholder requests Use case model Requirements attributes Supplementary specification Includes completed questionnaire

Activity - Manage dependencies Specify requirements attributes in RequisitePro E.g. risk, priority, stability

Common pitfalls The shopping cart mentality Analyst: Stakeholder: "Does the product need support multiple human languages"? "That sounds good. We should plan to address foreign markets Analyst: Stakeholder: "And what about security?" "Oh yes, the product should be secure Analyst: Stakeholder: "Tell me about your reliability expectations" "Definitely 24 by 7 - no down time. That'll show our competitors Ensure stakeholders understand the cost of their purchases

Common pitfalls (2) The NFR Questionnaire is technical Ensure stakeholders understand the value of the questionnaire All requirements are equal Prioritize requirements The requirement parking lot Ensure that the requirements are used throughout development

Common pitfalls (3) Requirements are not measurable Ensure that requirements are unambiguous and as measurable as possible Lack of time Constantly remind stakeholders of the importance of these requirements Lack of ownership Ensure that the System Analyst actively creates/tailors and understands the questionnaire Talking to the wrong people Identify the type of stakeholder responsible for answering each question

Common pitfalls (4) Requirements are too general Be as specific as possible Scope Example Location in a RUP artifact Most general The system as a whole Due to the nature of our target markets, the system must be deployed in English, French, Chinese and Arabic. Supplementary specification. A use case as a whole Any order that is processed can contain up to 10,000 items. Special requirements section in a use case specification. Most specific A particular flow of events within a use case If in the basic flow, the plane undercarriage fails to engage, then an alarm will be sent to the central monitoring station in less than one second. A flow of events section in a use case specification.

Realizing NFRs IBM Software Group Rational software Each realization is very NFR-dependent Realizing availability is very different to realizing usability Can represent an NFR as a UML class Supported in RSA Can represent an NFR Realization as a UML collaboration Supported in RSA

Summary IBM Software Group Rational software Requirements can be classified using FURPS+ Understanding the role of architectural mechanisms can help determine the questions to be asked An NFR Questionnaire can help ensure that requirement gathering is systematic Gathering stakeholder requests can be automated Avoid the common pitfalls!