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

Size: px
Start display at page:

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

Transcription

1 Beatrice Åkerblom Everything else in software development depends on the requirements. If you cannot get stable requirements you cannot get a predictable plan... What Is a Requirement?! May range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.! This is inevitable as requirements may serve a dual function ~ May be the basis for a bid for a contract -- therefore must be open to interpretation ~ May be the basis for the contract itself -- therefore must be defined in detail ~ Both these statements may be called requirements. Types of Requirement! User requirements ~ Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.! System requirements ~ A structured document setting out detailed descriptions of the system!s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor. 3 4

2 Readers Functional and Nonfunctional User requirements System requirements Software design requirements Client-managers System end-users Client engineers Contractor managers System architects System end-users Client engineers System architects Software developers Client engineers (perhaps) System architects Software developers! Functional requirements ~ Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.! Non-functional requirements ~ Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.! Domain requirements ~ that come from the application domain of the system and that reflect characteristics of that domain. 5 6 Functional requirements! Describe functionality or system services! Depend on the type of software, expected users and the type of system where the software is used! Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail Imprecision! Problems arise when requirements are not precisely stated! Ambiguous requirements may be interpreted in different ways by developers and users! Consider the term appropriate viewers ~ User intention -- special purpose viewer for each different document type ~ Developer interpretation -- Provide a text viewer that shows the contents of the document. 7 8

3 Completeness and Consistency! In principle, requirements should be both complete and consistent.! Complete ~ They should include descriptions of all facilities required.! Consistent ~ There should be no conflicts or contradictions in the descriptions of the system facilities.! In practice, it is impossible to produce a complete and consistent requirements document. Non-functional! These define system properties and constraints e.g. reliability, response time and storage requirements. Constraints are I/O device capability, system representations, etc.! Process requirements may also be specified mandating a particular programming language or development method! Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless 9 10 Goals and! Non-functional requirements may be very difficult to state precisely and imprecise requirements may be difficult to verify! Goal ~ A general intention of the user such as ease of use! Verifiable non-functional requirement ~ A statement using some measure that can be objectively tested! Goals are helpful to developers as they convey the intentions of the system users Examples -- Goals vs. Non-functional! A system goal ~ The system should be easy to use by experienced controllers and should be organised in such a way that user errors are minimised.! A verifiable non-functional requirement ~ Experienced controllers shall be able to use all the system functions after a total of two hours training. After this training, the average number of errors made by experienced users shall not exceed two per day

4 Property Speed Size Ease of use Reliability Robustness Portability Measures Measure Processed transactions/second User/Event response time Screen refresh time M Bytes Number of ROM chips Training time Number of help frames Mean time to failure Probability of unavailability Rate of failure occurrence Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Percentage of target dependent statements Analysis Techniques! Interviewing (primary technique) ~ Structured or unstructured interviews ~ Questionnaires ~ Forms analysis ~ Video cameras ~ Scenarios! Story boards! Trees! Rapid prototyping Rapid Prototyping as Specification Technique! Specifications: Rapid prototype plus list of additional features! Advantages ~ Speed ~ No ambiguities, omissions, contradictions! Disadvantages ~ Specification document is contract ~ Testing requires specifications ~ Maintenance requires specifications! Conclusion: Do not use rapid prototype as specifications Human Factors! Client and intended users must interact with the user interface! Human-computer interface (HCI) ~ Menu, not command line ~ Point and click ~ Windows, icons, pull-down menus! Human factors must be taken into account ~ Lengthy sequence of menus ~ Expertise level of interface ~ Uniformity of appearance ~ Advanced psychology vs. common sense?! Rapid prototype of HCI obligatory 15 16

5 Problems With! The requirements don!t reflect the real needs of the customer for the system! are inconsistent and/or incomplete! It!s expensive to make changes to requirements after they have been agreed! Misconceptions between the customers, those who develop the requirements and the software engineers developing or maintaining the system Challenges of the Phase! Employees of the client organisation feel threatened by computerisation! team members must be able to negotiate! The client's needs may have to be scaled down! Key employees of the client organisation may not have the time for essential indepth discussions! Flexibility and objectivity are essential Guidelines For Writing! Invent a standard format and use it for all requirements.! Use language in a consistent way. Use shall for mandatory requirements, should for desirable requirements.! Use text highlighting to identify key parts of the requirement.! Avoid the use of computer jargon Documentation -- Specification In the specification we describe the system that is going to be built 19

