1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.

Slides:



Advertisements
Similar presentations
Lecture 8 Systems Analysis: Concept and Principles
Advertisements

Analysis Concepts, Principles, and Modeling
Requirements Elicitation Techniques
7.1 A Bridge to Design & Construction
Chapter 5 Understanding Requirements
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Unit-III Requirements Engineering
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Requirements Analysis Concepts & Principles
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Analysis Concepts and Principles
Identifying needs and establishing requirements Chapter 7b.
Introduction to Software Engineering Dr. Basem Alkazemi
Analysis Concepts and Principle.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 Lecture 3 Requirement Analysis System Analysis Concepts Modeling Techniques.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
Software Engineering Analysis (Concepts and Principles) James Gain
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Requirements Analysis
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 7 Requirements Engineering Elements of software requirement gathering.
Chapter 11 Analysis Concepts and Principles
Chapter 7 Requirements Engineering
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Lecture-3.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
1 Chapter 11 Analysis Concepts and Principles. 2 Requirements Analysis.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
By Germaine Cheung Hong Kong Computer Institute
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Software Engineering Lecture 11: System Analysis.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
28/08/2006SE6161 Prinsip dan Konsep Analisis Analysis Concepts and Principles.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Engineering Lecture 10: System Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 7 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
 System Requirement Specification and System Planning.
SYSTEM ANALYSIS AND DESIGN
Software Requirements analysis & specifications
Chapter 7 Requirements Engineering
Chapter 5 Understanding Requirements
Chapter 7 Requirements Engineering
Requirements Engineering Tasks
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Requirements Engineering
Presentation transcript:

1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles

2 I know you believe you understood what you think I said, but I am not sure you realise that what you heard is not what I meant……”

3 SwReq_1: The item shall... SwReq_2:... ….. SwReq_X:... What is a Requirement ?  Requirement:  contractual condition and/or capability (external customer(*))  industrial constraint (system engineering group, marketing,...)  states WHAT the system/software item must do, not HOW it does it.  Specification: a list of technical requirements  Requirement trace-ability, necessary to ensure development coherence

Functional technical requirements Capabilities Dynamic behaviour Data manipulation Non-functional technical requirements Operational security Safety Availability Reliability Maintainability Ergonomics Performance Constraints Non-technical requirements Contractual milestones Required methods and techniques Types of Requirements

5 How Must Be A Requirement ?  Easily Identifiable  by a well–determined name and a unique reference in the system.  Unambiguous  Only 1 possible interpretation is possible  Testable  A test case can be defined to test the requirement

6 What is Software Requirements Analysis?  The software requirements analysis is to understand the specific requirements that must be achieved to build high quality software.

7 Software Requirements Analysis as a Bridge System Engineering Software Requirements Analysis Software Design

8 Software Requirements Analysis  Requirements analysis is a software engineering task that bridges the gap between system level requirements engineering and software design.  Software requirements analysis may be divided into five areas of effort:  Problem recognition  Evaluation and synthesis  Modeling  Specification  Review

9 The Software requirements Analysis Process the problem requirementselicitation build a prototype createanalysismodels develop Specification Review

10 The Phases of Software Requirements Analysis  identify the “customer” and work together to negotiate “product-level” requirements  build an analysis model  focus on data  define function  represent behavior  give out prototype areas of uncertainty  develop a specification that will guide design  conduct formal technical reviews

11 What Are the Real Problems of Analysis? the customer has only a vague idea of what is required the developer is willing to proceed with the "vague idea" on the assumption that "we'll fill in the details as we go" the customer keeps changing requirements the developer is "racheted" by these changes, making errors in specifications and development and so it goes...

12 Requirements Gathering Facilitated Application Specification Techniques Software Engineering Group Customer Group

13 FAST Guidelines  participants must attend entire meeting  all participants are equal  preparation is as important as meeting  all pre-meeting documents are to be viewed as “proposed”  off-site meeting location is preferred  set an agenda and maintain it  don’t get mired in technical detail J. Wood & D. Silver

