Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.

Slides:



Advertisements
Similar presentations
Requirements Specification and Management
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
SE 555 Software Requirements & Specification Requirements Validation.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
IMS Information Systems Development Practices
Introduction to Software Testing
Software Engineer Report What should contains the report?!
Requirements Engineering
The Software Development Life Cycle: An Overview
S/W Project Management
CS 4310: Software Engineering Lecture 3 Requirements and Design.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
Typical Software Documents with an emphasis on writing proposals.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
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.
Requirements Engineering How do we keep straight what we are supposed to be building?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Software Requirements Engineering CSE 305 Lecture-2.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Requirements Documentation CSCI 5801: Software Engineering.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Requirements Engineering Csaba Veres. Outline What is requirements engineering? Why is it important? How can you do it (properly)?
Requirements Engineering Requirements Elicitation Process Lecture-6.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
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
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.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
1. The Requirements Process Requirements Input Example
Click to add text Systems Analysis, Prototyping and Iteration.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Engineering Lecture 10: System Engineering.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
Chapter3:Software Processes
Requirements Validation – II
Requirements Engineering (continued)
CSC480 Software Engineering
Incepting Enterprise Applications
Introduction to Software Testing
Software Requirements Specification Document
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Lecture # 7 System Requirements
Requirements Document
Presentation transcript:

Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements Specification Technique and Choosing a Specification Method

(1) “Requirements” Prototyping Software Prototyping is used for a variety of reasons : 1.help elicit requirements 2.understand and drill down on the requirements 3.validate the requirements 4.demonstrate feasibility There are two major categories of “general” software prototyping: –Throw-away prototyping : exploratory and code is not kept as part of the final system –Evolutionary prototyping : forms the basis of the final system and code is kept as part of the final system

Prototyping: sub-process/procedure Set Objectives of Prototyping Get the Resources for Prototyping - elicit requirements - understand reqs. - demonstrate feas. - etc. - Evolutionary - Throwaway - customers/users - developers - analysts - consultants - hardware - software - etc. Construct the Prototype - schedule - cost Evaluate & Document result - document - evaluate - store results - store prototype

Prototyping Most “successful & popular” prototyping have been in the UI area : –Terminal/Screen Interface: screen looks : field positions, color, size, shapes, etc. navigation : logical flow; consistency, etc. usage-aids : help text, default values, default choices, etc. –Report /Document/Query Interface : looks : layout, titles and headings, fonts, diagrams, etc. usage : complete, consistency, etc. Feasibility Prototyping is the next most popular: –New Technology –Performance (response time, through-put, etc.)

Broader Prototyping Role Many times prototyping is extended into solution design: –feasibility of new technology –performance trade off –UI trade-off Prototyping, because it demonstrates a potential solution, allows the modification of requirements and active exchanges of ideas even after requirements has been signed off. One danger is customers and management mistaking prototypes with final solutions (especially with respect to wanting aggressive schedule!)

(2) Requirements Documentation Requirements collected and prototyped must be documented (text author advocates): –Requirements document (in user customer terms) Contains more customer goals and current environment information –Requirements specification (for developers) Contains more details about data, systems interface, functional logic But we usually do not have the luxury of 2 documents, but have one running document that contains all the information.

IEEE/ANSI Requirements document structure of IEEE/ANSI 830 Introduction –1.1 Purpose of requirements document –1.2 Scope of the product –1.3 Definitions, acronyms and abbreviations –1.4 References –1.5 Overview of the remainder of the document 2. General description –2.1 Product perspective –2.2 Product functions –2.3 User characteristics –2.4 General constraints –2.5 Assumptions and dependencies 3. Specific requirements –Covering detailed functional, non-functional and interface requirements. 4. Appendices 5. Index

IEEE Requirements Section 3 (cont.) 3.0 Specific Requirements –3.1 External Interface Requirements User Interface Hardware Interface Software Interface Communications Interface –3.2 Functional Requirements Function 1 Function 2. –3.3 Performance Requirements –3.4 Design Constraints –3.5 Quality Requirements –3.6 Other Requirements

(3) Requirements Validation & Verification Importance of Requirements Validation: 1.ensures that both the “customer/user” and the “developers” understand and agree on the goals, the objectives, and the characteristics ( both functional and non-functional) of the final system 2.any error found here is cheaper to fix than at later stages of the development process Some common validation techniques: –manual review of requirements definition and specification documents –prototyping Incidentally, requirements may also be negotiated ! Because in “real” world, most likely, there is only one requirements document --- we won’t talk about verification (“proper evolution”) here.

Requirements Review We are looking for (correctness, completeness, consistency, clarity, traceability and testability ) in: –characterization of functions –characterizations of the non-functions performance reliability, security, and accessibility –characterization of data –characterization of application, business, and logical flow –characterization of user interface –characterization of existing systems and related constraints

Requirements Review Other topics to understand and/or agree on: –customer/user domain or business environment –customer/user goals and objectives –customer/user expectations –customer/user priorities –customer/user background and training Will the system requirements that was just reviewed satisfy the above set of topics ?

(4) Some Measurements We construct metric and keep measurements so that we can perform and manage better in the future: (measurement is basic to “engineering”) –number of requirements by type ---- impacts : sizing of work and cost estimation estimating schedule –number of changes to requirements indicates : stability of customer/user environment understanding of requirements by development completeness and consistency of initial requirements –number of changes to requirements influences: number of defects in the final system customer satisfaction schedule and cost development personnel morale and confidence

Measurements Measurements in numerical form allows: –counting –comparison –compute –Estimate Be careful of your : –accuracy and reliability (consistency) of measurements –validity (applicability) of your measurements and conclusions

Possible Measurement Dilemma Suppose you took two samples of development organizations and asked them to review and measure all the requirements “readiness” (understand and have experience with) from 1 to 5 (with 1 been the best and 5 been worst) –Group 1 came out with an “average” of 2. –Group 2 came out with an “average” of 4. You may choose to go with the Group 1 that had a self measurement of readiness at 2. –But what if the readiness for design and testing activities for the two groups came out reversed --- then what? (need to consider “complete information)

(5) Requirements Definition & Specification Techniques There are many techniques to choose from and more are invented continuously. Some characteristics to look for: –How difficult is it to use the technique? (the harder the more likely you will make error) –Is there a usage history? –Is there any tool implemented for this technique? –Is there any training material? –Is it broadly accepted ? (especially by customers/users) –Does it provide broad coverage of all types of requirements (functions, data, UI, business flow, non-functions, existing systems)