6 Specification Phase! Specification documents should be ~ Informal enough for client ~ Formal enough for developers ~ Free of omissions, contradictions, ambiguities! Specification documents contains the constraints for the product ~ Cost ~ Time ~ Parallel running ~ Portability ~ Reliability ~ Rapid response time Specification Phase (cont!d)! Specification document contains acceptance criteria for the system ~ Vital to spell out series of tests ~ Product passes tests, deemed to satisfy specifications ~ Some are restatements of constraints Problems With Natural Language! Lack of clarity ~ Precision is difficult without making the document difficult to read.! confusion ~ Functional and non-functional requirements tend to be mixed-up.! amalgamation ~ Several different requirements may be expressed together. Solution Strategy! General approach to building the product! Find strategies without worrying about constraints! Modify strategies in the light of constraints, if necessary! Keep a written record of all discarded strategies, and why they were discarded ~ To protect the specification team ~ To prevent unwise new solutions during the maintenance phase 23 24

7 Alternatives to NL Specification! Structured natural language ~ This approach depends on defining standard forms or templates to express the requirements specification.! Design description languages ~ This approach uses a language like a programming language but with more abstract features to specify the requirements by defining an operational model of the system. ~ This approach is not now widely used although it can be useful for interface specifications. Alternatives to NL Specification (cont!d)! Graphical notations ~ A graphical language, supplemented by text annotations is used to define the functional requirements for the system. An early example of such a graphical language was SADT. Now, use-case descriptions and sequence diagrams are commonly used Alternatives to NL Specification (cont!d)! Mathematical specifications ~ These are notations based on mathematical concepts such as finitestate machines orsets. These unambiguous specifications reduce the arguments between customer and contractor about system functionality. However, most customers don!t understand formal specifications and are reluctant to accept it as a system contract. Specification Phase! Specification documents should be ~ Informal enough for client ~ Formal enough for developers ~ Free of omissions, contradictions, ambiguities

8 What happens if the requirements are wrong?! The system may be delivered late and cost more than originally expected.! The customer and end-users are not satisfied with the system.! They may not use its facilities or may even decide to scrap it altogether.! The system may be unreliable in use with regular system errors and crashes disrupting normal operation.! If the system continues in use, the costs of maintaining and evolving the system are very high. Why is requirements engineering difficult?! Businesses operate in a rapidly changing environment so their requirements for system support are constantly changing.! Multiple stake-holders with different goals and priorities are involved in the requirements engineering process.! System stake-holders do not have clear ideas about the system support that they need.! are often influenced by political and organisational factors that stake-holders will not admit to publicly The Engineering Process RE Process Inputs and Outputs Feasibility study Feasibility report elicitation and analysis specification validation System models User and system requirements document ~ Feasability study ~ elicitation & analysis ~ specification ~ validation 31 32

9 change Feasibility Studies! System requirements reflect the world outside of the system. As this is constantly changing then the requirements will inevitably also change ~ Technology changes ~ Organisational changes ~ Market changes ~ Economic changes ~ Political and legal changes! It is often difficult to understand the implications of changes for the requirements as a whole! A feasibility study decides whether or not the proposed system is worthwhile.! A short focused study that checks ~ If the system contributes to organisational objectives; ~ If the system can be engineered using current technology and within budget; ~ If the system can be integrated with other systems that are used Feasibility Study Implementation! Based on information assessment (what is required), information collection and report writing.! Questions for people in the organisation ~ What if the system wasn!t implemented? ~ What are current process problems? ~ How will the proposed system help? ~ What will be the integration problems? ~ Is new technology needed? What skills? ~ What facilities must be supported by the proposed system? Elicitation and Analysis! Sometimes called requirements elicitation or requirements discovery.! Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system!s operational constraints.! May involve stake-holders -- end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc

