TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Specification and Testing An introduction TDT 4242 Institutt for datateknikk og informasjonsvitenskap.

Slides:



Advertisements
Similar presentations
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Advertisements

Design Concepts and Principles
Analysis Concepts, Principles, and Modeling
Requirement Analysis and Specification Mr. Manoj Kumar Kar.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
SWE Introduction to Software Engineering
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
1 Learning from Behavior Performances vs Abstract Behavior Descriptions Tolga Konik University of Michigan.
Software Requirements
Analysis Concepts and Principles
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
1 درس مهندسي نيازمندي استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت RE in The Year 00: A Research Perspective.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Goal.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
Non-functional requirements
Chapter 4 Requirements Engineering
TDT 4242 Inah Omoronyia and Tor Stålhane Guided Natural Language and Requirement Boilerplates TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Business Analysis and Essential Competencies
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Software Requirements Presented By Dr. Shazzad Hosain.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
TDT 4242 Inah Omoronyia and Tor Stålhane Guided Natural Language and Requirement Boilerplates TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Specification and Testing An introduction TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
Requirement Handling
Requirements Engineering Overview Senior Design Don Evans.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
IS550: Software requirements engineering Dr. Azeddine Chikh 2. Functional and non-functional requirements.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
lamsweerde Chap.7: Goal Orientation in RE © 2009 John Wiley and Sons 1 Fundamentals of RE Chapter 7 Goal Orientation in.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Chapter 4 – Requirements Engineering Lecture 1 The hardest part of the software task is arriving at a complete and consistent specification, and much of.
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Classifications of Software Requirements
Chapter 4 – Requirements Engineering
Presentation on Software Requirements Submitted by
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Chapter 8 – Software Testing
Requirements Specification and Testing
SNS College of Engineering Coimbatore
Requirements Elicitation – 1
Software Requirements analysis & specifications
Requirements Specification and Testing
UNIT II.
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Behavioral goal specialization
Chapter 7 Goal Orientation in RE
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Specification and Testing An introduction TDT 4242 Institutt for datateknikk og informasjonsvitenskap

TDT 4242 Challenges in Requirements Engineering What is a requirement? What a system must do (functional): System requirements How well the system will perform its functions (non-functional): System quality attributes defined operational capabilities business needs satisfy The RE process: Ultimately:

TDT 4242 Challenges in Requirements Engineering

TDT 4242 Challenges in Requirements Engineering Source: Benoy R Nair (IBS software services) Importance of getting requirements right: 1/3 budget to correct errors originate from requirements

TDT 4242 Challenges in Requirements Engineering Source: Benoy R Nair (IBS software services) Factors that make a software project challenging:

TDT 4242 Challenges in Requirements Engineering Source: Benoy R Nair (IBS software services) Why projects are cancelled:

TDT 4242 Requirements Development - 1 Requirements Elicitation: The process of discovering the requirements for a system by communication with customers, system users and others who have a stake in the system development. Requirements gathering techniques Methodical extraction of concrete requirements from high level goals Requirements quality metrics

TDT 4242 Requirements Development – 2 Effects of Inadequate Requirements development – Ariane 5: (An expendable launch system used to deliver payloads into geostationary transfer orbit or low Earth orbit) Ariane 5 succeeded Ariane 4. Wrong implicit assumptions about the parameters, in particular the horizontal velocity that were safe for Ariane 4 but not Ariane 5. horizontal velocity exceeded the maximum value for a 16 bit unsigned integer when it was converted from it's signed 64 bit representation. Ariane 5: component (requirements) should have been designed for reuse – but the context of reuse was not specified. Cost of poor requirements in Ariane 5 Data overflow on launch Self-destruction of the complete system Loss > 500 Million EUR

TDT 4242 Requirements Development – 3 Effects of Inadequate Requirements development – Airbus: Requirement: Reverse thrust may only be used, when the airplane is landed. Translation: Reverse thrust may only be used while the wheels are rotating. Implementation: Reverse thrust may only be used while the wheels are rotating fast enough. Situation: Rainstorm – aquaplaning Result: Crash due to overshooting the runway! Problem: erroneous modeling in the requirement phase

TDT 4242 Problem world and machine solution The problem to be solved is rooted in a complex organizational, technical or physical world. The aim of a software project is to improve the world by building some machine expected to solve the problem. Problem world and machine solution each have their own phenomena while sharing others. The shared phenomena defines the interface through which the machine interacts with the world. E-commerce world Requirements engineering is concerned with the machine’s effect on the surrounding world and the assumption we make about that world.

TDT 4242 Formulation of requirements statements Statement scope: Phenomenon of train physically moving is owned by environment. It cannot be directly observed by software phenomenon The phenomenon of train measured speed being non-null is shared by software and environment. It is measured by a speedometer in the environment and observed by the software.

TDT 4242 Two types of requirements statements Descriptive statements: state properties about the system that holds regardless of how the system behaves. E.g. If train doors are open, they are not closed. Prescriptive statements: States desirable properties about the system that may hold or not depending on how the system behaves Need to be enforced by system components E.g. Train doors shall always remain closed when the train is moving

