Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

Use-case Modeling.
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.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Identifying needs and establishing requirements Chapter 7b.
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.
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
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Requirements Engineering Process – 1
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.
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
Documenting Software Architectures
Understanding Requirements. Requirements Engineering
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
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.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
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.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Requirement Elicitation Process Lesson 3. Requirements Elicitation  Is the process to find out the requirements for an intended software system by communicating.
Requirements Engineering Requirements Elicitation Process Lecture-6.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
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.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
Requirements Validation
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
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)
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.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
SmartPosition Customer Review and Feedback Presentation.
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.
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
 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.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Requirements Analysis Scenes
Requirements Elicitation and Elaboration
System Requirements Specification
Software Requirements analysis & specifications
CS 790M Project preparation (I)
Requirements Analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003

CS 414 Software Engineering I - Requirements Analysis - January 7, Outline Engineering of Requirements Requirements Elicitation Requirements Analysis Specification Screen Prototyping Review, Negotiation and Agreement Requirements Management Validation Test Planning Summary

CS 414 Software Engineering I - Requirements Analysis - January 7, Engineering of Requirements The development and management of requirements is something that is much the same across disciplines e.g. –The entire system must always be taken into account –The client frequently supplies vague, incomplete and sometimes contradictory information –The client often has unrealistic expectations –Requirements must be specified and subsequently matched to design –The requirements may change due for a variety of reasons, and must be managed throughout the project process This process is called “requirements engineering”

CS 414 Software Engineering I - Requirements Analysis - January 7, Requirements Elicitation Elicitation is determining the system requirements through interaction with the client and other project stakeholders This is a non-trivial task, since the information supplied is often –incomplete –inconsistent –ambiguous

CS 414 Software Engineering I - Requirements Analysis - January 7, Requirements Elicitation (continued) Primary goals of elicitation: –Determining system feasibility –Determining the technical environment of the system –Creating a list of desired functions of the system –Determining any constraints on the system (“non-functional requirements”) –Compiling a list of scenarios that will occur during use of the system

CS 414 Software Engineering I - Requirements Analysis - January 7, Requirements Analysis Organizes the elicitation results Categorizes and prioritizes the system requirements Determines if the requirements are complete, consistent and unambiguous

CS 414 Software Engineering I - Requirements Analysis - January 7, Specification The Requirements Specification Document (RSD) is the end result of the analysis process Major components of the specification include: –System model –User characteristics –Requirements Functions Constraints –Use Cases –Tracing (cross-referencing) of requirements and use cases to client requirements

CS 414 Software Engineering I - Requirements Analysis - January 7, Specification (continued) Types of System Models –Data-flow diagrams –Control-flow diagrams (system behavior) –Entity-relationship diagrams –High-level software architecture

CS 414 Software Engineering I - Requirements Analysis - January 7, Specification (continued) Use cases –Creating using the scenarios determined during elicitation –Sections Overview Preconditions Scenario Details and Context Postconditions Exception Handling

CS 414 Software Engineering I - Requirements Analysis - January 7, Specification (continued) The Requirements Specification for this course includes a section on the scope of the project since there is a time-limit involved

CS 414 Software Engineering I - Requirements Analysis - January 7, Screen Prototyping Screen Prototypes: –Should be submitted to the client in addition to the Requirements Specification –Gives the client a better idea of what is being proposed –Can be quickly created using languages such as Visual Basic and Tcl/Tk

CS 414 Software Engineering I - Requirements Analysis - January 7, Review, Negotiation and Agreement Both the vendor and the client should review the Requirements Specification Document Internal review can be in the form of an inspection, which should be done (if time permits) before submission to the client

CS 414 Software Engineering I - Requirements Analysis - January 7, Review, Negotiation and Agreement (continued) Some of the questions to be asked: –Are all sections of the template included? –Has a clear, brief summary is given of the client's needs supplied? –Is the current client system diagram accurate? –Are the user characteristics are given clearly and completely? –Are all requirements are well organized, clear, understandable, unambiguous, consistent, non-conflicting, necessary, and non- redundant? – Are all diagrams in the requirements use standard notation and are also clear and complete? –Are the requirements are appropriately numbered and cross-referenced making it easy to ensure all requirements have been met in the project?

CS 414 Software Engineering I - Requirements Analysis - January 7, Review, Negotiation and Agreement (continued) The client should then review the Requirements Specification, screen prototypes, Project Plan and budget The client and vendor then negotiate a formal written agreement, which includes: –Functionality to be included in the delivered software –Artifacts to be delivered –Schedule for delivery of artifacts –Amount to be paid by the client to the vendor, and schedule of payments

CS 414 Software Engineering I - Requirements Analysis - January 7, Requirements Management Changes to requirements after the formal agreement is reached Traceability of RSD elements to the Design Document and (indirectly) to other artifacts

CS 414 Software Engineering I - Requirements Analysis - January 7, Validation Test Planning Validation answers the question “Have we got the right product?” –That is, validation of an artifact is the process of determining whether that artifact meets the customer requirements –A Validation Test Plan defines the set of tests to be done to validate the software Validation test cases can be largely created from the RSD use cases, and should always be from the user point-of-view Should be created as soon as possible after the formal agreement is reached (to avoid bias from the design) Modified as necessary as part of requirements management Implemented as the last step of testing by the project team

CS 414 Software Engineering I - Requirements Analysis - January 7, Summary Requirements engineering refers to the development and management of requirements across disciplines The client frequently supplies vague, incomplete and sometimes contradictory information, and often has unrealistic expectations Requirements elicitation is the process of determining the system requirements through interaction with the client and other project stakeholders Analysis organizes the elicitation results and categorizes and prioritizes the system requirements

CS 414 Software Engineering I - Requirements Analysis - January 7, Summary (continued) The Requirements Specification Document is the end result of the analysis process The Requirements Specification, screen prototypes, Project Plan and budget should be submitted to the client for review The client and vendor then negotiate a formal written agreement

CS 414 Software Engineering I - Requirements Analysis - January 7, Summary (continued) Requirements management is need to handle changes to requirements after the formal agreement is reached, and to the trace requirements to design and other artifacts The Validation Test Plan is created from the requirements in order to eventually test the software from the user’s point-of-view