10 Problems of Analysis The Spiral! Stake-holders don!t know what they really want.! Stake-holders express requirements in their own terms.! Different stake-holders may have conflicting requirements.! Organisational and political factors may influence the system requirements.! The requirements change during the analysis process. New stake-holders may emerge and the business environment change. classification and organisation discovery prioritization and negotiation documentation Process Activities! discovery ~ Interacting with stake-holders to discover their requirements. Domain requirements are also discovered at this stage.! classification and organisation ~ Groups related requirements and organises them into coherent clusters.! Prioritisation and negotiation Validation! Concerned with demonstrating that the requirements define the system that the customer really wants.! error costs are high so validation is very important ~ Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error. ~ Prioritising requirements and resolving requirements conflicts.! documentation ~ are documented and input into the next round of the spiral

11 Checking! Validity. Does the system provide the functions which best support the customer!s needs?! Consistency. Are there any requirements conflicts?! Completeness. Are all functions required by the customer included?! Realism. Can the requirements be implemented given available budget and technology! Verifiability. Can the requirements be checked? Validation Techniques! reviews ~ Systematic manual analysis of the requirements.! Prototyping ~ Using an executable model of the system to check requirements. Covered in Chapter 17.! Test-case generation ~ Developing tests for requirements to check testability Process variability! The level of detail required in a requirements specification differs greatly depending on the type of product that is being developed ~ A railway signalling system is a very detailed specification that can be validated by authorities outside of the organisation procuring the software ~ A computer game specification is a storyboard with pictures and examples! They use completely different processes involving different types of people to derive these specifications! Scope for process standardisation and support is therefore limited Doing It the AGILE Way 43

12 the Agile Approach Agile Engineering! documents are usually insufficient, regardless of how much effort goes into it Developer! Investment in detailed documentation early in the project will be wasted when the requirements inevitably change Identify idea or suggestion Discuss potential requirement Estimate Model and document Prioritise User Agile Gathering! High level requirements what should the system as a whole really do? ~ Usage model -- a collection of user stories ~ Initial domain model class responsibility collaborator (CRC) cards, a slim UML class diagram ~ User interface model screen sketches, or maybe a user interface prototype! What level of detail do you actually need? ~ Just enough to get the big picture ~ The initial requirements are later analysed, on a just-in-time basis Best Practices! Stake-holders actively participate! Take a breadth-first approach ~ 45% of features are never used, 19% are rarely used, and 16% are sometimes used...! Model-storm details just-in-time ~ are identified throughout most projects! Your goal is to implement requirements, not to document them ~ Barely just enough! Smaller is better ~ Smaller is easier to estimate 47 48

13 Best Practices (cont!d)! Adopt stake-holder terminology! Keep it fun! Obtain management support! Turn stake-holders into developers! Treat requirements like a prioritised stack Challenges! Limited access to project stake-holders! Project stake-holders don!t know what they want! Conflicting priorities! Too many project stake-holders want to participate! Project stake-holders prescribe technology solutions! Project stake-holders are unable to see beyond the current situation Challenges, cont!d! Project stake-holders are afraid to be pinned down! Project stake-holders don!t understand modelling artefacts! Developers don!t understand the problem domain! Developers don't understand the requirements End of Today!s Lecture Thanks for your attention! 51 47

Software specification and modelling. Requirements engineering

Software specification and modelling. Requirements engineering Software specification and modelling Requirements engineering Requirements engineering (RE) Requirements engineering is the process of establishing the services that a customer requires from a system and

More information

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement? Engineering Establishing what the customer requires from a software system Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 5 and 6 Slide 1 Engineering

More information

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

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 6 Slide 1 Objectives To introduce the concepts of user and system requirements To describe functional and non-functional

More information

Requirements Engineering. Version October 2016

Requirements Engineering. Version October 2016 Requirements Engineering Version 1.11 26 October 2016 Maurizio Morisio, Marco Torchiano, 2016 Software development Customer Needs Acceptance testing Requirements Analysis System testing System Design Integration

More information

Software Engineering. Lecture 10

Software Engineering. Lecture 10 Software Engineering Lecture 10 1. What is software? Computer programs and associated documentation. Software products may be: -Generic - developed to be sold to a range of different customers - Bespoke

More information

Lecture 6: Requirements Engineering

