Requirements Analysis

Slides:



Advertisements
Similar presentations
© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Testing and Quality Assurance
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Unified Modeling (Part I) Overview of UML & Modeling
Requirements Analysis Concepts & Principles
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Requirements Engineering Process – 1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
Requirements Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Chapter 3 Software Processes.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Principles of Object Technology Module 1: Principles of Modeling.
The Software Development Life Cycle: An Overview
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Requirements Elicitation
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
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.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Approaching a Problem Where do we start? How do we proceed?
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Software Requirements Specification SJTU. Subtopics l Background material l System requirements specification l Software requirements specification l.
Software Design Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Formal Methods.
Requirements Validation
Smart Home Technologies
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Requirements Analysis Requirements Engineering (CI 2323) Daniel Siahaan.
Chapter 4 – Requirements Engineering
Software Engineering Lecture 4 System Modeling The Analysis Stage.
SE-565 Software System Requirements III. Requirements Elicitation
Requirements Analysis
Requirements Engineering Process – 1
Requirements Analysis and Negotiation
Presentation transcript:

Requirements Analysis SJTU

Requirements Engineering Activity Model Requirements Management Requirements Elicitation Requirements Analysis Requirements Specification Requirements Validation Validated Requirements Specification Existing System Information Stakeholder Needs Organizational Standards Technical Standards Regulations Domain Information Goals

Requirements Analysis The process of analyzing requirements to: Detect and resolve requirements problems Decompose (elaborate) requirements Discover system boundary and how system must interact with its environment Discover interactions and overlaps between requirements Gain a better understanding of the problem Includes the following main activities: Requirements classification Conceptual modeling Requirements negotiation Quality of analysis directly affects product quality More rigorous analysis leads to better software quality

Typical Requirements Problems Ambiguous requirements Conflicting requirements Design dependent requirements Infeasible requirements (technical, operational, economic) Incomplete requirements Inconsistent requirements Non-singularized requirements Non-testable requirements Unnecessary requirements

Subtopics Requirements classification Conceptual modeling Requirements negotiation

Requirements Classification Analyzing requirements to classify into relevant categories Functional or non-functional Product or process Priority e.g., mandatory, highly desirable, desirable, or optional Scope Extent requirement affects system and subsystems Requirements with global scope can not be allocated to a discrete component Stability Estimation of likelihood of change

Subtopics Requirements classification Conceptual modeling Requirements negotiation

Background on Modeling Modeling is a proven and well-accepted engineering technique Architectural models (blueprints) in civil engineering Mathematical models for analysis of physical properties Effects of wind on buildings Bandwidth analysis Economic models “A model is a simplification of reality created in order to better understand the system being created” [Grady Booch]

Conceptual Modeling Development of models to aid understanding of requirements A model is an abstract representation of system whose requirements are being analyzed Model can be used to answer questions about system Not concerned with initiating design of the solution In nearly all cases, useful to start by building model of system boundary Crucial to understanding system’s context in its operational environment Crucial to identify system’s interfaces to external environment

Booch’s Four Principles of Modeling Choice of models has profound influence on how problem is attacked and how solution is shaped Choose your models well Every model may be expressed at different levels of precision Best models are connected to reality No single model is sufficient Every nontrivial system is best approached through a small set of nearly independent models

Advantages of Conceptual Modeling (1 of 2) Facilitates reasoning about system in an organized and precise manner Allows reviewer’s to validate that modeler’s understanding is correct Enhances communication between stakeholders and developers Provides basis for predicting important system characteristics Development schedule Performance Processing sequence

Advantages of Conceptual Modeling (2 of 2) Reduces amount of complexity that must be understood at one time Consider system from different viewpoints Consider different parts of system Understand interactions and relationships between different parts of system Create a composite model by relating viewpoints Reduces risk by exposing requirements problems early in life-cycle

Examples of Conceptual Models Activity model (week 7) Class diagram (week 7) Context diagram (week 6) Data flow model (week 14) Data model (week 14) Formal model (week 14) Object model (week 7) Process model (week 14) State model (week 7) Use case model (week 6)

Factors Influencing Model Selection Nature of the problem Expertise of requirements engineer Customer process requirements Developer process requirements Availability of methods and tools

Analysis and Modeling Methods Models are tightly coupled with methods Methods define a set of models, a process for deriving these models and rules and guidelines that should apply to the models Sample of available methods Structured analysis Real-time structured analysis Concurrent object-based real-time analysis (COBRA) Object-oriented analysis Jackson system development

Subtopics Requirements classification Conceptual modeling Requirements negotiation

Requirements Negotiation The activity of resolving problems with conflicting requirements Between stakeholder requirements Between requirements and resources Between capabilities and constraints Includes the following main activities: Requirements discussion Stakeholders involved present their views Requirements prioritization Disputed requirements are prioritized to identify critical requirements Requirements agreement Compromise set of requirements result

Negotiation Meetings Information stage Discussion stage Nature of requirements problems are explained Discussion stage Stakeholders involved discuss how problems might be resolved All interested stakeholders should be given opportunity to comment Priorities may be assigned to requirements at this stage Resolution stage Actions concerning requirement are agreed Actions may be to delete the requirement, to suggest specific modifications to the requirement, or to elicit further information about the requirement

Standards, Metrics, and Tools Supporting Requirements Analysis Software engineering standards stress need for analysis Detailed guidance provided only by de-facto modeling standards (e.g., UML) Required properties (non-functional requirements) are quantified during analysis Reliability and safety Many tools supporting conceptual modeling (e.g., Rational Rose) Few tools supporting conflict identification and requirements negotiation Win-Win is one available tool

Key Points Requirements elicitation, analysis, and negotiation are iterative, interleaved processes (not waterfall) Requirements analysis includes three main activities Requirements classification Conceptual modeling Requirements negotiation A model is an abstract representation Requirements negotiation is always necessary to resolve requirements conflicts and remove requirements overlaps Defining system boundary is critical Quality of analysis directly affects product quality

References Pete Sawyer and Gerald Kotonya, Guide to the Software Engineering Body of Knowledge, Chapter 2, Version 0.95, May 2001, IEEE Gerald Kotonya and Ian Sommerville, Requirements Engineering: Processes and Techniques, Chapter 3, Wiley, 1998 Ian Sommerville, Software Engineering, 6th Edition, Chapter 7, Addison-Wesley, 2000