CIS 890: Safety Critical Systems

Size: px
Start display at page:

Download "CIS 890: Safety Critical Systems"

Transcription

1 CIS 890: Safety Critical Systems Lecture: Requirements Introduction Copyright 2011, John Hatcliff. The syllabus and all lectures for this course are copyrighted materials and may not be used in other course settings outside of Kansas State University in their current form or modified form without the express written permission of one of the copyright holders. During this course, students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of one of the copyright holders.

2 Objectives Understand the role requirements play in a software development process Identify the primary stakeholders in requirements management Survey different types of requirements Understand the general structure of a requirements document List characteristics of good requirements

3 Software Development Ecosphere Goals Design Agreement, Shared View? Assumptions Domain Knowledge

4 Importance of Requirements Errors made during the requirements stage account for 40 to 60 percent of all defects found in a software project -- Davis 1993; Leffingwell 1997.

5 Importance of Requirements The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify. -- Fred Brooks, in "No Silver Bullet: Essence and Accidents of Software Engineering".

6 Stakeholders Nowhere more than in the requirements process do the interests of all the stakeholders in a software or system project intersect Customers -- fund a project or acquire a product to satisfy their organization s business objectives. Users -- interact directly or indirectly with the product (a subclass of customers). Requirements analysts -- write the requirements and communicate them to the development community. Developers -- design, implement, and maintain the product. Testers -- determine whether the product behaves as intended. Documentation writers -- produce user manuals, training materials, and help systems.

7 Stakeholders Nowhere more than in the requirements process do the interests of all the stakeholders in a software or system project intersect Manufacturing people must build the products that contain software. Sales, marketing, field support, help desk, etc. -- who will have to work with the product and its customers. Because requirements are the foundation for both the software development and the project management activities, all stakeholders must be committed to following an effective requirements process.

8 Importance of Requirements The importance of requirements is often overlooked in the small, relatively clearly defined programming projects that you encounter as a student. You usually get the requirements (in the form of a homework description) in a fully formed state directly from the instructor. There is no iterative process of establishing agreement because what the instructor says, goes. There are only two stakeholders: you and the instructor. The projects are often small enough that there are very few non-trivial complexities that need to be understood. For pedagogical reasons (e.g., to relate to what students know ), the application domain is often quite familiar to you. Due to time pressures (i.e., a course is 16 weeks), instructors don t have time to walk you through an iterative requirements development process.

9 Definition Many definitions of requirement have been proposed in the context of computer science. 1. A condition or capability needed by a user to solve a problem or achieve an objective. 2. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document. 3. A documented representation of a condition or capability as in 1 or 2 -- IEEE Standard Glossary of Software Engineering Terminology (1990) NOTE: The term user should be generalized to stakeholder because not all stakeholders are users.

10 Definition Many definitions of requirement have been proposed in the context of computer science. Requirements are...a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system. -- Sommerville and Sawyer (1997)

11 Definition Many definitions of requirement have been proposed in the context of computer science. Requirements are... "anything that drives design choices. -- Lawrence (1997)

12 Definition Many definitions of requirement have been proposed in the context of computer science. A statement of a customer need or objective, or of a condition or capability that a product must possess to satisfy such a need or objective. A property that a product must have to provide value to a stakeholder. -- Wiegers, Karl (2009). Software Requirements NOTE: We will use this definition (for now!)

13 Definition Many definitions of requirement have been proposed in the context of computer science. Clearly, there s no universal definition of what a requirement is To facilitate communication, we need to agree on a consistent set of adjectives to modify the overloaded term requirement We need to appreciate the value of recording these requirements in a shareable form

14 Kinds of Requirements There are several different flavors of requirements Business requirements Represent high-level objectives of the organization or customer who requests the system. Typically come from the funding sponsor for a project, the acquiring customer, the manager of the actual users, the marketing department, or a product visionary. Describe why the organization is implementing the system the objectives the organization hopes to achieve. Typically recorded the business requirements in a vision and scope document NOTE: We usually don t list this information explicitly in requirements for safety-critical systems, but might provide it in a background section.