Lecture 6: Requirements Engineering Lecture 6: Requirements Engineering Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

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

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351a: Software Project & Process Management W4.1: Requirements Engineering 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351 Roadmap Introduction to Software Project Management Project Management

More information

Software Requirements and the Requirements Engineering Process. Chapters 5 and 6

Software Requirements and the Requirements Engineering Process. Chapters 5 and 6 Software Requirements and the Requirements Engineering Process Chapters 5 and 6 References Software Engineering. Ian Sommerville. 6th edition. Pearson. Code Complete. Steve McConnell. (CC) The art of triage.

More information

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

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18 Requirements Engineering: Specification & Validation Software Requirements and Design CITS 4401 Lecture 18 The Problems of Requirements What goal(s) are we trying to satisfy? How do we identify the scope

More information

Ch 4: Requirements Engineering. What are requirements?

Ch 4: Requirements Engineering. What are requirements? Ch 4: Engineering What are? Functional and non-functional The software document specification engineering processes elicitation and analysis validation management The descriptions of what the system should

More information

Lesson 06. Requirement Engineering Processes

Lesson 06. Requirement Engineering Processes Lesson 06 Requirement Engineering Processes W.C.Uduwela Department of Mathematics and Computer Science Objectives To describe the principal requirements engineering activities and their relationships To

More information

UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION

UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION The for a system are the descriptions of what the system should do the services that it provides and the constraints on its operation. User are statements,

More information

Requirements Validation and Negotiation

Requirements Validation and Negotiation REQUIREMENTS ENGINEERING LECTURE 2017/2018 Joerg Doerr Requirements Validation and Negotiation AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of

More information

Chapter 4 Requirements Engineering

Chapter 4 Requirements Engineering Chapter 4 Requirements Engineering Chapter 4 Requirements Engineering Slide 1 Topics covered Why RE is hard... Functional and non-functional requirements Product vs. organizational vs. external requirements

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Requirements Validation and Negotiation

Requirements Validation and Negotiation REQUIREMENTS ENGINEERING LECTURE 2015/2016 Eddy Groen Requirements Validation and Negotiation AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of

More information

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science University of Birmingham r.bahsoon@cs.bham.ac.uk Unit 2: Light Introduction to Requirements Engineering Dr R Bahsoon 1 Objectives

More information

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

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) COURSE STRUCTURE Introduction to Business Analysis Module 1 Needs Assessment Module 2 Business Analysis Planning Module

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

Requirements Engineering

Requirements Engineering Requirements Engineering An introduction to requirements engineering Gerald Kotonya and Ian Sommerville G. Kotonya and I. Sommerville 1998 Slide 1 Objectives To introduce the notion of system requirements

More information

Lecture 8 Requirements Engineering

Lecture 8 Requirements Engineering Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview

More information

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

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351a: Software Project & Process Management W4.2: Requirements Engineering 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351 Roadmap Introduction to Software Project Management Project Management

More information

Specifying and Prototyping

Specifying and Prototyping Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process

More information

SEG3201 Basics of the Requirements Process

SEG3201 Basics of the Requirements Process SEG3201 Basics of the Requirements Process Based on material from: I Bray: An introduction to Requirements Engineering Gerald Kotonya and Ian Sommerville: Requirements Engineering Processes and Techniques,

More information

Requirements engineering

Requirements engineering engineering Chapter 4 1 Engineering in the textbook 4.1 Functional and non-functional 4.2 The software document 4.4 engineering processes 4.5 elicitation and analysis 4.3 specification 4.6 validation 4.7

More information

Requirements Engineering

Requirements Engineering Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Engineering The following slides are primarily based on the contents of the

More information

1) Software Engineering

1) Software Engineering 1) Software Engineering a) Software: Programs, documentation and configuration data which is needed to make programs operate correctly. i) Two types of Software Products: (1) Generic Products: Eg: word

More information

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 OVERVIEW... 2 SUMMARY OF MILESTONE III DELIVERABLES... 2 1. Blog Update #3 - Low-fidelity Prototyping & Cognitive Walkthrough,

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

REQUIREMENTS. Michael Weintraub Spring, 2016

