Requirements Quality Quality Measures Verification Validation.

Slides:



Advertisements
Similar presentations
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Advertisements

1 Presented By: Sonya Hawkins.  Discuss Scope  Discuss Requirements 2.
Characteristics of a good SRS
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Software Requirements
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Requirement Engineering – A Roadmap
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
SE 555 Software Requirements & Specification Requirements Validation.
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
S R S S ystem R equirements S pecification Specifying the Specifications.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
Chapter 4 Requirements Engineering
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
S/W Project Management
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
Software Requirements Specification (SRS) Complete description of external behavior of software system Complete description of external behavior.
Typical Software Documents with an emphasis on writing proposals.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Negotiation and Specification Process
Requirements Engineering How do we keep straight what we are supposed to be building?
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Feasibility Study.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
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.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
IT Requirements Management Balancing Needs and Expectations.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.
Requirements Collection By Dr. Gabriel. Requirements A requirement is any function, constraint, or property that the system must provide, meet, or satisfy.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Chapter 4 Software Requirements
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
1 Quality Attributes of Requirements Documents Lecture # 25.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
System Requirements Specification
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 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.
Chapter 4 – Requirements Engineering
Requirements Engineering (continued)
Software Requirements analysis & specifications
UNIT II.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Software Reviews.
INTRODUCTION OF REQUIREMENT ENGINEERING Chapter- one.
Presentation transcript:

Requirements Quality Quality Measures Verification Validation

Requirements Standards IEEE 830 Best Practices  Do not embed design in the requirements spec However, design “constraints” may be expressed  Do not embed project requirements in the spec  A “good” SRS is: Correct, Unambiguous, Complete, Consistent, Prioritized, Verifiable, Modifiable, Traceable  Joint ownership/preparation between customer& supplier  Supports evolution Only “anti-waterfall” statement – embrace change  Prototyping Use as an elicitation technique

Requirements Quality Measures How can you tell if your requirements are “good”? IEEE-830: IEEE Recommended Practice for Software Requirements Specifications suggests 8 quality measures for requirements 1.Correct 2.Unambiguous 3.Complete 4.Consistent 5.Ranked for importance and stability 6.Verifiable 7.Modifiable 8.Traceable

Extra Features Incorrect! Requirements Quality Measures Correctness: IEEE-830: An SRS is correct if, and only if, every requirement stated therein is one that the software shall meet  Omitted User Need:completeness issue, not correctness  Extra Stated Requirement: gratuitous “nice-to-haves”  Forces: Poor elicitation Unfocused team Lack of joint ownership  Solutions: Peer and Customer Reviews Traceability Reviews for consistency with other project documentation –Especially the Vision document User Needs

Requirements Quality Measures Completeness: IEEE-830: A set of requirements is complete “if and only if it describes all significant requirements of concern to the user, including requirements associated with functionality, performance, design constraints, attributes, or external interfaces” User Needs Stated Reqs Incompletenes s Weiger’s example: "The product shall provide status messages at regular intervals not less than every 60 seconds."

Requirements Quality Measures Completeness - A hard quality metric to measure  Nonfunctional reqsmay be overlooked or specified incompletely Examples: % uptime, max downtime, response times, etc. How often does the customer not understand the cost-benefit?  Functional reqs: how do you know when you’ve got them all? You are building something new User assumes from domain knowledge, but you don’t know! IEEE-830 says don’t use “TBD” without a procedure to remove it  Forces: Assumed user/customer knowledge Inability to concretely define scope –Scope may grow into unbounded “wishlist” –Lack of a cohesive vision puts anything into play  Solutions: Joint reviews with users/customers Developer “teaches” material back to users/customers Prototyping

