Requirements Collection By Dr. Gabriel. Requirements A requirement is any function, constraint, or property that the system must provide, meet, or satisfy.

Slides:



Advertisements
Similar presentations
Lecture 5: Requirements Engineering
Advertisements

3.05 Employee Marketing-information to develop a marketing plan
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Systems Analysis and Design 9th Edition
Software Requirements
Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Requirements
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
SE 555 Software Requirements & Specification Requirements Validation.
Introduction to Software Engineering Dr. Basem Alkazemi
Systems Analysis and Design in a Changing World, Fourth Edition
درس : مهندسي نيازمندي ها درس : مهندسي نيازمندي ها استاد : دكتر عبداله زاده دانشجو : خيرالنسا مرچانت Software Requirements.
Chapter 4: Beginning the Analysis: Investigating System Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 Lecture 6 The Systems Analyst (Role and activities) Systems Analysis & Design Academic Year 2008/9.
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
UNLEASH the POWER of the Evaluation Framework, Methods, Tools and Data Analysis.
Chapter 4: Beginning the Analysis: Investigating System Requirements
Problem Solving Methodology
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements Analysis
©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.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
1 4 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 4 Beginning the Analysis: Investigating System Requirements.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
Lecture 7: Requirements Engineering
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Lecture 2 Developing Requirements
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 Quality Attributes of Requirements Documents Lecture # 25.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
Requirements Engineering Process
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Software Requirements Specification Document (SRS)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
CS223: Software Engineering Lecture 8: Requirement Engineering.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Prepared by Amira Selim 31 st October 2009 Revised by Dahlia Biazid Requirements Analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 Requirements Determination (Analysis) Lecture 3 Courtesy to Dr.Subhasish Dasgupta.
 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.
Pepper modifying Sommerville's Book slides
Presentation transcript:

Requirements Collection By Dr. Gabriel

Requirements A requirement is any function, constraint, or property that the system must provide, meet, or satisfy in order to fulfill its purpose. Requirements may be separated into two broad categories, functional and non-functional –A functional requirement is a function that the system must perform. Summarize Sales Create Paychecks Receive Shipment –A non-functional requirement is a characteristic or constraint that might limit our choice of technology when we implement one or more functional requirements. Availability –Users must be able to access the system twenty fours hours per day. Capacity/Performance –The system must be able to handle a peak load of thirty simultaneous users with no more than five second response time. Time –The system must be implemented by December 31, XXXX.

Requirements Requirements may be placed in two other categories that are useful to designers and builders. –Priority Mandatory –The system will not be useful unless the requirement is met. Desirable –The system will be more useful if the requirement is met. The requirement must be considered when alternative solutions are evaluated. Optional –The system might be more useful if the requirement is met but the requirement should not be considered when alternative solutions are evaluated. –Stability Stable –The requirement is not likely to change over the useful life of the system. Volatile –It is very likely that the requirement will change over the useful life of the system.

Requirements Requirements must be: –Correct A requirement is correct if it describes something that a system must do or a constraint on the way it must be done. –Complete A requirement is complete to the extent that all parts are present and each part is fully developed. The requirement set is complete if it contains all of the complete requirements. –Consistent A requirement is consistent if it does not conflict with another requirement. –Nonambiguous A requirement is non-ambiguous if there is only one interpretation of its meaning –Verifiable A requirement is verifiable if and only if there is a finite cost effective process that a person or machine can use to check that the as built system meets the requirement. (Ambiguous and qualitative (subjective) requirements are not verifiable) –Traceable An analysis requirement is traceable if it can be traced backward to a feasibility study, a white paper, meeting notes, or an interview.

Requirements Elicitation Techniques Collaborative sessions Interviewing Ethnography Questionnaires Role playing Documentation Modeling Prototyping

Requirements Elicitation Techniques Collaborative sessions –Primarily useful for brainstorming and problem solving activities –It is a useful technique –Useful for identifying and negotiating conflicts that might exist between requirements.

Requirements Elicitation Techniques Interviewing techniques –Are one of the simplest methods of requirements elicitation. –Most effective methods of requirements elicitation. –Interviews can either be structured around a specific set of questions, or open-ended with the intention of gathering as much useful information as possible. –It is often beneficial to combine both techniques in a single interview. –Interviews are often conducted in stages, so that responses from the first round can be used to generate a deeper set of more focused questions for the second round.

Requirements Elicitation Techniques Ethnography –Involves observing the way users interact with an existing system. –This is particularly useful when users are unable to fully articulate their needs, or are too busy to attend other types of elicitation meetings.

Requirements Elicitation Techniques Questionnaires –Can be useful if it is possible to formulate a very specific set of questions. –This usually is only possible when the problem is quite well defined up front. –Tend to be used more frequently in the form of market research surveys when developing a product for an external client, or to elicit a general response from a targeted group of stakeholders such as the users of an existing system.

Requirements Elicitation Techniques Role-playing –Can be used to explore stakeholders needs when those stakeholders are unavailable. –This is particularly useful for example if you are developing a product that will be mass marketed and you don’t know who the actual users will be.

Requirements Elicitation Techniques Documentation –Can provide significant insights into possible requirements. Problem reports Memos User manuals from existing systems Existing designs and specifications Reports output from existing systems Documentation from competitors’ products

Requirements Elicitation Techniques Modeling –Can be used during the elicitation process primarily as a means of communicating back to the user the specific understanding of their needs. Data flow diagrams (DFD), State charts Use cases and sequence diagrams –A model is useful during elicitation if it helps the elicitor to figure out which questions to ask, or if it surfaces hidden requirements. –In general, formal models are not that useful during the elicitation process primarily because they are typically not well understood by stakeholders.

Requirements Elicitation Techniques Prototyping –is a useful technique for taking an early set of user requirements and rapidly building a ‘system’ that can be used to elicit additional requirements. –There are various types of prototypes. Low fidelity models are built with pen and paper, index cards, and post it notes etc. –very little cost. Higher fidelity prototypes, that utilize rapid development techniques to deliver a semi- functioning product to the user

Requirements Requirements document states what the system will do. –It does not state how the system will do it. –Makes sure system does the right things –Makes sure system doesn’t do the wrong things It’s a written document The main purpose of a requirements document is to serve as an agreement between the developers and the users/customers on what the system will do. The requirements document brings the following additional benefits: –the customers can see early on if their needs will be met –the developers can estimate the effort involved in creating the application –the development project leader has a basis for a project plan –the quality assurance people have a basis for testing the application

Requirements Take iterative approach when writing requirements document When you are collecting requirements it is very important to verify all of the facts by interviewing customers with differing points of view users and management users in different parts of the organization; etc. Remember that different people in the same position and especially people in different positions have a different view of the business needs and business practices as far as your application is concerned.

Requirements –A requirements document should include requirements that meet all characteristics of requirements. In addition, a requirements document should be: Understandable –A requirements document is understandable if it can be read and understood by those who were the source of the requirements and those who will use the requirements to create the system. Modifiable –A requirements document is modifiable if its structure and style are such that changes to the requirements can be made easily, completely, and consistently. Annotated –A requirements document is annotated if the relative priority and stability is appended to each requirement.

Requirements Each requirements document consists of at least two parts –An overview –A description of the system’s functionality. You must continue updating the document as the requirements evolve.

Questions ?