15 Kinds of Requirements There are several different flavors of requirements Business requirements -- examples Achieve a customer satisfaction measure of at least X within Y months of release. Increase transaction-processing productivity by X% and reduce data error rate to no more than Y%. Reach a sales volume of X units or revenue of $Y within Z months.

16 Kinds of Requirements There are several different flavors of requirements User Requirements Describe user goals or tasks that the users must be able to perform with the product. May be represented by use cases, scenario descriptions, and event-response tables. Describe what the user will be able to do with the system.

17 Kinds of Requirements There are several different flavors of requirements User Requirements -- examples Enable the user to print a mailing label for a package." Enable the user to manage a queue of chemical samples waiting to be analyzed." Enable the user to calibrate the pump controller. NOTE: This sort of information would typically become the title/subject of use-cases in the FAA REMH, and the capabilities above would be broken down into a series of user interactions with the system.

18 Kinds of Requirements There are several different flavors of requirements Functional Requirements Specify the software functionality that the developers must build into the product to enable users to accomplish their tasks, thereby satisfying the business requirements. Sometimes called behavioral requirements, these are the traditional "shall" statements: "The system shall a reservation

19 Kinds of Requirements There are several different flavors of requirements Functional Requirements -- examples The user shall be able to toggle between displaying and hiding all XML tags in the document being edited with the activation of a specific triggering mechanism. The display shall change in 0.1 second or less. At the time the requester enters a charge number, the system shall validate the charge number against the master corporate charge number list. If the charge number is not found on the list, the system shall display an error message and shall not accept the order.

20 Kinds of Requirements There are several different flavors of requirements Business rules Business rules include corporate policies, government regulations, industry standards, accounting practices, and computational algorithms. Business rules are not themselves software requirements because they exist outside the boundaries of any specific software system. However, they often restrict who can perform certain use cases or they dictate that the system must contain functionality to comply with the pertinent rules. Sometimes business rules are the origin of specific quality attributes that are implemented in system functionality (you may trace specific functional requirements back to business rules)

21 Kinds of Requirements There are several different flavors of requirements Quality Attribute Augment the description of the product s functionality by describing the product s characteristics in various dimensions that are important either to users or to developers. E.g., usability, portability, integrity, efficiency, and robustness. There are many forms of non-functional requirements Specific example Performance Requirement (non-functional) The system SHALL handle 1,000 transactions per second

22 Kinds of Requirements There are several different flavors of requirements External Interfaces describe external interfaces between the system and the outside world E.g., use of a database package or web-service

23 Kinds of Requirements Relating different kinds of requirements Wiegers, Karl (2009). Software Requirements (Chapter 1)

24 SRS The Software Requirements Specification document Functional requirements are documented in a software requirements specification (SRS), which describes as fully as necessary the expected behavior of the software system. The SRS is used in development, testing, quality assurance, project management, and related project functions.

25 SRS Several audiences rely on the SRS Customers, the marketing department, and sales staff need to know what product they can expect to be delivered. Project managers base their estimates of schedule, effort, and resources on the product description. Software development team relies on SRS to know what to build. The testing group uses the SRS to develop test plans, cases, and procedures. The SRS tells maintenance and support staff what each part of the product is supposed to do. Documentation writers base user manuals and help screens on the SRS and the user interface design. Training personnel use the SRS and user documentation to develop educational materials. Legal staff ensure that the requirements comply with applicable laws and regulations. Subcontractors base their work on, and can be legally held to, the SRS.

26 SRS Outline A possible outline for an SRS is given below

27 Requirements Statement Characteristics of good requirements statements Complete Each requirement must fully describe the functionality to be delivered. It must contain all the information necessary for the developer to design and implement that bit of functionality. If you know you re lacking certain information, use TBD (to be determined) as a standard flag to highlight these gaps. Resolve all TBDs in each portion of the requirements before you proceed with construction of that portion.

28 Requirements Statement Characteristics of good requirements statements Correct Each requirement must accurately describe the functionality to be built. The reference for correctness is the source of the requirement, such as an actual user or a high-level system requirement. A software requirement that conflicts with its parent system requirement is not correct. Only user representatives can determine the correctness of user requirements, which is why users or their close surrogates must review the requirements.

