7.1 A Bridge to Design & Construction

Slides:



Advertisements
Similar presentations
System Engineering based on Chapter 6 - Software Engineering: A Practitioner’s Approach, 6/e copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Advertisements

Understanding Requirements Unit II
Requirements Elicitation 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.
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,
Unit-III Requirements Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
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.
Analysis Concepts and Principles
Analysis Concepts and Principle.
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 4 Requirements Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Understanding Requirements. Requirements Engineering
Requirements Analysis
Chapter 8 Understanding Requirements Moonzoo Kim KAIST
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
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 No:13. Lecture # 7
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
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.
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.
Chapter 8 요구사항 이해 Understanding Requirements
Lecture-3.
Chapter 5 Understanding Requirements
Requirement Handling
1 Chapter 11 Analysis Concepts and Principles. 2 Requirements Analysis.
1. copyright © 1996, 2001, Software Engineering a “quality” focus process model methods tools.
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.
By Germaine Cheung Hong Kong Computer Institute
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Software Engineering Lecture 11: System Analysis.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
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.
Requirements Gathering
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 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.
Software Requirements Definition - Jones The statement of needs by a user that triggers the development of a program or system - Jones 1994.
1 System Engineering. 2  Elements of a computer-based system 1.Software 2.Hardware 3.People 4.Database 5.Documentation 6.Procedures  Elements of a computer-based.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
CS 4500: Software Development Mondays and Wednesdays 2:50-4: Snell Engineering Center.
Requirements Elicitation Techniques
Chapter 8 Understanding Requirements
Chapter 8 Understanding Requirements
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:

7.1 A Bridge to Design & Construction Is requirements engineering necessary? Are there ever cases/situations where requirements engineering can be skipped? (Brad) Why do some software developers not pay enough attention to requirements engineering?

7.2 Requirements Engineering Tasks Inception—ask a set of questions that establish a basic understanding of the problem, the people, the solution, the effectiveness of communication Elicitation—elicit requirements from all stakeholders Elaboration—create an analysis model that identifies data, function and behavioral requirements Negotiation—agree on a deliverable system that is realistic for developers and customers Specification—can be a document, model, user scenarios, prototype, etc. Validation—a review mechanism that looks for errors, inconsistencies, unrealistic requirements. Requirements management Which of the 7 requirement engineering steps (Inception, Elicitation, Elaboration, Negotiation, Specification, Validation, Requirement Management) is most prone to failure?  Why? (Brad) Failure in which requirement engineering step would be most likely to cause the project to fail? (Brad)

7.3 Inception Identify stakeholders Recognize multiple points of view Should a software developer ever choose to ignore a stakeholder viewpoint that s/he believes would hurt the quality of a project? If so, what would be an ethical solution to this problem? Work toward collaboration The first questions Who is behind the request for this work? Who will use the solution? What will be the economic benefit of a successful solution Is there another source for the solution that you need? What types of questions should be asked during the Inception phase?  What types of questions should be avoided? (Brad) What are some other “context-free” questions that you might ask a stake holder during inception? What does “feasibility analysis” imply when it is discussed within the context of the inception function?

7.4 Eliciting Requirements: Collaborative Requirements Gathering meetings are conducted and attended by both software engineers and customers rules for preparation and participation are established an agenda is suggested a "facilitator" controls the meeting a "definition mechanism" is used the goal is to identify the problem, propose elements of the solution, negotiate different approaches, and specify a preliminary set of solution requirements. Difficult due to: Problems of scope Problems of understanding Problems of volatility

7.4 Eliciting Requirements How involved should developers be in the Elicitation phase? (Brad) What are the benefits & consequences of having developers actively involved in the Elicitation phase? (Brad) In addition to the problems of scope, understanding, and volatility, what other significant issues would a requirements engineer face during elicitation? At what point during requirements engineering is acceptance risk the highest? At what point is it the lowest? What steps can a software developer take to minimize this risk? You have been given the responsibility to elicit requirements from a customer who tells you s/he is too busy to meet with you. What should you do?

7.4 Eliciting Requirements : Quality Function Deployment Function deployment determines the “value” (as perceived by the customer) of each function required of the system Normal requirements Expected requirements Exciting requirements What are the dangers of "Expected" and "Exciting" requirements? (Brad) What “obvious” information about a system is a stakeholder or end-user likely to omit from the list of requirements?

7.4 Eliciting Requirements Elicitation Work Products: a statement of need and feasibility. a bounded statement of scope for the system or product. a list of customers, users, and other stakeholders who participated in requirements elicitation a description of the system’s technical environment. a list of requirements (preferably organized by function) and the domain constraints that apply to each. a set of usage scenarios that provide insight into the use of the system or product under different operating conditions. any prototypes developed to better define requirements.

7. 5 Developing Use-Cases A collection of user scenarios that describe the thread of usage of a system Each scenario is described from the point-of-view of an “actor”—a person or device that interacts with the software in some way An actor and an end-user are not necessarily the same. What features compose an effective use-case? Should stakeholders be asked to develop use-cases on their own for a project? Do any problems arise from using use-cases as part of the requirements engineering process?

Use-Case Diagram

7.6 Building the Analysis Model Elements of the analysis model Scenario-based elements Functional—processing narratives for software functions Use-case—descriptions of the interaction between an “actor” and the system Use case diagram, activity diagram Class-based elements Implied by scenarios Class diagram Behavioral elements State diagram Flow-oriented elements Data flow diagram

Activity Diagram

Class Diagram From the SafeHome system …

State Diagram

7.6 Building the Analysis Model Is the analysis model an effective way to describe system requirements? Why or why not? Why would it be advantageous to use different modes of representation (e.g. Use Cases, Flow Charts, computer based tools) while building the analysis model? (Brad) Why are analysis models considered a "snapshot of the system in time"? (Brad)

7.7 Negotiating Requirements Identify the key stakeholders These are the people who will be involved in the negotiation Determine each of the stakeholders “win conditions” Win conditions are not always obvious Negotiate Work toward a set of requirements that lead to “win-win” How can a systems developer resolve disputes effectively during negotiation? Let’s assume that you’ve convinced the customer (you’re a very good salesperson) to agree to every demand you have as a developer. Is that always a good thing? (Brad) What does “win-win” mean in the context of negotiation during the requirements engineering activity?

7.8 Validating Requirements Examine each element of the analysis model for consistency, omissions, and ambiguity. What steps can be maximize the effectiveness of requirements validation? (Brad) Do a majority of successful software projects spend a considerable about of time on requirements validation? How much time should be spent on this step? If requirements are not consistently stated, how long will it take for problems to occur? What are the benefits of requirement specification templates/documents?  What are the drawbacks?