REQUIREMENTS. Michael Weintraub Spring, 2016 REQUIREMENTS Michael Weintraub Spring, 2016 Unit Objective Understand what requirements are Understand how to acquire, express, validate and manage requirements Definitions A thing demanded or obligatory

More information

Requirements Validation and Negotiation (cont d)

Requirements Validation and Negotiation (cont d) REQUIREMENTS ENGINEERING LECTURE 2017/2018 Joerg Doerr Requirements Validation and Negotiation (cont d) REQUIREMENTS VALIDATION AND NEGOTIATION Requirements Validation Techniques 2 Techniques Overview

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

Natural Language Specification

Natural Language Specification REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr Natural Language Specification Most Requirements are Described in Natural Language Free Text (Prose) In Word In Excel (Tabular) In RM-Tools In Sys-ML

More information

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

Product. e ss. P roc. so get the right requirements. Garbage in garbage out, 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?

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis Scenario-Based Analysis Scenario-Based Analysis (example) Provides a more user-oriented view perspective on the design and development of an interactive system. The defining property of a scenario is that

More information

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

Requirements Engineering. Version November 2012

Requirements Engineering. Version November 2012 Requirements Engineering Version 1.8 11 November 2012 Maurizio Morisio, Marco Torchiano, 2012 Attribution-NonCommercial-NoDerivs 2.5 You are free: to copy, distribute, display, and perform the work Under

More information

Software Engineering - I

Software Engineering - I Software Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software Chapter 3 Requirement Engineering Copy Rights Virtual University of Pakistan 1 Requirement

More information

Automatic Merging of Specification Documents in a Parallel Development Environment

Automatic Merging of Specification Documents in a Parallel Development Environment Automatic Merging of Specification Documents in a Parallel Development Environment Rickard Böttcher Linus Karnland Department of Computer Science Lund University, Faculty of Engineering December 16, 2008

More information

Extreme programming XP 6

Extreme programming XP 6 Extreme programming XP 6 Planning Game 3 Planning Game Independent: Stories should be as independent as possible. When thinking of independence it is often easier to think of order independent. In other

More information

Recommended Practice for Software Requirements Specifications (IEEE)

Recommended Practice for Software Requirements Specifications (IEEE) Recommended Practice for Software Requirements Specifications (IEEE) Author: John Doe Revision: 29/Dec/11 Abstract: The content and qualities of a good software requirements specification (SRS) are described

More information

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of CA INTERNAL ASSESSENT TEST II Date : 20/09/2016 ax.arks: 50 Subject & Code: Software Engineering

More information

Requirements Engineering Process

Requirements Engineering Process Requirements Engineering Process Requirement A description of a service that the system is expected to provide and the constraints under which it must operate. 1 Requirement Types Functional Requirement

More information

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

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas 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

More information

Requirements Engineering process

Requirements Engineering process Requirements Engineering process Used to discover, analyze, validate and manage requirements Varies depending on the application domain, the people involved and the organization developing the requirements

More information

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and

More information

CMSC 435: Software Engineering Section 0201

CMSC 435: Software Engineering Section 0201 CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!

More information

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology Requirement Engineering within an Agile Environment BY KEJI GIWA HLR Workshop Requirement Catalogue Product Planning Sprint Planning Meeting Keyscreens Use Case / Epic Stories Implement Wireframes DBT

More information

Lecture 5: Requirements Specifications

Lecture 5: Requirements Specifications Lecture 5: Requirements Specifications Why we need to write specifications Purpose and audience Choosing an appropriate size and formality Desiderata for Specifications Properties of good specifications

More information

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

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture Nick Rozanski Andy Longshaw Eoin Woods Sold! How to Describe, Explain and Justify your Architecture Objectives of Today If you are an architect who has to produce an Architectural Description, then this

More information

Sample Exam Syllabus

Sample Exam Syllabus ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors

More information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements Engineering. Contents. Functional requirements. What is a requirement? Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE

More information

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona Introduction to Software Specifications and Data Flow Diagrams Neelam Gupta The University of Arizona Specification A broad term that means definition Used at different stages of software development for

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Criteria for selecting methods in user-centred design

