CSCI 6231 Software Engineering ( Chapter 10?) Requirements Workflow Instructor: Morris Lancaster.

Slides:



Advertisements
Similar presentations
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Advertisements

Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Software Testing and Quality Assurance
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Capturing the requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Software Requirements
Requirements (recap)‏
SE 555 Software Requirements & Specification Requirements Validation.
Overview of Software Requirements
Requirements Specifications Today: Homework #1 due For next class: Pressman 11; SRD Team Status Reports Requirements Process (continued) Bio Break ( 5.
SE 555 – Software Requirements & Specifications Introduction
Requirements Engineering Process – 1
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Requirements/Systems analyst
RUP Requirements RUP Artifacts and Deliverables
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements Analysis
Software Engineering Week 9 – Brief Introduction of Requirement #1 A.A. Gde Bagus Ariana, S.T.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Software Requirements Engineering: What, Why, Who, When, and How
1 CSE 403 Software Requirements Reading: Pragmatic Programmer Ch. 7: Before the Project These lecture slides are copyright (C) Marty Stepp, 2007, with.
Lecture 7: Requirements Engineering
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Systems Development Life Cycle
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Software Engineering 2007/2008 Chapter 4 Capturing the Requirements.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Prof. Hany H. Ammar, CSEE, WVU, and
Requirement Engineering
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
CEN 4020 Software Engineering PPT4: REQUIREMENT ANALYSIS Dishant Patel.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 Capturing The Requirements CEN 4020 Software Engineering By Darren Quichocho.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
An Overview of Requirements Engineering Tools and Methodologies*
Requirements Analysis
Software Engineering Furqan Rustam.
Software Engineering Lecture #3
PPT4: Requirement analysis
Lecture # 7 System Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CSCI 6231 Software Engineering ( Chapter 10?) Requirements Workflow Instructor: Morris Lancaster

January 2011CSCI 6231 Chapter 102 Overview Slides on Text Material are Backup. Introduction Discuss –Eliciting requirements from clients –Modeling requirements –Reviewing –Documenting

Introduction Requirements Analysis –Capture what the customer wants –Negotiate/iterate on what we and the customer can agree to –And which is testable January 2011CSCI 62313

Importance of Requirements “The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” Brooks, Frederick P., Jr. (1987). “No silver bullet: Essence and accidents of software engineering.” IEEE Computer, 20(4), April 1987: pp January 2011CSCI 62314

Importance of Requirements In 1994, the Standish Group surveyed over 350 companies about their over 8000 software projects to determine status of the industry –31% cancelled before completed –9% delivered on time and within budget in large companies –16% delivered on time and within budget in small companies Top reported factors contributing to failures –Incomplete requirements 13.1% ** –Lack of user involvement 12.4% ** –Lack of resources 10.6% –Unrealistic expectations 9.9% ** –Lack of executive support 9.3% –Changing requirements and specifications 8.7% ** –Lack of planning 8.1% –System no longer needed 7.5% **? January 2011CSCI 62315

Requirement An expression of desired behavior –Objects/Entities States that objects can be in Functions performed to change states or characteristics –Non-functional requirements Timeline –Extracted from the user –Refined at specification time (allocated to software) –Baselined as trace-back-to during implementation –Are basis for testing –Can change at any time January 2011CSCI 62316

Requirements Extraction An expression of desired behavior –Objects/Entities States that objects can be in Functions performed to change states or characteristics Timeline –Extracted from the user and other inputs –Refined at specification time (allocated to software) –Baselined as trace-back-to during implementation –Are basis for testing –Can change at any time January 2011CSCI 62317

Requirements Extraction Sources –Stakeholders The person/organization paying for the system Customers of the above who will purchase the system End users of the system Domain Experts Market Researchers Lawyers/Auditors Software Engineers –Consistency? One approach is to encourage inconsistency during the requirements process and document stakeholder views, maintaining them January 2011CSCI 62318

Requirements Extraction Sources - continued –Documentation Existing procedures/processes/system –Observation of the current system User performance of tasks –Apprenticeship with users –Products from Domain Specific Strategies such as JAD –Brainstorming January 2011CSCI 62319