14 Quality Function Deployment (QFD)  QFD identifies three types of requirements:  Normal requirements, must be met;  Expected requirements, should be met;  Exciting requirements, be care for;  QFD has three activities:  Function deployment determines the “value” (as perceived by the customer) of each function required of the system  Information deployment identifies data objects and events  Task deployment examines the behavior of the system  Value analysis determines the relative priority of requirements

15 Use-Cases  The use-cases (scenarios) provide a description of how the system will be used.  Each use-case is described from the point-of-view of an “actor”—a person or device that interacts with the system or product in some way  Each use-case answers the following questions:  What are the main tasks of functions performed by the actor?  What system information will the actor acquire, produce or change?  Will the actor inform the system about environmental changes?  What information does the actor require of the system?  Does the actor wish to be informed about unexpected changes

16 The Analysis Model Data Model Behavioral Model Functional Model

17 Analysis Principle I: Model the Data Domain  define data objects  describe data attributes  establish data relationships

18 Analysis Principle II: Model Function  identify functions that transform data objects  indicate how data flow through the system  represent producers and consumers of data

19 Analysis Principle III: Model Behavior  indicate different states of the system  specify events that cause the system to change state

20 Analysis Principle IV: Partition the Models  refine each model to represent lower levels of abstraction  refine data objects  create a functional hierarchy  represent behavior at different levels of detail

21 Analysis Principle V: Essence  begin by focusing on the essence of the problem without regard to implementation details

22 Notes of Requirements Analysis Notes of Requirements Analysis  Understand the problem before you begin to create the analysis model.  Develop prototypes that enable a user to understand how human-machine interaction will occur.  Record the origin and the reason for every requirement.  Use multiple views of requirements.  Prioritize requirements.  Work to eliminate ambiguity.

23 What is a Specification ?  Its main objective is to lay down the foundations of the agreement to be ratified by the customer and the manufacturer  It consists in a list of technical requirements which the system/software must meet  It ensures, as far as possible, the feasibility of the system / software.

24 The Objective of Specification is to Analysis and Understand First Step Specification Document(s) Iterative Steps Final Step Reports

25 The Objective of Specification is to Communicate ORGANISATION DEVELOPER CUSTOMER DIFFERENT POINTS OF VIEW: DIFFERENT POSSIBLE INTERPRETATION

26 The Objective of Specification is to Ensure the Feasibility  Logical feasibility:  The availability of all required information must be guaranteed,  The complements required to ensure such availability must be identified.  Technical feasibility:  Complementary studies  Prototypes  Mock-up  Economic feasibility  Respect cost & delay

27 The Objective of Specification is to Ensure Traceability of Requirements A major specification goal: System Requirements versus Software Requirements Software Requirements versus Software Design Software Requirements versus Software Qualification

28 The Objective of Specification is to Prepare the Design Requirements Analysis & Specification Architectural Design Detailed Design Implementation Integration Validation Qualification Unit Test Specification Document (WHAT?) Design Document (HOW?)

29 From Specified Requirements To Test Cases The Objective of Specification is to Qualify the Software Product Specification Document(s) Qualification Documents STP - STD

30 The Objective of Specification is to Organise & Manage the Development  Consolidation of the cost  Specification enables refining of initial estimations: size, costs, lead times.  Definition of increments  Where the incremental development approach is adopted.

31 Specification Principles 1. Separate functionality from implementation. 2. Develop a model of the desired behaviour of a system. 3. Establish the context of software operates. 4. Define the environment of system operates. 5. Create a cognitive model. 6. Recognize that “the specification must be tolerant of incompleteness and augment-able.” 7. Establish the content and structure of a specification.

32 Software Context System Sub-system Software item Software item Hardware item Software item Software item Hardware item Interface Specification Sub-system

33 The Steps of Creating a Specification  The steps of creating a specification of requirements:  Representation  The Software Requirements Specification  Specification Review