Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering.

Slides:



Advertisements
Similar presentations
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely P J Human Resources Pte Ltd presents:
Advertisements

25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
CS305: HCI in SW Development Evaluation (Return to…)
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Requirements and Design
The Bridge Pattern.. Intent Decouple an abstraction from its implementation so that the two can vary independently Also known as: Handle/Body.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Instructor: Tasneem Darwish
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
SYSTEM ANALYSIS AND DESIGN
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
S/W Project Management
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering.
Managing Changing Requirements: Structure the Use Case Model PowerPoint Presentation derived from IBM/Rational course Mastering Requirements Management.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely presents:
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Process Design (Requirements). Recall the Four Steps of Problem Solving * Orient Plan Execute Test These apply to any kind of problem, not just spreadsheet.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Making a great Project 2 OCR 1994/2360. Analysis This is the key to getting it right. Too many candidates skip through this section. It’s worth 20% of.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
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.
Copyrighted material John Tullis 10/17/2015 page 1 04/15/00 XML Part 3 John Tullis DePaul Instructor
Lecture 7: Requirements Engineering
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
PLANNING ENGINEERING AND PROJECT MANAGEMENT By Lec. Junaid Arshad 1 Lecture#03 DEPARTMENT OF ENGINEERING MANAGEMENT.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Requirements Engineering Southern Methodist University CSE 7316 – Chapter 3.
Microsoft ® Office Excel 2003 Training Using XML in Excel SynAppSys Educational Services presents:
CMP-MX21: Lecture 4 Selections Steve Hordley. Overview 1. The if-else selection in JAVA 2. More useful JAVA operators 4. Other selection constructs in.
Documentation. Your documentation must fit the needs of your audience. It’s always better to say one thing that is useful, as opposed to many things that.
Requirement engineering Good Practices for Requirements Engineering
Chapter 4 Software Requirements
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Software Engineering Lecture # 1.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Part IV: On Use Cases Using the use case technique for exploring user requirements Chapter 9: Use Cases and Scenarios and Stories, Oh My! Chapter 10: Actors.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
CS628 - Object Oriented Analysis And Design. The Four Pillars of Successful Software Development -Avoid Classic Mistakes -Apply Development Fundamentals.
Requirements in the product life cycle Chapter 7.
44222: Information Systems Development
Your Prescription for Requirements Management 1. Assumptions The prescription for requirements management is based on the following assumptions:  The.
Unified Modeling Language
Systems Analysis and Design
By Dr. Abdulrahman H. Altalhi
Unit 6: Application Development
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Presentation transcript:

Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering Hearing the Voice of the Customer

Instructore: Tasneem Darwish2 Outlines  Overview  Requirements Elicitation  Elicitation Workshops  Classifying Customer Input  Some Cautions About Elicitation  Finding Missing Requirements  How Do You Know When You're Done?

Instructore: Tasneem Darwish3 Data definitions  Whenever customers describe the format, data type, allowed values, or default value for a data item or the composition of a complex business data structure, they're presenting a data definition. "The ZIP code consists of five digits, followed by an optional hyphen and an optional four digits that default to 0000“  Collect these in a data dictionary, a master reference that the team can use throughout the product's development and maintenance.

Instructore: Tasneem Darwish4 Data definitions  Data definitions sometimes lead to functional requirements that the user community did not request directly.  For example, what happens when a six-digit order number rolls over from 999,999? Developers need to know how the system will handle such data issues.  Deferring data-related problems just makes them harder to solve in the future

Instructore: Tasneem Darwish5 Solution ideas  Much of what users present as requirements fits in the category of solution ideas.  The analyst needs to search below the surface of a solution idea to get to the real requirement.  For instance, functional requirements that deal with passwords are just one of several possible solutions for a security requirement.

Instructore: Tasneem Darwish6 Solution ideas  Suppose a user says, "Then I select the state where I want to send the package from a drop-down list."  The phrase from a drop-down list indicates that this is a solution idea.  The prudent analyst will ask, "Why from a drop-down list?" If the user replies, "That just seemed like a good way to do it,"  the real requirement is something like, "The system shall permit the user to specify the state where he wants to send the package."