Criteria for selecting methods in user-centred design Extended version of I-USED 2009 workshop paper Criteria for selecting methods in user-centred design Nigel Bevan Professional Usability Services 12 King Edwards Gardens, London W3 9RG, UK mail@nigelbevan.com

More information

Software Engineering Unit 4- Requirement Analysis and Specification

Software Engineering Unit 4- Requirement Analysis and Specification Software Engineering Unit 4- Requirement Analysis and Specification Requirement Engineering The process to gather the software requirements from client, analyze and document them is known as requirement

More information

System Development Life Cycle Methods/Approaches/Models

System Development Life Cycle Methods/Approaches/Models Week 11 System Development Life Cycle Methods/Approaches/Models Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme

More information

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

Building UAE s cyber security resilience through effective use of technology, processes and the local people. WHITEPAPER Security Requirement WE HAVE THE IN-HOUSE DEPTH AND BREATH OF INFORMATION AND CYBER SECURIT About Us CyberGate Defense (CGD) is a solution provider for the full spectrum of Cyber Security Defenses

More information

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs Administrivia Requirements and Specification CS169 Lecture 4 Wednesday: Groups and one-sentence idea(s) due at class One per group If you have a small group, still submit so that you will be kept together.

More information

Quality Software Requirements By J. Chris Gibson

Quality Software Requirements By J. Chris Gibson Quality Software Requirements By J. Chris Gibson The information contained within this document has been gathered from a variety of sources and practices observed by the development team at Protera Software

More information

1: Software Development and.net. An approach to building software

1: Software Development and.net. An approach to building software 1: Software Development and.net An approach to building software Overview Programming in software development Life-Cycles for software development Object-orientation and modelling Requirements analysis

More information

The software lifecycle and its documents

The software lifecycle and its documents The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes

More information

Product Quality Engineering. RIT Software Engineering

Product Quality Engineering. RIT Software Engineering Product Quality Engineering Q vs q Quality includes many more attributes than just absence of defects Features Performance Availability Safety Security Reusability Extensibility Modifiability Portability

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Authors: Andrei Kapustin, Vadim Chirikov, Marina Farr Cybernetic Intelligence GmbH, Zug, Switzerland Requirement analysis: Methodology

Authors: Andrei Kapustin, Vadim Chirikov, Marina Farr Cybernetic Intelligence GmbH, Zug, Switzerland Requirement analysis: Methodology Authors: Andrei Kapustin, Vadim Chirikov, Marina Farr Cybernetic Intelligence GmbH, Zug, Switzerland Requirement analysis: Methodology P-RAM-2002-10-1-0 September 10, 2002 Contents CONTENTS...2 1 OVERVIEW...4

More information

Requirements Engineering. Csaba Veres

Requirements Engineering. Csaba Veres Requirements Engineering Csaba Veres utline What is requirements engineering? Why is it important? How can you do it (properly)? an Requirements engineering, P11 overview quality evaluation (validation)

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Integration With the Business Modeler

Integration With the Business Modeler Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design

More information

Fundamental Shift: A LOOK INSIDE THE RISING ROLE OF IT IN PHYSICAL ACCESS CONTROL

Fundamental Shift: A LOOK INSIDE THE RISING ROLE OF IT IN PHYSICAL ACCESS CONTROL Fundamental Shift: A LOOK INSIDE THE RISING ROLE OF IT IN PHYSICAL ACCESS CONTROL Shifting budgets and responsibilities require IT and physical security teams to consider fundamental change in day-to-day

More information

Request for Proposal for Technical Consulting Services

Request for Proposal for Technical Consulting Services Request for Proposal for Technical Consulting Services The Node.js Foundation is requesting proposals from highly qualified consultants with demonstrated expertise in providing Node.js technical consultation

More information

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations

More information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

Lecture 23: Domain-Driven Design (Part 1)

Lecture 23: Domain-Driven Design (Part 1) 1 Lecture 23: Domain-Driven Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Goals for this lecture Introduce the main concepts of Domain-Driven

More information

Requirements. CxOne Standard

Requirements. CxOne Standard Requirements CxOne Standard CxStand_Requirements.doc November 3, 2002 Advancing the Art and Science of Commercial Software Engineering Contents 1 INTRODUCTION... 1 1.1 OVERVIEW... 1 1.2 GOALS... 1 1.3

