Requirement Handling 2013.05.02.

Slides:



Advertisements
Similar presentations
CS 411W - Notes Product Development Documentation.
Advertisements

Requirements Elicitation Techniques
7.1 A Bridge to Design & Construction
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 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
The Architecture Design Process
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Analysis Concepts and Principles
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Analysis Concepts and Principle.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
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
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements Analysis
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
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 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 Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Requirements Engineering CSE 305 Lecture-2.
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.
[ §5 : 1 ] 5. Summary of Requirements Products 5.1 Requirements Definition Document 5.2 Software Requirements Specification.
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.
Lecture 7: Requirements Engineering
Lecture-3.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
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.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
By Germaine Cheung Hong Kong Computer Institute
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Software Engineering Lecture 10: System Engineering.
ITEC 370 Lecture 6 Requirements. Review Requirements –What are some of the stages of the requirements gathering process? –What is the end result of this.
Requirements Engineering Determining and Defining the Requirements for the Project.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 7 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
CPSC 872 John D. McGregor Session 31 This is it..
Requirements Models Representing the Product in Ways Other than Text.
Requirements Elicitation and Elaboration
Chapter 6: Principles of Requirements Analysis
Chapter 5 Understanding Requirements
CEN 5035, Software Engineering
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Presentation transcript:

Requirement Handling 2013.05.02

Requirement Analysis Phases Inception (initiation) Elicitation (gathering) Problems of scope Problems of understanding Problems of volatility Elaboration Developing a refined requirement model User scenarios Negotiation Agree on what you elaborated Specification SRS, RS, Requirement Specification Validation Requirements are stated unambiguously, consistent and error free as much as possible Technical review Requirements management Requirements are changing, follow them up

SRS Template Table of Contents Revision History 1. Introduction 1.1 Purpose 1.2 Document Conventions 1.3 Intended Audience and Reading Suggestions 1.4 Project Scope 1.5 References 2. Overall Description 2.1 Product Perspective 2.2 Product Features 2.3 User Classes and Characteristics 2.4 Operating Environment 2.5 Design and Implementation Constraints 2.6 User Documentation 2.7 Assumptions and Dependencies 3. System Features 3.1 System Feature 1 3.2 System Feature 2 (and so on) 4. External Interface Requirements 4.1 User Interfaces 4.2 Hardware Interfaces 4.3 Software Interfaces 4.4 Communications Interfaces 5. Other Nonfunctional Requirements 5.1 Performance Requirements 5.2 Safety Requirements 5.3 Security Requirements 5.4 Software Quality Attributes 6. Other Requirements Appendix A: Glossary Appendix B: Analysis Models Appendix C: Issues List

Theoretical Ideas #1 Identifying Stakeholders Recognizing multiple viewpoints Working toward collaboration Asking the questions Collaborative requirements gathering Facilitated Application Specification Technique (FAST) Grouping requirements Normal requirements (the “explicit” ones) Expected requirements (the “implicit” ones) Exciting requirements (beyond customer expectations) Usage scenarios, use cases

Theoretical Ideas #2 Building the Requirements Model (UML or simpler way) Scenario-based elements Class-based elements Behavioral elements Flow-oriented elements Analyze patterns

Practical Ideas #1 Don’t put your resume ahead of the requirements Business value Simplify essential complexity; Diminish accidental complexity Everything will ultimately fail Every safety mechanism we employ to mitigate one kind of failure adds new failure modes. Quantify “Fast” is not a requirement. Neither is “responsive.” Nor “extensible.” It’s never too early to think about performance Non-functional requirements Simplicity before generality, use before reuse Architectural tradeoffs (p44) You can’t have it all. It is virtually impossible to design an architecture that has high performance, high availability, a high level of security, and a high degree of abstraction all at the same time.

Practical Ideas #2 Use uncertainty as a driver Try before choosing Fight repetition Copy-paste means further possibility for abstraction Remember the kiss principle Software architecture has ethical consequences Multipliers, sign on a building analogy Skyscrapers aren’t scalable Warning: problems in mirror may be larger than they appear Multiply time and effort Security is not a feature Secure communication shall be considered from the beginning Seek the value in requested requirements (F-16) Customer does not know solution, but problems

Practical Ideas #3 Managing Complexity Use the same language Essential complexity vs. accidental complexity Use the same language UML, SysML, drawings Create requirement diagrams with connections Understanding context Linking requirements to testing The Devil is in the Interfaces Tracking and communicating changes Communication, communication, communication Reusable components