1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.

Slides:



Advertisements
Similar presentations
Understanding Requirements Unit II
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
7.1 A Bridge to Design & Construction
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 7 Requirements Engineering
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Chapter 5 Understanding Requirements
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Requirements Analysis Concepts & Principles
Analysis Concepts and Principles
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Introduction to Software Engineering Dr. Basem Alkazemi
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
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
RUP Requirements RUP Artifacts and Deliverables
Chapter 2 The process Process, Methods, and Tools
Requirements Analysis
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Software Engineering Lecture No:13. Lecture # 7
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 7 Requirements Engineering Elements of software requirement gathering.
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.
Requirements. Terminology: Requirements XYZ Requirements gathering (also known as “requirements elicitation”) : what is to be accomplished, how the system.
Chapter 7 Requirements Engineering
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
Lecture-3.
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.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Systems Development Life Cycle
By Germaine Cheung Hong Kong Computer Institute
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Software Requirements Specification Document (SRS)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Software Engineering Lecture 10: System Engineering.
Chapter: Requirement Engineering. Requirements Engineering  Requirement: A function, constraint or other property that the system must provide to fill.
Requirements Engineering Determining and Defining the Requirements for the Project.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
 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.
Requirements Engineering
Requirements Analysis Scenes
Requirements Elicitation and Elaboration
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.
Evolutionary Software Process Models
Presentation transcript:

1 REQUIREMENT ENGINEERING Chapter 7

2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps the software engineers to better understand the problem they will work to solve

3 A BRIDGE TO DESIGN AND CONSTRUCTION 1.RE is needed to improve the process of construction of software and the product. 2.RE is serves to create a better understanding of the problem to the software engineers thus forming a bridge between design till construction 3.RE process starts from the communication process and continues till the modeling activity.

4 It helps in earlier detection of mistakes, which will be much more costly to correct if discovered later. It forces clients to review requirements and supports agreement among developers and customers. It serves as a standard against which to test design and implementation for correctness and completeness. It supports project management, e.g. resource estimation (cost, personnel, skill, equipment,..). It boosts confidence among developers. Why Requirement Engineering?

5 Inception Inception is the starting of communication phase. This phase is divided into three context free questions: 1 st Context Free Question focuses, Who is behind the request of this work? Who will use the solution? What will be the economic benefit of a successful solution? “By this we can identify the interested stakeholders” REQUIREMENT ENGINEERING TASKS

6 2 ND Context-Free question focuses : What problem (s) will this solution address? Can you show me the business environment in which the solution will be used? “ By this software team gain a better understanding of the problem” 3 rd Context-free question Focuses: Are you the right person to answer these questions? Are my questions relevant to the problem? “These questions will help to break the ice” REQUIREMENT ENGINEERING TASKS

7 Elicitation The gathered information is refined in elicitation, this phase is also not simple enough 1.Problem of scope 2.Problem of understanding 3.Problems of volatility To overcome these problems Requirement engineer must approach the requirement gathering activity in an organized manner. REQUIREMENT ENGINEERING TASKS

8 Make traceability tables of Features, Dependencies, Subsystems and Interfaces. –This helps when a system is large and complicated. –Determining the connections between requirements can be a daunting task. –So, traceability tables make it bit easier. Develop user scenarios through UML diagrams like Use Case. Elicitation REQUIREMENT ENGINEERING TASKS

9 In this phase requirements are further refined in to an analysis model. It is a collection of Scenario based, activity based, class based, behavioral based, and flow oriented model elements that describe how end-user will interact with the system. This, phase helps to enhance the gathered information and to helps to get more information. Elaboration REQUIREMENT ENGINEERING TASKS

10 Negotiation In an ideal requirement engineering context, the inception, elicitation, elaboration tasks determine customers requirement in sufficient detail to proceed to subsequent software engineering steps. But unfortunately, this rarely happens. In reality customer and developer enter into a process of negotiation where customer may asked to balance functionality, performance and other product or system characteristics against cost and time to market. REQUIREMENT ENGINEERING TASKS

11 Negotiation The best negotiation strive for a “Win-Win” result. Customer wins by getting satisfied product and software team wins by working to realistic and achievable budgets and deadlines. In this phase rough “Guestimates” of development effort are made and used to assess the impact of each requirement. “ The intent of negotiation is to develop a realistic project plan” REQUIREMENT ENGINEERING TASKS

12 Specification A specification can be a written document, a set of graphical models, a prototype, a formal mathematical model or any combination of these. It is the final work product produced by the requirement engineering. It describes functions and performance of a computer based system and the constraints that will govern its development. REQUIREMENT ENGINEERING TASKS

13 Validation The work products produced after requirement engineering are assessed for quality during the validation step. It examines the specification to ensure that all software requirements have been stated unambiguously Inconsistencies, omissions, and errors have been detected and corrected. The primary requirements validation is the formal technical review. REQUIREMENT ENGINEERING TASKS

14 The review team that validates requirements includes software engineers, customers, users, and the other stakeholders who examine the specification looking for –Errors in content or interpretation –Areas where clarification may be required –Missing information, inconsistencies –and conflicting requirements. After this the requirement engineering phase is completed. Validation REQUIREMENT ENGINEERING TASKS