Instructore: Tasneem Darwish7 Solution ideas  However, maybe the user says, "I suggested a drop-down list because we do the same thing in several other places and I want it to be consistent. Also, it prevents the user from entering invalid data, and I thought we might be able to reuse some code."  These are fine reasons to specify a specific solution.  embedding a solution idea in a requirement imposes a design constraint on that requirement. It limits the requirement to being implemented in only one way.  This isn't necessarily wrong or bad; just make sure the constraint is there for a good reason

Instructore: Tasneem Darwish8 Some Cautions About Elicitation  Trying to join requirements input from dozens of users is difficult without using a structured organizing scheme, such as use cases.  Collecting input from too few representatives or hearing the voice only of the loudest, most opinionated customer is also a problem. It can lead to overlooking requirements.  The best balance involves a few product champions who have authority to speak for their respective user classes, with each champion backed up by several other representatives from that same user class.

Instructore: Tasneem Darwish9 Some Cautions About Elicitation  During requirements elicitation, you might find that the project scope is improperly defined, being either too large or too small.  If the scope is too large, you'll collect more requirements than are needed.  If the project is scoped too small, customers will present needs that are clearly important yet just as clearly lie beyond the limited scope.  Eliciting user requirements therefore can lead to modifying the product vision or the project scope.

Instructore: Tasneem Darwish10 Some Cautions About Elicitation  An idea or a suggestion arises, but extensive research is required to assess whether it should even be considered for possible incorporation into the product.  Treat these explorations of feasibility or value as project tasks in their own right, with objectives, goals, and requirements of their own.  Prototyping is one way to explore such issues.

Instructore: Tasneem Darwish11 Finding Missing Requirements  Missing requirements constitute the most common type of requirement defect.  They're hard to spot during reviews because they're invisible!  The following techniques will help you detect previously undiscovered requirements: 1.Decompose high-level requirements into enough detail to reveal exactly what is being requested 2.Imprecise, fuzzy terms to avoid include support, enable, permit, process, and manage. 3.Make sure that all user classes have provided input

Instructore: Tasneem Darwish12 Finding Missing Requirements 4.Trace system requirements, use cases, event-response lists, and business rules into their detailed functional requirements to make sure that the analyst derived all the necessary functionality. 5.Check boundary values for missing requirements. Suppose that one requirement states, "If the price of the order is less than $100, the shipping charge is $5.95" and another says, "If the price of the order is more than $100, the shipping charge is 5 percent of the total order price." But what's the shipping charge for an order with a price of exactly $100? It's not specified, so a requirement is missing.

Instructore: Tasneem Darwish13 Finding Missing Requirements 6.Represent requirements information in multiple ways. It's difficult to read a mass of text and notice that something isn't there. This kind of error is much easier to spot in a picture than in a long list of textual requirements

Instructore: Tasneem Darwish14 How Do You Know When You're Done?  No simple signal will indicate when you've completed requirements elicitation.  You'll never be completely done, but the following signs suggest that you're reaching the point of diminishing returns on requirements elicitation: 1.If the users can't think of any more use cases, perhaps you're done. Users tend to identify use cases in sequence of decreasing importance. 2.If users propose new use cases but you've already derived the associated functional requirements from other use cases, perhaps you're done. These "new" use cases might really be alternative courses for other use cases that you've already captured.

Instructore: Tasneem Darwish15 How Do You Know When You're Done? 3.If users repeat issues that they already covered in previous discussions, perhaps you're done. 4.If suggested new features, user requirements, or functional requirements are all out of scope, perhaps you're done. 5.If proposed new requirements are all low priority, perhaps you're done. 6.If the users are proposing capabilities that might be included "sometime in the lifetime of the product" rather than "in the specific product we're talking about right now," perhaps you're done, at least with the requirements for the next release.