29 Requirements Statement Characteristics of good requirements statements Feasible It must be possible to implement each requirement within the known capabilities and limitations of the system and its operating environment. To avoid specifying unattainable requirements, have a developer work with marketing or the requirements analyst throughout the elicitation process.

30 Requirements Statement Characteristics of good requirements statements Necessary Each requirement should document a capability that the customers really need or one that s required for conformance to an external system requirement or a standard. Every requirement should originate from a source that has the authority to specify requirements. Trace each requirement back to specific voice-of-the-customer input, such as a use case, a business rule, or some other origin.

31 Requirements Statement Characteristics of good requirements statements Prioritized Assign an implementation priority to each functional requirement, feature, or use case to indicate how essential it is to a particular product release. If all the requirements are considered equally important, it s hard for the project manager to respond to budget cuts, schedule overruns, personnel losses, or new requirements added during development.

32 Requirements Statement Characteristics of good requirements statements Unambiguous All readers of a requirement statement should arrive at a single, consistent interpretation of it, but natural language is highly prone to ambiguity. Write requirements in simple, concise, straightforward language appropriate to the user domain. "Comprehensible" is a requirement quality goal related to "unambiguous": readers must be able to understand what each requirement is saying. Define all specialized terms and terms that might confuse readers in a glossary.

33 Requirements Statement Characteristics of good requirements statements Verifiable See whether you can devise a few tests or use other verification approaches, such as inspection or demonstration, to determine whether the product properly implements each requirement. If a requirement isn t verifiable, determining whether it was correctly implemented becomes a matter of opinion, not objective analysis. Requirements that are incomplete, inconsistent, infeasible, or ambiguous are also unverifiable (Drabick 1999).

34 Requirements Specifications It s not enough to have excellent individual requirement statements. Sets of requirements that are collected into a specification ought to exhibit the characteristics described in the following slides.

35 Requirements Specifications Characteristics of good requirements specifications Complete No requirements or necessary information should be missing. Missing requirements are hard to spot because they aren t there! Various techniques are available to help find missing requirements Focusing on user tasks, rather than system functions, can help you to prevent incompleteness.

36 Requirements Specifications Characteristics of good requirements specifications Consistent Consistent requirements don t conflict with other requirements of the same type or with higher-level business, system, or user requirements. Disagreements between requirements must be resolved before development can proceed. You might not know which single requirement (if any) is correct until you do some research. Recording the originator of each requirement lets you know who to talk to if you discover conflicts.

37 Requirements Specifications Characteristics of good requirements specifications Modifiable You must be able to revise the SRS when necessary and to maintain a history of changes made to each requirement. This dictates that each requirement be uniquely labeled and expressed separately from other requirements so that you can refer to it unambiguously. Each requirement should appear only once in the SRS. It s easy to generate inconsistencies by changing only one instance of a duplicated requirement. Consider cross-referencing subsequent instances back to the original statement instead of duplicating the requirement. A table of contents and an index will make the SRS easier to modify. Storing requirements in a database or a commercial requirements management tool makes them into reusable objects.

38 Requirements Specifications Characteristics of good requirements specifications Traceable A traceable requirement can be linked backward to its origin and forward to the design elements and source code that implement it and to the test cases that verify the implementation as correct. Traceable requirements are uniquely labeled with persistent identifiers. They are written in a structured, fine-grained way as opposed to crafting long narrative paragraphs. Avoid lumping multiple requirements together into a single statement; the different requirements might trace to different design and code elements.

39 Summary Requirements development/management is a crucial part of any significant software development project Requirements establish agreement among all stakeholders concerning the functionality/properties that the resulting system must provide. Mistakes in requirements can often have a significant negative impact on the rest of development. There are multiple flavors of requirements; the two primary categories are functional and non-functional requirements. It s important to understand the characteristics of a good set of requirements.

40 For You To Do List the primary stakeholders (identified in this lecture) in requirements management. Provide a good definition of requirements that addresses both functional and non-functional aspects. List characteristics of good requirements statements. List characteristics of good requirements specifications. Discuss the concept of requirements traceability and its importance in development.