More information

HCI in the software process

HCI in the software process chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

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

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 1 SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 12 th June, 2013 Instructor Information 2 Course Instructor:

More information

SOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD

SOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD Peter Mileff PhD SOFTWARE ENGINEERING Software Specification Software Design and Implementation Software Validation University of Miskolc Department of Information Technology Software Specification...

More information

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I Shree. Datta S.S.S.K. Charitable Trust s Shree.Datta Polytechnic College,Dattanagar, Shirol Class Test- I Course Code:CO6E Subject:-SOFTWARE TESTING Marks:-25 Semester:-VI Subject code:-12258 Date:- Institute

More information

BCS Certificate in Requirements Engineering Syllabus

BCS Certificate in Requirements Engineering Syllabus BCS Certificate in Requirements Engineering Syllabus Version 2.3 March 2015 Change History Any changes made to the syllabus shall be clearly documented with a change history log. This shall include the

More information

EXIN BCS SIAM Foundation. Sample Exam. Edition

EXIN BCS SIAM Foundation. Sample Exam. Edition EXIN BCS SIAM Foundation Sample Exam Edition 201704 Copyright EXIN Holding B.V. and BCS, 2017. All rights reserved. EXIN is a registered trademark. SIAM is a registered trademark. ITIL is a registered

More information

Software processes. Objectives. Contents

Software processes. Objectives. Contents 2 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process a coherent set of activities for software production. When you have read this chapter

More information

Business Analysis in Practice

Business Analysis in Practice Business Analysis in Practice (Level 2 CCBA Certification Preparation Course) Duration: 3 days PM-Partners have been leaders in project management certification for 20 years, training over 8,500 industry

More information

The IDN Variant TLD Program: Updated Program Plan 23 August 2012

The IDN Variant TLD Program: Updated Program Plan 23 August 2012 The IDN Variant TLD Program: Updated Program Plan 23 August 2012 Table of Contents Project Background... 2 The IDN Variant TLD Program... 2 Revised Program Plan, Projects and Timeline:... 3 Communication

More information

Vragen. Use case analysis. Use-Cases: describing how the user will Use cases

Vragen. Use case analysis. Use-Cases: describing how the user will Use cases Vragen Use case analysis Welke problemen kunnen optreden bij het expliciet maken van het impliciete model bij conceptueel modelleren? Wat is het doel van elicitatie? Noem een aantal elicitatie technieken?

More information

IT risks and controls

IT risks and controls Università degli Studi di Roma "Tor Vergata" Master of Science in Business Administration Business Auditing Course IT risks and controls October 2018 Agenda I IT GOVERNANCE IT evolution, objectives, roles

More information

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

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created> Software Requirements Specification for Version 1.0 approved Prepared by Software Requirements Specification for Page 2 Table of Contents Revision

More information

Interaction Design. Task Analysis & Modelling

Interaction Design. Task Analysis & Modelling Interaction Design Task Analysis & Modelling This Lecture Conducting task analysis Constructing task models Understanding the shortcomings of task analysis Task Analysis for Interaction Design Find out

More information

Software Development Chapter 1

Software Development Chapter 1 Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic

More information

ΗΜΥ 317 Τεχνολογία Υπολογισμού

ΗΜΥ 317 Τεχνολογία Υπολογισμού ΗΜΥ 317 Τεχνολογία Υπολογισμού Εαρινό Εξάμηνο 2008 ΙΑΛΕΞΕΙΣ 18-19: Έλεγχος και Πιστοποίηση Λειτουργίας ΧΑΡΗΣ ΘΕΟΧΑΡΙ ΗΣ Λέκτορας ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Ian Sommerville, Software

More information

Enterprise Data Architecture: Why, What and How

Enterprise Data Architecture: Why, What and How Tutorials, G. James, T. Friedman Research Note 3 February 2003 Enterprise Data Architecture: Why, What and How The goal of data architecture is to introduce structure, control and consistency to the fragmented

More information

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow Box Leangsuksun SWECO Endowed Professor, Computer Science Louisiana Tech University box@latech.edu CTO, PB Tech International

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information