TDT 4242 Formulation of system requirement A prescriptive statement enforced by the software-to-be. Possibly in cooperation with other system components Formulated in terms of environment phenomena Example: All train doors shall always remain closed while the train is moving In addition to the software-to-be we also requires the cooperation of other components: Train controller being responsible for the safe control of doors. The passenger refraining from opening doors unsafely Door actuators working properly

TDT 4242 Formulation of software requirement A prescriptive statement enforced solely by the software-to- be. Formulated in terms of phenomena shared between the software and environment. The software “understand” or “sense” the environment through input data Example: The doorState output variable shall always have the value ‘closed’ when the measuredSpeed input variable has a non- null value

TDT 4242 Domain properties A domain property: Is a descriptive statement about the problem world Should hold invariably regardless of how the system behaves Usually corresponds to some physical laws Example: A train is moving if and only if its physical speed is non-null.

TDT 4242 Goal orientation in requirements engineering – 1 A goal is an objective that the system under consideration shall achieve. –Ranges from high-level strategic to low-level technical concerns over a system –System consist of both the software and its environment. Interaction between active components, i.e. devices, humans, software etc also called Agents

TDT 4242 Goal orientation in requirements engineering – 2 Goals can be stated at different levels of granularity: –High-level goal: A goal that requires the cooperation of many agents. They are normally stating strategic objective related to the business, e.g. The system’s transportation capacity shall be increased by 50% –Requirement: A goal under the responsibility of a single agent in the software-to-be. –Assumption (expectation): A goal under the responsibility of a single agent in the environment of the software-to-be. Assumptions cannot be enforced by the software-to-be

TDT 4242 Goal statement typology

TDT 4242 Goal types

TDT 4242 Behavioral goal specialization

TDT 4242 Goal categorization – 1 Goal categories are similar to requirements categories:

TDT 4242 Goal categorization – 2 Functional goal: States the intent underpinning a system service Satisfaction: Functional goals concerned with satisfying agent request Information: Functional goals concerned with keeping agents informed about important system states Stimulus-response: Functional goals concerned with providing appropriate response to specific event Example: The on-board controller shall update the train’s acceleration to the commanded one immediately on receipt of an acceleration command from the station computer

TDT 4242 Goal categorization – 3 Non-functional goal: States a quality or constraint on service provision or development. Accuracy goal: Non-functional goals requiring the state of variables controlled by the software to reflect the state of corresponding quantities controlled by environment agent E.g: The train’s physical speed and commanded speed may never differ by more than X miles per hour Soft goals are different from non-functional goals. Soft goals are goals with no clear-cut criteria to determine their satisfaction. E.g: The ATM interface should be more user friendly

TDT 4242 Goal refinement A mechanism for structuring complex specifications at different levels of concern. A goal can be refined in a set of sub-goals that jointly contribute to it. Each sub-goal is refined into finer-grained goals until we reach a requirement on the software and expectation (assumption) on the environment. NB: Requirements on software are associated with a single agent and they are testable

TDT 4242 Goal refinement: Example

TDT 4242 Goal refinement tree – 1 Refinement links are two way links: One showing goal decomposition, the other showing goal contribution

TDT 4242 Goal refinement tree – 2 Goal feature annotation

TDT 4242 Requirements quality metrics – 1 Qualitative Goal-Requirements tracing: An approach to requirements refinement/abstraction that makes it less likely to generate trace links that are ambiguous, inconsistent, opaque, noisy, incomplete or with forward referencing items

TDT 4242 Requirements quality metrics – 2 Ambiguity: Requirement with terms or statements that can be interpreted in different ways. Sub-class concept reasoning: Inconsistency: Requirement items that are not compatible with other requirement nodes. Predefined semantic reasoning – Cc

TDT 4242 Requirements quality metrics – 3 Forward Referencing: Requirement items that make use of problem world domain features that are not yet defined. E, C and D need to be mapped to a requirement item

TDT 4242 Requirements quality metrics – 4 Opacity: Requirement items for which rational or dependencies are invisible. Multiple unrelated concept mapping. A is not related to B

TDT 4242 Requirements quality metrics – 5 Noise: Requirement items that yield no information on problem world features. X refers to a concept undefined in the domain

TDT 4242 Requirements quality metrics – 6 Completeness: The needs of a prescribed system are fully covered by requirement items without any undesirable outcome. No requirement item mentions the goal concept Z

Quality metrics on a requirements set provides useful understanding, tracking and control of requirements improvement process. Requirements quality metrics

TDT 4242 Where do the goals come from? We get goals from: Preliminary analysis of the current system. Systematically by searching intentional keywords in documents provided, interview transcripts etc. E.g. ‘objective’, ‘purpose’, ‘in order to’. Iterative refinement and abstraction of high-level goals: By asking the how and why question. Results in a goal refinement tree Approaches: KAOS – Goal driven requirements acquisition.

TDT 4242 Summary Goals can be defined at different levels of abstraction There are two types of goals: Behavioral or soft goal There are several categories of goals, e.g. Functional and non-functional Goal refinement provides a natural mechanism for structuring complex specifications at different levels of concern: Goal refinement graph