Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

Similar documents
RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

Lecture 7: Software Processes. Refresher: Software Always Evolves

Recommended Practice for Software Requirements Specifications (IEEE)

Requirements Validation and Negotiation

Lecture 5: Requirements Specifications

The software lifecycle and its documents

Requirements Specification with the IEEE 830 Standard

Sofware Requirements Engineeing

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

Purpose and Structure of Requirements Specifications (following IEEE 830 Standard)

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Requirements Validation and Negotiation

Requirements engineering

Requirement Analysis

Chapter 4 Objectives

Requirements Engineering

Requirements Validation and Negotiation (cont d)

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

Requirements Specifications & Standards

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

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

Requirements Engineering. Csaba Veres

Requirements. CxOne Standard

Lecture 8 Requirements Engineering

CIS 890: Safety Critical Systems

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

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

Ch 4: Requirements Engineering. What are requirements?

Basics : the Requirements Engineering Process

1: Introduction to Object (1)

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Synergy Distributed Meeting Scheduler. Project Plan. Revision 2.0. CS 6361 Advance Requirements Engineering Fall 2008

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

Best Practices for Final Year Projects

Level 4 Diploma in Computing

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

Software Design Document (SDD) Template (summarized from IEEE STD 1016)

Requirements Engineering Process

Requirements Engineering

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

<Company Name> <Project Name> Software Requirements Specification For <Subsystem or Feature> Version <1.0>

Business Analysis in Practice

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

"Charting the Course... Certified Information Systems Auditor (CISA) Course Summary

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

Software specification and modelling. Requirements engineering

Requirements engineering

PREPARE FOR TAKE OFF. Accelerate your organisation s journey to the Cloud.

Process of Interaction Design and Design Languages

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

Accreditation Process. Trusted Digital Identity Framework February 2018, version 1.0

Chapter 4 Requirements Elicitation

EUROPEAN ICT PROFESSIONAL ROLE PROFILES VERSION 2 CWA 16458:2018 LOGFILE

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Level 5 Diploma in Computing

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

SWIM Standards Evolution Workshop

Lesson 06. Requirement Engineering Processes

Lecture 9 Requirements Engineering II

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

SOFT 423: Software Requirements

Model-Based Requirements Engineering. Tutorial by Kristian Sandahl

18-642: Software Development Processes

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

Software Development Process Models

The requirements engineering process

Requirement KANOKWATT SHIANGJEN COMPUTER SCIENCE SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY UNIVERSITY OF PHAYAO

Lecture 6: Requirements Engineering

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

Pearson Education 2005 Chapter 9 (Maciaszek - RASD 2/e) 2

Software Engineering with Objects and Components Open Issues and Course Summary

System Requirements Specification

draft-li-intent-classification- 00

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

CMSC 435: Software Engineering Section 0201

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

Defining the Challenges and Solutions. Resiliency Model. A Holistic Approach to Risk Management. Discussion Outline

Topic 01. Software Engineering, Web Engineering, agile methodologies.

5 Object Oriented Analysis

BUILDING GOOD-QUALITY FUNCTIONAL SPECIFICATION MODEL

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

Requirements Elicitation

Privacy Code of Conduct on mhealth apps the role of soft-law in enhancing trust ehealth Week 2016

Middle East Technical University. Department of Computer Engineering

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture

CompTIA Project+ (2009 Edition) Certification Examination Objectives

Human-Centred Interaction Design

Managing Change and Complexity

Certified Information Systems Auditor (CISA)

BCS Certificate in Requirements Engineering Syllabus

Managing IT Risk: The ISACA Risk IT Framework. 1 st ISACA Day, Sofia 15 October Charalampos (Haris)Brilakis, CISA

User Stories for Agile Requirements. Mike Cohn - background. Copyright Mountain Goat Software, LLC

Taxonomy Governance Checklist

Introduction. Prepared by: ICANN Org Published on: 12 January 2018

Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design.

ITIL Master Qualification. Candidate Process Guidance

CS3205: Task Analysis and Techniques

Why do architects need more than TOGAF?

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

Transcription:

If software is simply for automation, what would a washing machine be like? 1

RE Process Lawrence Chung Department of Computer Science The University of Texas at Dallas 2

RE Process: What is a Process? Given input, transforms it into output Consist of a set of activities Process descriptions are also specifications Often produced by Requirements Engineers Should be as complete, consistent and clear 3

RE Process: Why? Quality of product Quality of Process Garbage in garbage out, so get the right requirements P roc e ss Product 4 It is more important to understand the problem than the solution. [Albert Einstein]

RE Process: The Basic RE Evolutionary Process Evolution is inevitable traceability is more than a virtue Old Reality Change in Reality New Reality Old Model Change Definition New Model Reverse Engineering Change Incorporation Old Implementation Legacy Integration New Implementation 5