41 Acknowledgements The material in this lecture is based almost entirely on Software Requirements (2 nd Ed.), Karl E. Wiegers, Microsoft Press, 2003.

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

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

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

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

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created> Software Requirements Specification for Version 1.0 approved Prepared by Copyright 2002 by Karl E. Wiegers. Permission is granted to use, modify, and distribute

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

Intro to Software Requirements

Intro to Software Requirements Intro to Software Requirements What question do software requirements answer? Who, what, when, where, why, how What is the system to do? Who are the system user groups? Business case tells us why (and

More information

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

Mathematics and Computing: Level 2 M253 Team working in distributed environments Mathematics and Computing: Level 2 M253 Team working in distributed environments SR M253 Resource Sheet Specifying requirements 1 Overview Having spent some time identifying the context and scope of our

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

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

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

Lecture 7 (3-April-2013)

Lecture 7 (3-April-2013) SOFTWARE QUALITY ASSURANCE Lecture 7 (3-April-2013) Instructor: Mr. Natash Ali Mian Department of CS and IT Department of CS and IT The University of Lahore ` Switch off mobile phones during lectures,

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

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

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

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

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

Requirements Gathering

Requirements Gathering Introduction to Requirements Gathering Prepared for: St. Edwards University Analysis, Modeling and Design MCIS6310 Dr. David Franke 6 June 2006 Copyright 2005-2006 Tyner Blain LLC 1 Outline 1. Overview

More information

Elements of Requirements Style

Elements of Requirements Style Elements of Requirements Style Sponsored by: Karl Wiegers Principal Consultant, Process Impact www.processimpact.com Sponsor: Seilevel Published in 2012: Visual Models for Software Requirements Karl and

More information

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

Delimited. Interfaced. Readable. Modifiable. Verifiable. Prioritized* Endorsed 15 quality goals for requirements Justified Correct Complete Consistent Unambiguous Feasible Abstract Traceable Delimited Interfaced Readable Modifiable Verifiable Prioritized* Endorsed Marked attributes

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

Elements of Requirements Style

Elements of Requirements Style Elements of Requirements Style Sponsored by: Karl Wiegers Principal Consultant, Process Impact www.processimpact.com Introduction to Requirements Analysis Improve Quality & Reduce Risk Author Requirements

More information

Quality Software Requirements By J. Chris Gibson

Quality Software Requirements By J. Chris Gibson Quality Software Requirements By J. Chris Gibson It has been stated that deficiencies in software requirements are the leading cause of failure in software projects. 1 If this is true then the contrapositive

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

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

Software Quality. Chapter What is Quality?

Software Quality. Chapter What is Quality? Chapter 1 Software Quality 1.1 What is Quality? The purpose of software quality analysis, or software quality engineering, is to produce acceptable products at acceptable cost, where cost includes calendar

More information

QA Best Practices: A training that cultivates skills for delivering quality systems

QA Best Practices: A training that cultivates skills for delivering quality systems QA Best Practices: A training that cultivates skills for delivering quality systems Dixie Neilson QA Supervisor Lynn Worm QA Supervisor Maheen Imam QA Analyst Information Technology for Minnesota Government

More information

Standards for Writing Requirements and Specifications. Drs. Schesser & Simone BME 496 Capstone II

Standards for Writing Requirements and Specifications. Drs. Schesser & Simone BME 496 Capstone II Standards for Writing Requirements and Specifications 1 Standards for Requirements Documents Based on the ANSI/IEEE Guide to Software Requirements STD 830-1984 Requirements use the shall language The system

More information

CS3500: Object-Oriented Design Fall 2013

CS3500: Object-Oriented Design Fall 2013 CS3500: Object-Oriented Design Fall 2013 Class 20 11.12.2013 Assignment 8 Due Friday, November 15, 2013 2 Software Process Phases of the Software Requirements Process Design Implementation Testing Maintenance

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

Chapter 9: Documenting the Requirements

Chapter 9: Documenting the Requirements Karl Wiegers (1999) Software Requirements Microsoft Press ISBN 0-7356-0631-5 Found March 3, 2001 at: http://mspress.microsoft.com/prod/books/sampchap/3215/ Chapter 9: Documenting the Requirements Requirements

More information

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

Purpose and Structure of Requirements Specifications (following IEEE 830 Standard) SEG3101 (Fall 2010) Purpose and Structure of Requirements Specifications (following IEEE 830 Standard) Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with

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

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

Friends, Romans, countrymen use your EARS & Improve your requirements

Friends, Romans, countrymen use your EARS & Improve your requirements Friends, Romans, countrymen use your EARS & Improve your requirements (Not from Julius Caesar by William Shakespeare ) siemens.co.uk Introduction I Work for Siemens within the Rail Automation business.

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

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

Software Requirements Specification (SRS) Software Requirements Specification for <Name of Project>

Software Requirements Specification (SRS) Software Requirements Specification for <Name of Project> Software Requirements Specification (SRS) Software Requirements Specification for Version Release Responsible Party Major Changes Date 0.1 Initial Document Release for

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

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

Lecture 9 Requirements Engineering II

Lecture 9 Requirements Engineering II Lecture 9 Requirements Engineering II Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 23, 2008 Announcements

More information

Software Specification and Architecture 2IW80

Software Specification and Architecture 2IW80 Software Specification and Architecture 2IW80 Julien Schmaltz (slides partly from M. Mousavi and A. Serebrenik) Lecture 02: Requirements Requirements specification» Textual description of system behaviour»

More information

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (slides partly from M. Mousavi and A. Serebrenik) Lecture 02: Requirements Requirements specification» Textual description of system behaviour» Basic specification

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

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

How to choose a website design firm

How to choose a website design firm How to choose a website design firm 22 questions to ask before engaging in an important partnership Website development projects can be fraught with risk. Organizations often wonder: How can we be sure

More information

OpenChain Specification Version 1.3 (DRAFT)

OpenChain Specification Version 1.3 (DRAFT) OpenChain Specification Version 1.3 (DRAFT) 2018.10.14 DRAFT: This is the draft of the next version 1.3 of the OpenChain specification. Recommended changes to be made over the current released version

More information

Information Official District information as defined herein and/or by other Board policy.

Information Official District information as defined herein and/or by other Board policy. AP 3730 WEB STANDARDS References: Section 508 of the Rehabilitation Act of 1973 (29 U.S. Code Section 794d); 36 Code of Federal Regulations Sections 1194.1 et seq.; Government Code Section 11135; Title

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

[Product] MTM Program Product Software Requirements Specification

[Product] MTM Program Product Software Requirements Specification [Product] Software Requirements Specification [Version Number] [Version Date] [Product] MTM Program Product Software Requirements Specification [SRS Version Number] [SRS Version Date] [Applying MTM SRS

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

Basics : the Requirements Engineering Process

Basics : the Requirements Engineering Process SEG3101 (Fall 2010) Basics : the Requirements Engineering Process Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides prepared by Gunter Mussbacher with material from: Sommerville & Kotonya

More information

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

Deliver robust products at reduced cost by linking model-driven software testing to quality management. Quality management White paper September 2009 Deliver robust products at reduced cost by linking model-driven software testing to quality management. Page 2 Contents 2 Closing the productivity gap between

More information

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

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax Chapter 2 Requirements A requirement is a textual description of system behaviour. A requirement describes in plain text, usually English, what a system is expected to do. This is a basic technique much

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

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

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

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

Creating and Checking the PIRLS International Database

Creating and Checking the PIRLS International Database Chapter 8 Creating and Checking the PIRLS International Database Juliane Barth and Oliver Neuschmidt 8.1 Overview The PIRLS 2006 International Database is a unique resource for policy makers and analysts,

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

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

Chapter 4 Requirements Elicitation

Chapter 4 Requirements Elicitation Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 4 Requirements Elicitation Outline Today: Motivation: Software Lifecycle Requirements elicitation challenges Problem statement

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

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

Software Design Models, Tools & Processes. Lecture 2: Inception Phase Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 2: Inception Phase Cecilia Mascolo Software Design Models, Tools & Processes Lecture 2: Inception Phase Cecilia Mascolo Inception Phase This is the phase when most of the system requirements are identified. Discover and reach agreement

More information

Process Improvement Proposals in System Requirements Management - an Industrial Case Study

Process Improvement Proposals in System Requirements Management - an Industrial Case Study Authors Date Åsa Karlsson, Urban Martinsson 2001-08-25 Security Status Thesis registration number Doc. No/Revision External CODEN:LUTEDX(TETS-5340)/1-149/(2001)&local14 0.15 Process Improvement Proposals

More information

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Elisa Baniassad - Reid Holmes How the customer explained it How the project leader understood it How the

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

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

Rules of Writing Software Requirement Specifications

Rules of Writing Software Requirement Specifications Short Note. Version 1a, FGCU April 10, 2018 A properly written Software Requirements Specification should adhere to a number of rules that can be expressed as matching the following properties: 1) Clarity

More information

COMP6471 WINTER User-Centered Design

COMP6471 WINTER User-Centered Design COMP6471 WINTER 2003 User-Centered Design Instructor: Shahriar Ameri, Ph.D. Student: Pedro Maroun Eid, ID# 5041872. Date of Submission: Monday, March 10, 2003. (Week 9) Outline Outline... 2 ABSTRACT...3

More information

"Writing Higher Quality Software Requirements"

Writing Higher Quality Software Requirements BW6 Class 6/9/2010 2:30:00 PM "Writing Higher Quality Software Requirements" Presented by: John Terzakis Intel Brought to you by: 330 Corporate Way, Suite 300, Orange Park, FL 32073 888 268 8770 904 278

More information

CIS 890: Safety Critical Systems

CIS 890: Safety Critical Systems CIS 890: Safety Critical Systems Lecture: SPARK -- Analysis Tools Copyright 2007, John Hatcliff. The syllabus and all lectures for this course are copyrighted materials and may not be used in other course

More information

EXAM PREPARATION GUIDE

EXAM PREPARATION GUIDE EXAM PREPARATION GUIDE PECB Certified ISO 21500 Lead Project Manager The objective of the PECB Certified ISO 21500 Lead Project Manager examination is to ensure that the candidate has the knowledge and

More information

HITSP Standards Harmonization Process -- A report on progress

HITSP Standards Harmonization Process -- A report on progress Document Number: HITSP 06 N 75 Date: May 4, 2006 HITSP Standards Harmonization Process -- A report on progress Arlington, VA May 4 th, 2006 0 What Was Done Reviewed obligations from federal contract Observed

More information

Questionnaire Specification Database for Blaise Surveys

Questionnaire Specification Database for Blaise Surveys Questionnaire Specification Database for Blaise Surveys Lilia Filippenko, Valentina Grouverman, Joseph Nofziger, RTI International 1 Introduction Developing large scale, complex Computer Assisted Interview

More information

XIV. The Requirements Specification Document (RSD)

XIV. The Requirements Specification Document (RSD) XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John

More information

Advanced Software Engineering: Software Testing

Advanced Software Engineering: Software Testing Advanced Software Engineering: Software Testing COMP 3705(L4) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson Web: http://www.megadatasys.com Assisted with templates News & Project News

More information

Verification, Testing, and Bugs

Verification, Testing, and Bugs Verification, Testing, and Bugs Ariane 5 Rocket First Launch Failure https://www.youtube.com/watch?v=gp_d8r- 2hwk So What Happened? The sequence of events that led to the destruction of the Ariane 5 was

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

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

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method Course Syllabus for 3 days Expert led Enterprise Architect hands-on training "An Architect, in the subtlest application of the word, describes one able to engage and arrange all elements of an environment

More information

ATTACHMENT 2, EXHIBIT 3 Deliverable Expectation Document Template For [Deliverable Title]

ATTACHMENT 2, EXHIBIT 3 Deliverable Expectation Document Template For [Deliverable Title] ATTACHMENT 2, EXHIBIT 3 Expectation Document Template For [ Title] [This template provides a sample of the required contents of a Expectation Document (DED). Work plans that support the activity summary

More information

Software architecture: Introduction

Software architecture: Introduction 2IW80 Software specification and architecture Software architecture: Introduction Alexander Serebrenik This week sources Slides by Johan Lukkien and Rudolf Mak Software architecture Software architecture

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/17/2015 http://cs.gsu.edu/~ncasturi1 Requirement Elicitation 2 Requirement Engineering First step for understanding the

More information

Proposal: [Product Name] User Documentation

Proposal: [Product Name] User Documentation l i s a p r i c e Proposal: [Product Name] User Documentation l i s a @ w r i n k l y b r a i n. c o m w w w. w r i n k l y b r a i n. c o m Introduction As my first project for [Client] as a contractor,

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

The Open Group SOA Ontology Technical Standard. Clive Hatton

The Open Group SOA Ontology Technical Standard. Clive Hatton The Open Group SOA Ontology Technical Standard Clive Hatton The Open Group Releases SOA Ontology Standard To Increase SOA Adoption and Success Rates Ontology Fosters Common Understanding of SOA Concepts

More information

Prototyping. Lecture # 21

Prototyping. Lecture # 21 Prototyping Lecture # 21 1 Prototyping It is the technique of constructing a partial implementation of a system so that customers, users, or developers can learn more about a problem or a solution to that

More information

Building a Better Data System: What Are Process and Data Models?

Building a Better Data System: What Are Process and Data Models? Building a Better Data System: What Are Process and Data Models? Robin Nelson Bruce Bull The DaSy Center The contents of this report were developed under a grant from the U.S. Department of Education,

More information

The Web Service Sample

The Web Service Sample The Web Service Sample Catapulse Pacitic Bank The Rational Unified Process is a roadmap for engineering a piece of software. It is flexible and scalable enough to be applied to projects of varying sizes.

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Foundations Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are copyrighted

More information

APPENDIX B STATEMENT ON STANDARDS FOR CONTINUING PROFESSIONAL EDUCATION (CPE) PROGRAMS

APPENDIX B STATEMENT ON STANDARDS FOR CONTINUING PROFESSIONAL EDUCATION (CPE) PROGRAMS APPENDIX B STATEMENT ON STANDARDS FOR CONTINUING PROFESSIONAL EDUCATION (CPE) PROGRAMS Appendix B-1 STATEMENT ON STANDARDS FOR CONTINUING PROFESSIONAL EDUCATION (CPE) PROGRAMS The following standards are

More information

EXAM PREPARATION GUIDE

EXAM PREPARATION GUIDE When Recognition Matters EXAM PREPARATION GUIDE PECB Certified ISO 22000 Lead Auditor www.pecb.com The objective of the Certified ISO 22000 Lead Auditor examination is to ensure that the candidate has

More information

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team Certified Software Quality Engineer (CSQE) Preparation course is an on demand, web-based course design to be a comprehensive, in-depth review of the topics in the ASQ s Certified Software Quality Engineer

More information

UNCONTROLLED IF PRINTED

UNCONTROLLED IF PRINTED 161Thorn Hill Road Warrendale, PA 15086-7527 1. Scope 2. Definitions PROGRAM DOCUMENT PD 1000 Issue Date: 19-Apr-2015 Revision Date: 26-May-2015 INDUSTRY MANAGED ACCREDITATION PROGRAM DOCUMENT Table of

More information

CIS 771: Software Specifications. Lecture: Alloy Whirlwind Tour (part A)

CIS 771: Software Specifications. Lecture: Alloy Whirlwind Tour (part A) CIS 771: Software Specifications Lecture: Alloy Whirlwind Tour (part A) Copyright 2007, John Hatcliff, and Robby. The syllabus and all lectures for this course are copyrighted materials and may not be

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

IT Accessibility

IT Accessibility Objective: The University of Tennessee (UT) strives to deploy information, materials, and technology that have been designed, developed, or procured to be accessible to individuals with disabilities, including

More information

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

Requirements. Requirements. Types of Requirement. What Is a Requirement? Beatrice Åkerblom beatrice@dsv.su.se 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?!

More information

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.

More information

David Gelperin ClearSpecs Enterprises Copyright 2014 by ClearSpecs Enterprises.

David Gelperin ClearSpecs Enterprises   Copyright 2014 by ClearSpecs Enterprises. User Guide for LiteRM - Comp using WhizFolders David Gelperin ClearSpecs Enterprises Email: david@clearspecs.com Copyright 2014 by ClearSpecs Enterprises. Preface This guide is not a tutorial on project

More information