Requirement Engineering. Recap Flow Based Modeling DFDs CFDs Processing narratives Class-based Model How to select classes? How to find attributes and.

Slides:



Advertisements
Similar presentations
Understanding Requirements Unit II
Advertisements

Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Chapter : Analysis Modeling
Chapter 8 Analysis Engineering Software Engineering: A Practitioner’s Approach by Roger S. Pressman.
Requirements Elicitation Techniques
7.1 A Bridge to Design & Construction
Chapter 7 Requirements Engineering
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Chapter 5 Understanding Requirements
1 SWE Introduction to Software Engineering Lecture 16 – System Modeling An Example.
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Analysis Concepts and Principles
Object-Oriented Analysis
IIBA Denver | may 20, 2015 | Kym Byron , MBA, CBAP, PMP, CSM, CSPO
Chapter 8 Analysis Modeling
Software Design Processes and Management
Chapter 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
RUP Requirements RUP Artifacts and Deliverables
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Data Flow Diagrams.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Negotiation and Specification Process
Requirements Engineering How do we keep straight what we are supposed to be building?
Chapter 8 Analysis Engineering (分析工程) Software Engineering: A Practitioner’s Approach by Roger S. Pressman Software Engineering: A Practitioner’s Approach.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Software Engineering Lecture No:13. Lecture # 7
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Testing Workflow In the Unified Process and Agile/Scrum processes.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Software Requirements Engineering Negotiation Process Lecture-18.
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.
Requirements Gathering How do we find out what we are supposed to be building?
Chapter 8 요구사항 이해 Understanding Requirements
Lecture-3.
1.  A customer walks into your office, sits down, looks you straight in the eye and says, “I know you think you understand what I said, but what you.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
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.
Software Engineering OO Analysis (Object-Behaviour Models)
By Germaine Cheung Hong Kong Computer Institute
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Software Requirements Engineering Elaboration Process Lecture-14.
Building analysis model  Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in.
Prof. Hany H. Ammar, CSEE, WVU, and
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Requirements Gathering
Requirements Engineering Determining and Defining the Requirements for the Project.
Prepared by Amira Selim 31 st October 2009 Revised by Dahlia Biazid Requirements Analysis.
Unit II: Requirements Engineering
Software Engineering Unit II : Requirement Engineering Requirement Engineering : Initiating the Process, Eliciting Requirements, Building the Requirements.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
CS 4500: Software Development Mondays and Wednesdays 2:50-4: Snell Engineering Center.
Chapter 8 Analysis Engineering
Elaboration & Negotiation Process
Requirements Elicitation and Elaboration
Data Dictionaries ER Diagram.
Analysis Modeling Requirements analysis Flow-oriented modeling
Chapter 7 Requirements Engineering
Chapter 7 Requirements Engineering
Requirements Engineering Tasks
Presentation transcript:

Requirement Engineering

Recap Flow Based Modeling DFDs CFDs Processing narratives Class-based Model How to select classes? How to find attributes and operations of a class? CRC modeling

Outline Elaboration Behavioral Modeling Negotiation Specification Validation Requirements management

Behavioral Modeling

Creating a Behavioral Model 1)Identify events found within the use cases and implied by the attributes in the class diagrams 2)Build a state diagram for each class, and if useful, for the whole software system

Identifying Events in Use Cases An event occurs whenever an actor and the system exchange information An event is NOT the information that is exchanged, but rather the fact that information has been exchanged Some events have an explicit impact on the flow of control, while others do not – An example is the reading of a data item from the user versus comparing the data item to some possible value

Building a State Diagram A state is represented by a rounded rectangle A transition (i.e., event) is represented by a labeled arrow leading from one state to another – Syntax: trigger-signature [guard]/activity The active state of an object indicates the current overall status of the object as is goes through transformation or processing – A state name represents one of the possible active states of an object The passive state of an object is the current value of all of an object's attributes – A guard in a transition may contain the checking of the passive state of an object

Identifying Events A use-case is examined for points of information exchange. The homeowner uses the keypad to key in a four-digit password. The password is compared with the valid password stored in the system. If the password in incorrect, the control panel will beep once and reset itself for additional input. If the password is correct, the control panel awaits further action.

State Diagram State diagram for the ControlPanel class

Sequence Diagram Sequence diagram (partial) for the SafeHome security function

Requirements Management Validation Inception Elicitation Elaboration Negotiation Specification

Negotiation Task During negotiation, the software engineer reconciles the conflicts between what the customer wants and what can be achieved given limited business resources Requirements are ranked (i.e., prioritized) by the customers, users, and other stakeholders Risks associated with each requirement are identified and analyzed Rough guesses of development effort are made and used to assess the impact of each requirement on project cost and delivery time Using an iterative approach, requirements are eliminated, combined and/or modified so that each party achieves some measure of satisfaction

The Art of Negotiation Recognize that it is not competition Map out a strategy Listen actively Focus on the other party’s interests Don’t let it get personal Be creative Be ready to commit

Requirements Management Validation Inception Elicitation Elaboration Negotiation Specification