RE Process: A Basic Framework [Loucopolos] Many variations and extensions 3 fundamental activities: understand, (formally) describe, attain an agreement on, the problem User reqs User User feedback knowledge Req. models Elicitation Specification Validation For more knowledge Val. result Domain knowledge Problem Domain knowledge Domain (domain experts, laws, standards, policies, documents, etc.) Elicitation: determine what s really needed, why needed, whom to talk to Specification: produce a (formal) RS model: translate "vague" into "concrete", etc. make various decisions on what & how Validation: assure that the RS model satisfies the users needs 6

RE Process: Spiral Model [KotonyaSummerville98] How many cycles? When to analyze and negotiate? Risk analysis? Decision point: Accept document or re-enter spiral Informal statement of requirements Requirements elicitation Requirements analysis and negotiation Requirements document and validation report START Agreed requirements Requirements validation Requirements documentation Draft requirements document Requirements elicitation: Requirements discovered through consultation with stakeholders Requirements analysis and negotiation: Requirements are analysed and conflicts resolved through negotiation Requirements documentation: A requirements document is produced Requirements validation: The requirements document is checked for consistency and completeness 7

RE Processes: RAD (Role Actor Diagram) An RE Process is dominated by human, social and organisational factors ACTIONS Understand problem Establish outline requirements Select prototyping system Develop prototype Evaluate prototype Stakeholders/ Actors/ Agents Req. engineer Domain expert End-user ROLES Req. engineer End-user Software engineer Project manager Req. engineer Software engineer End-user Domain expert Req. engineer Software engineer for prototyping [Kotonya&Sommerville98] 8

RE Process: A RE Process Maturity Model Based on CMM Level 3 - Defined Defined process based on best practice; process improvement in place Level 2 - Repeatable Standardised requirements engineering; fewer requirements problems Level 1 - Initial Ad-hoc requirements engineering; requirements problems are common 9

IEEE Standard for SRS [ IEEE-STD-830-1993] [Blum 1992, p160] 1 Introduction Purpose Scope Identifies the product, & application domain Definitions, acronyms, abbreviations Reference documents Overview 2 Overall Description Product perspective Describes contents and structure of the remainder of the SRS Describes all external interfaces: system, user, hardware, software; also operations and site adaptation, and hardware constraints Product functions Summary of major functions User characteristics Constraints Assumptions and Dependencies Anything that will limit the developer s options (e.g. regulations, reliability, criticality, hardware limitations, parallelism, etc) 3 Specific Requirements Appendices Index All the requirements go in here (i.e. this is the body of the document). IEEE STD provides 8 different templates for this section 10

IEEE Standard Section 3 [IEEE-STD-830-1993.] [Blum 1992, p160] 3.1 External Interface Requirements 3.1.1 User Interfaces 3.1.2 Hardware Interfaces 3.1.3 Software Interfaces 3.1.4 Communication Interfaces 3.2 Functional Requirements this section organized by mode, user class, feature, etc. For example: 3.2.1 Mode 1 3.2.1.1 Functional Requirement 1.1 3.2.2 Mode 2... 3.2.n Mode n... 3.2.1.1 Functional Requirement 1.1 3.3 Performance Requirements Remember to state this in measurable terms! 3.4 Design Constraints 3.4.1 Standards compliance 3.4.2 Hardware limitations etc. 3.5 Software System Attributes 3.5.1 Reliability 3.5.2 Availability 3.5.3 Security 3.5.4 Maintainability 3.5.5 Portability 3.6 Other Requirements 11

RE in Agile Methods Basic Philosophy Reduce communication barriers Programmer interacts with customer Reduce document-heavy approach Documentation is expensive and of limited use Have faith in the people Don t need fancy process models to tell them what to do! Respond to the customer Rather than focussing on the contract Weaknesses Relies on programmer s memory Code can be hard to maintain Relies on oral communication Mis-interpretation possible Assumes single customer representative Multiple viewpoints not possible Only short term planning No longer term vision E.g. Extreme Programming Instead of a requirements spec, use: User story cards On-site customer representative Pair Programming Small releases E.g. every three weeks Planning game Select and estimate user story cards at the beginning of each release Write test cases before code The program code is the design doc Can also use CRC cards (Class- Responsibility-Collaboration) Continuous Integration Integrate and test several times a day 12

RE in V Model system requirements system integration software requirements acceptance test preliminary design software integration detailed design component test code & debug unit test Time 13 Level of abstraction

Appendix 14

RE Processes: Volere Requirements Process How many cycles? When to analyze and negotiate? 15

RE Processes: RE Process Variability Many Variety and Evolution is inevitable RE processes vary radically from one organisation to another Factors contributing to this variability include Technical maturity Disciplinary involvement Organisational culture Application domain There is therefore no ideal requirements engineering process [KotonyaSummerville98] 16

NL requirements document NFRs & RE Process: A Requirements Management System Many variations and extensions Req. browser Req. query system Req. convertor Requirements database Traceability support system WP linker Report generator Traceability report Change control system Requirements report 17

RE in Prototyping Lifecycle [Dorfman, 1997, p9] Preliminary requirements Design prototype Build prototype Evaluate prototype full requirements design code test integrate Prototyping is used for: understanding the requirements for the user interface examining feasibility of a proposed design approach exploring system performance issues Problems: users treat the prototype as the solution a prototype is only a partial specification 18