Requirements Extraction Issues –Requirements are not well formed or well understood at the beginning –Customers are not able to describe what they want or need –It is difficult for the software engineer to rapidly understand someone else’s business concerns –Customers use their jargon and domain specific thought models as assumed baselines –The software engineer’s jargon and domain specific thought models interfere January 2011CSCI

Requirements Extraction Types –Functional –Non functional (quality requirements, etc) Constraints –Design constraints (previously made, platform or product) –Process constraints (how we build it, customer whims, agile) January 2011CSCI

Requirements Extraction Types (more) –Design constraints Physical environment Interfaces Users –Process constraints Resources Documentation –Quality constraints Performance Security January 2011CSCI

Requirements Extraction Types (more) –Quality constraints Performance Security Reliability and availability Maintainability Precision and accuracy Time to delivery/cost January 2011CSCI

Requirements Extraction Requirements Documents –Requirements Definition A complete listing of everything that the client wants to achieve –Requirements Specification Restates the requirements as a specification of how the proposed system shall behave January 2011CSCI

Requirements Extraction Requirements Characteristics –Are the requirements correct? – review by all –Are the requirements consistent? – any conflicts, have views been reconciled? –Are the requirements unambiguous ?– be able to see the person on the hill with the telescope –Are the requirements complete? – ranges of inputs/outputs and operational environments specified with expected behaviors –Are the requirements feasible? –Is every requirement relevant? –Are the requirements testable? –Are the requirements traceable/ January 2011CSCI

Requirements Extraction Testable –Once a requirement is stated, we should be able to determine whether or not a proposed solution meets the requirements –Evaluation must be objective Atmospheric humidity information must be accessible immediately Atmospheric humidity information must be retrieved within 5 seconds of a request January 2011CSCI

Modeling Notations Modeling –Implements repeatable processes that can be used to achieve results within a given set of bounds –Many specification and design notation methods January 2011CSCI

Modeling Notations Entity Relationship Diagrams (Chen – 76) –Entities, attributes, relationships –UML Class Diagram Name, attributes, operations, associations, generalizations, subclasses Event Traces –Sequence of events –Message Sequence Charts January 2011CSCI

Modeling Notations State Machines –State transitions, possible state –UML Statechart Diagrams –Petri Nets Data-Flow diagrams –Data centric view with processes shown –Use Case Diagram Formal Approaches –Logic (temporal) –Set Theoretic (Z) –Algebraic Specifications January 2011CSCI

Modeling Notations Also there are methodologies which incorporate multiple views The objective is to have a set of notations that can be used throughout the development or life cycle of the initiative An important characteristic is the ability to flesh out requirements iteratively (and follow ons to design and implementation) using all of the same tools we began with and that there are relationships (informational) between the notations/tools January 2011CSCI

Prototyping Throwaway –We must introduce it as a visiting orphan, or –We must tear it from the tight grip of the user and throw it in the trash in front of them Evolutionary –The user will watch their child grow January 2011CSCI

Requirements Definition Outline general purpose and scope Describe the background and rationale behind the proposed system Describe the essential characteristics of an acceptable solution Describe the environment in which the system will operate Outline any customer proposals for solving the problem Document all assumptions made about the environment January 2011CSCI

Requirements Specification Document interfaces, inputs and outputs in detail, destinations, etc Restate functionality in terms of the interfaces’ inputs and outputs Devise fit criteria for each customer quality requirement. January 2011CSCI

Verification and Validation Validation –Is it valid? –Do the requirements accurately reflect the customer’s Verification –Do the documents/artifacts produced thus far conform January 2011CSCI

Verification and Validation Techniques Validation –Walkthroughs and formal inspections –Reading –Interviews –Reviews –Checklists –Scenarios –Prototypes –Simulation January 2011CSCI

Verification and Validation Techniques Verification –Cross-referencing artifacts –Simulation –Checks for consistency and completeness –Checks for unreachable states, situations –Computer aided verification –Mathematical Proofs January 2011CSCI

Summary Requirements definition and specification documents must describe the problem, leaving solution selection to the designers Large number of sources and means for collecting requirements Many different types of definition and specifications techniques Specification techniques differ in their tool support, maturity, understandability, ease of use, and mathematical formality. Requirements questions can be answered using models or prototypes. Requirements must be validated to ensure they accurately reflect the customers’ expectations January 2011CSCI