Requirements Quality Measures Unambiguous:  IEEE-830: A requirement is unambiguous “if and only if it can be subject to only one interpretation”  Often the biggest problem with requirements You might get all stakeholders to agree on a complete and consistent set of requirements – but then the delivered system still doesn’t match customer expectations!  Forces: Imprecision of natural language Communication gap between customers and developers Requirements document as “proxy” for user needs  Solutions: Multi-level reviews Define test cases a priori Prototypes Weiger’s ex: The HTML Parser shall produce an HTML markup error report which allows quick resolution of errors when used by HTML novices."

Requirements Quality Measures Consistency:  IEEE-830: A requirement set is consistent “if and only if no subset of individual requirements described within it are in conflict with one another”  Tough to tell inconsistent from ambiguous requirements Example (Leffingwell&Widrig): –“All employees who are 65 or older at the end of the calendar year shall receive a bonus of no more than $1000” –“All employees with 10 years or more service at the end of the calendar year shall receive a bonus of $500” »Does the 65 year-old employee who is a 15-year veteran receive both?  Forces Doing requirements in “isolation” Creating blind “mandates”  Solutions Extensive manual review (prototypes aren’t as helpful!)

Requirements Quality Measures Requirements Ranked by Importance and Stability  Importance  Prioritizing, an exercise in scope Assign descriptors to the requirements –Cost, Risk, Difficulty, LOI, LOE, ROI –Note these are only indirectly related to developer concerns  Stability Identifying the requirements that will most likely change A form of risk as identified by the Requirements descriptor  Forces: Lack of clear direction; Infighting between marketing and dev  Solutions: Clarity of vision Strong ownership/leadership Balanced input

Requirements Quality Measures Verifiability: IEEE-830: A requirement is verifiable “if and only if there exists a finite, cost-effective process with which a person or machine can determine that the developed software system does indeed meet the requirement”  Not a property of the requirement, but of the process! Implies that if verification techniques improve, the verifiability of a given requirement might increase  Forces: Requirements not worded in a way amenable to testing Poor, ill-defined processes Lack of traceability  Solutions Testing-aware wording Process-focus with pervasive QM

Requirements Quality Measures Modifiable: IEEE-830: A requirement set if modifiable “if and only if its structure and style are such that any changes to the requirements can be made easily, completely, and consistently, while retaining the existing structure and style of the set”  A misnomer: Requirements will be modified. How you deal with the change is what is really important.  Forces: Many forces for changing requirements Lack of infrastructure (tools and methods) to support change  Solutions: Requirements change management processes Tools Cultural – “embrace change”

Requirements Quality Measures Traceable: IEEE-830: A requirement is traceable “if and only if the origin of each of its component requirements is clear, and there is a mechanism that makes it feasible to refer to that requirement in future development efforts”.  Typically required in high QA environments Medical, weapons, anything where human life is at risk  Forces: Need ability to go forward and backward through artifacts Systems where accountability is a virtue  Solutions: Identifiers on all requirements (all artifacts) Repository management

Requirements Quality Measures Other Quality Measures (non IEEE-830):  Understandable: Whose vocabulary is used? Who is the target audience?  Cohesive: Do they make sense together as a unit? Do they support business objectives as a whole?  Feasible: Can we really do this stuff? Corollary: Estimatable Weiger’s example: "Charge numbers should be validated on- line against the master corporate charge number list, if possible."  Concise: Are gratuitous elements removed? Is the requirements set in some sense minimal? Wording?  Managed: Are the requirements under some form of managed, repeatable process?

Requirements Validation “the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements” – IEEE Validation is done with respect to the quality attributes discussed earlier  In other words, it is not just testing (Verification)! Requirements error costs are high so validation is important Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error

Requirements Validation Requirements Review  Review requirements against goals & objectives of system  Check for omissions, ambiguity, incompleteness, and inconsistency  Document risk.  Discuss how system will be tested. Requirements Prototyping  “Proof-of-concept” useful for eliciting & analyzing reqs  For similar reasons, can assist with validation  Caution: prototypes may take shortcuts on scope in exchange for time/cost savings. They are not a real working system! Requirements-based Testing  Use case driven testing - can you define?  Acceptance Tests