Mohammad Amin Kuhail M.Sc. (York, UK) University of Palestine Faculty of Engineering and Urban planning Software Engineering department Requirements Engineering.

Slides:



Advertisements
Similar presentations
Project Management Shuffle Directions: take the definitions from the following cards and write a song using the tune from “Cupid Shuffle”
Advertisements

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CSE 470 : Software Engineering The Software Process.
CSC 480 Software Engineering
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Lecture 6 : Dynamic Hashing Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
ECE450 – Software Engineering II
Software Engineering.
Insert A tree starts with the dummy node D D 200 D 7 Insert D
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
Source: Muangsin / Weiss1 Priority Queue (Heap) A kind of queue Dequeue gets element with the highest priority Priority is based on a comparable value.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Rating Systems Vs Machine Learning on the context of sports George Kyriakides, Kyriacos Talattinis, George Stefanides Department of Applied Informatics,
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Heaps and heapsort COMP171 Fall 2005 Part 2. Sorting III / Slide 2 Heap: array implementation Is it a good idea to store arbitrary.
1 Section 9.2 Tree Applications. 2 Binary Search Trees Goal is implementation of an efficient searching algorithm Binary Search Tree: –binary tree in.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Mod for Discussion on 7 th January 2011 Draft Outline of Potential Refinements to the User Pays Modification Process Action RG Based on discussions.
Algorithm Design & Analysis – CS632 Group Project Group Members Bijay Nepal James Hansen-Quartey Winter
Requirements Engineering
Requirements Engineering
Jason Chen, Ph.D. Professor of MIS School of Business
Mohammad Amin Kuhail M.Sc. (York, UK) University of Palestine Faculty of Engineering and Urban planning Software Engineering department Requirements Engineering.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY Requirements Prioritization Laura Lehtola QURE Project.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
Software Requirements Engineering Negotiation Process Lecture-18.
Mohammad Amin Kuhail M.Sc. (York, UK) University of Palestine Faculty of Engineering and Urban planning Software Engineering Department Digital Logic Design.
CS261 – Recitation 5 Fall Outline Assignment 3: Memory and Timing Tests Binary Search Algorithm Binary Search Tree Add/Remove examples 1.
1 SWE Introduction to Software Engineering Lecture 4.
Mohammad Amin Kuhail M.Sc. (York, UK) University of Palestine Faculty of Engineering and Urban planning Software Engineering Department Computer Science.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
2-3 Tree. Slide 2 Outline  Balanced Search Trees 2-3 Trees Trees.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
BUSINESS PERFORMANCE MANAGEMENT
Data Structure II So Pak Yeung Outline Review  Array  Sorted Array  Linked List Binary Search Tree Heap Hash Table.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Binary Search Trees Lecture 5 1. Binary search tree sort 2.
Lecture 15 Jianjun Hu Department of Computer Science and Engineering University of South Carolina CSCE350 Algorithms and Data Structure.
Lecture 8 : Priority Queue Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Requirements Analysis
Team Work Contents: Effective Teams Working as a Team Some Team Tips.
UNIT No. 3 Capital Budgeting Nature Significance Technique of Capital Budgeting Pay back Method Accounting Rate of Return Net Present Value Profitability.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Requirements in the product life cycle Chapter 7.
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
Homework 6 Shortest Paths!. The Basic Idea You have seen BFS and DFS tree searches. These are nice, but if we add the concept of “distance”, we can get.
Module 3 Engagement techniques 3b Running a SP Workshop.
& Urban Planning Civil Engineering Department
Appendix B Agile Methodologies
Requirement Prioritization
& Urban Planning Civil Engineering Department
Binary search tree. Removing a node
Binary Search Tree (BST)
Source: Muangsin / Weiss
Binary Search Tree In order Pre order Post order Search Insertion
Lecture # 4 Software Development Project Management
Lecture 20: Requirements Prioritization
Data Structures: Binary Search Trees
Representing binary trees with lists
Chapter 20: Binary Trees.
Requirements Validation – I
Requirements Analysis and Negotiation
Heaps By JJ Shepherd.
Software Requirements
Using Interactive Genetic Algorithm for Requirements Prioritization
“BPR AS A MEANS OF REINVENTING THE ORGANIZATION: AN OVERVIEW”
EE 312 Software Design and Implementation I
Presentation transcript:

Mohammad Amin Kuhail M.Sc. (York, UK) University of Palestine Faculty of Engineering and Urban planning Software Engineering department Requirements Engineering Sunday, 14 December 2008 Lecture 12 of Requirements Prioritization

Why Prioritization is needed Basic Trade-offs Cost-Value Approach Sorting Requirements by cost/value Estimating Relative Costs/Values using AHP What if stakeholders disagree? Visualizing differences in priority Resolving Disagreements Outline

Requirements Prioritization Due to time and budget constraints, it is often difficult to implement all the requirements that have been elicited for a system. It may also be the case that requirements are implemented in stages, and prioritization can help to determine which ones should be implemented first. Why?

Requirements Prioritization

Put all requirements in one pile. Take one requirement and put it as root node. Take another requirement and compare it to the root node. If the requirement is less important than the root node, compare it to the left child node. If the requirement is more important than the root node, compare it to the right child node. If the node does not have any appropriate child nodes, insert the new requirement as the new child node to the right or left, depending on if the requirement is more or less important. Binary Search Tree

Requirements Prioritization Binary Search Tree

Requirements Prioritization The Numeral Assignment Technique provides a scale for each requirement. Brackett proposed dividing the requirements into three groups: mandatory, desirable, and inessential [Brackett 90]. According to Joachim Karlsson's method, adapted from Saaty's approach, participants assign each requirement a number on a scale of 1 to 5 to indicate the importance of those requirements [Karlsson 95]. The numbers carry the following meaning:[Brackett 90][Karlsson 95] does not matter (the customer does not need it) not important (the customer would accept its absence) rather important (the customer would appreciate it) very important (the customer does not want to be without it) mandatory (the customer cannot do without it) The final ranking is the average of all participants' rankings for each requirement. Numeral Assignment Technique

Requirements Prioritization The planning game is a feature of extreme programming [Beck 01] and is used with customers to prioritize features, based on stories. This is basically a variation of the Numeral Assignment Technique, where the customer distributes the requirements into three groups, "those without which the system will not function", "those that are less essential but provide significant business value," and "those that would be nice to have." [Beck 01] Planning Game

ROI: Return Of Investment

Stakeholders Conflict Resolve