Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo);

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

Software system modeling
Alternate Software Development Methodologies
Introduction To System Analysis and Design
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong.
Requirements Analysis and Specification
Software Requirements
Requirements (recap)‏
Overview of Software Requirements
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
SE 555 Software Requirements & Specification Requirements Analysis.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
USE Case Model.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
The Software Development Life Cycle: An Overview
Chapter 10 Architectural Design
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Requirements Expression and Modelling
CS 310 Ch8: System models Abstract descriptions of systems being analyzed to help the analyst understand the system functionality communicate with customers.
ITEC224 Database Programming
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Functional Modeling – Requirement Patterns (Problem Frames)
Introduction To System Analysis and Design
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Formal Methods.
Requirements Validation
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Requirement Engineering
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Requirements Engineering Methods for Requirements Engineering Lecture-31.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Miguel Garzón, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Requirements Specification
Chapter 4 – Requirements Engineering
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Requirements Verification and Validation
Requirements Verification and Validation
Requirements Verification and Validation
Presentation transcript:

Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo); R. Pressman; D. Damian; Amyot 2008, Somé 2008 Introduction to Requirements Analysis and Specification SEG3101 (Fall 2011)

SEG3101 (Fall 2011). Introduction to Analysis and Specification 2 Table of Contents Introduction to Requirements Analysis Modeling

Introduction to Requirements Analysis

SEG3101 (Fall 2011). Introduction to Analysis and Specification 4 What is Requirements Analysis The process of studying and analyzing the customer and the user needs to arrive at a definition of the problem domain and system (and software) requirements Analysis goes hand-in-hand with modeling Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization

SEG3101 (Fall 2011). Introduction to Analysis and Specification 5 Objectives of Requirements Analysis Detect and resolve conflicts between (user) requirements Negotiate priorities of stakeholders Prioritize and triage requirements Elaborate system requirements, defined in the requirement specification document, such that managers can give realistic project estimates and developers can design, implement, and test Classify requirements information into various categories and allocate requirements to sub-systems Evaluate requirements for desirable qualities Make sure that nothing is forgotten Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization

SEG3101 (Fall 2011). Introduction to Analysis and Specification 6 Requirements Analysis Analysis and elicitation feed each other Elicitation Analysis Elicitation Notes Questions and points to consider Requirements Specification Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization

SEG3101 (Fall 2011). Introduction to Analysis and Specification 7 Requirements Modeling This is an essential task in specifying requirements Map elements obtained by elicitation to a more precise form Help better understand the problem Help find what is missing or needs further discussion Different modeling languages Informal: natural language Goal-oriented modeling (GRL) Functional modeling: UML (Unified Modeling Notation) SDL (Specification and Description Language) Logic, e.g. Z, VDM (Vienna Development Method) UCM (Use Case Maps)... Introduction to Requirements Specification Software Quality Classifications of NFRs Quality Measures

SEG3101 (Fall 2011). Introduction to Analysis and Specification 8 Requirements Verification and Validation Need to be performed at every stage during the (requirements) process Elicitation Checking back with the elicitation sources “So, are you saying that..... ?” Analysis Checking that the domain description and requirements are correct Specification Checking that the defined system requirement will meet the user requirements under the assumptions of the domain/environment Checking conformity to well-formedness rules, standards… Introduction Simple Checks Prototyping Functional Test Design User Manual Formal V&V Reviews and Inspections

The Use of Models

SEG3101 (Fall 2011). Introduction to Analysis and Specification 10 Models According to B. Selic, a model is a reduced representation (simplified, abstract) of (one aspect of) a system used to: Help understand complex problems and / or solutions Communicate information about the problem / solution Direct implementation Qualities of a good model Abstract Understandable Accurate Predictive Inexpensive Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization

SEG3101 (Fall 2011). Introduction to Analysis and Specification 11 Modeling Notations Natural language (English) +No special training required -Ambiguous, verbose, vague, obscure... -No automation Ad hoc notation (bubbles and arrows) +No special training required -No syntax formally defined - meaning not clear, ambiguous -No automation Semi-formal notation (URN, UML...) +Syntax (graphics) well defined +Partial common understanding, reasonably easy to learn +Partial automation -Meaning only defined informally -Still a risk of ambiguities Formal notation (Logic, SDL, Petri nets, FSM...) +Syntax & semantics defined +Great automation (analysis and transformations) -More difficult to learn & understand Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization

SEG3101 (Fall 2011). Introduction to Analysis and Specification 12 Modeling notations (2) Informal language is better understood by all stakeholders Good for user requirements, contract But, language lacks precision Possibility for ambiguities Lack of tool support Formal languages are more precise Fewer possibilities for ambiguities Offer tool support (e.g. automated verification and transformation) Intended for developers Source (for decision table): Easterbrook and Callahan, 1997 Introduction to Requirements Specification Software Quality Classifications of NFRs Quality Measures

SEG3101 (Fall 2011). Introduction to Analysis and Specification 13 Modeling Structure Concepts of Entities and their Relationships. Use one of the following notations: ERD (Entity Relationship Diagram – the traditional version) UML class diagrams Relational tables Can be used for the following Model of the problem domain (called “domain model”) The two versions: existing and to-be Model of input and output data structures of system-to-be Model of the stored data (database) not necessarily an image of the domain data Additional data is introduced (e.g. user preferences) Architectural design of the system-to-be Introduction to Requirements Specification Software Quality Classifications of NFRs Quality Measures

SEG3101 (Fall 2011). Introduction to Analysis and Specification 14 Modeling inputs and outputs Nature of inputs and outputs: IO related to problem (problem data) Additional data related to solution (solution data) E.g., prompts, user options, error messages… Collected in Data Dictionary using Plain text (natural language) EBNF Code-like notations Logic (e.g., VDM) Structure charts … Graphical output (screens, forms) Iconic (representational) drawings, prototype screens or forms, printouts produced by operational prototype Introduction to Requirements Specification Software Quality Classifications of NFRs Quality Measures

SEG3101 (Fall 2011). Introduction to Analysis and Specification 15 Modeling Dynamic Behavior Behavior modeling techniques Text (plain, function statements, use cases) Decision tables Activity Diagrams / Use Case Maps Finite state machines Simple state machines (FSM) : use state diagrams or transition table notation Extended state machines (e.g. UML State Machines – including SDL) Harel’s State Charts (concepts included in UML notation) Petri nets (allows for flexible concurrency, e.g. for data flow, similar to Activitity Diagrams) Logic (e.g. Z, VDM) for describing input-output assertions and possibly relationship to internal object state that is updated by operations) It is important to chose what best suits the problem Introduction to Requirements Specification Software Quality Classifications of NFRs Quality Measures

SEG3101 (Fall 2011). Introduction to Analysis and Specification 16 Model Analysis By construction We learn by questioning and describing the system By inspection Execute/analyze the model in our minds Reliable? By formal analysis Requires formal semantics (mathematical) and tools Reliable (in theory), but expensive (for certain modeling approaches) By testing Execution, simulation, animation, test... Requires well-defined semantics and execution/simulation tools More reliable than inspection for certain aspects Possible to interact directly with the model (prototype) Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization

SEG3101 (Fall 2011). Introduction to Analysis and Specification 17 Typical Modeling Approaches Many approaches involve modeling to get a global picture of the requirements Structured Analysis (1970) Object-Oriented Analysis (1990) Problem Frames (1995) State Machine-Based Analysis Conflict Analysis E.g. with mis-use cases or with GRL/UCM models and strategies/scenarios It is important to distinguish between Notation used for defining the model Process defining a sequence of activities leading to a desired model Note: Analysis can be on individual requirements as well Remember tips and tricks on how to write better requirements Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization