Lecture 7: Requirements Engineering

Slides:



Advertisements
Similar presentations
Presentation by Prabhjot Singh
Advertisements

Chapter 2 – Software Processes
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
SWE Introduction to Software Engineering
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.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
SE 555 – Software Requirements & Specifications Introduction
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Chapter 4 Requirements Engineering
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
S/W Project Management
CSI315 Web Applications and Technology Overview of Systems Development (342)
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.
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.
ITEC224 Database Programming
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
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.
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.
Requirements Engineering ments_analysis.
Software Requirements Engineering: What, Why, Who, When, and How
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Requirements Engineering Overview Senior Design Don Evans.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Chapter 4 Software Requirements
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Requirements Engineering Process
Requirements Engineering ments_analysis.
Requirement Engineering
Software Requirements Specification Document (SRS)
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.
CS223: Software Engineering Lecture 8: Requirement Engineering.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Engineering Lecture 10: System Engineering.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
 System Requirement Specification and System Planning.
Software Process Activities.
SYSTEM ANALYSIS AND DESIGN
Requirements Elicitation and Elaboration
Requirements Elicitation – 1
Software Requirements analysis & specifications
UNIT II.
Requirements Document
Applied Software Project Management
Presentation transcript:

Lecture 7: Requirements Engineering Graduation Projects Lecture 7: Requirements Engineering

Waterfall Model

The Requirement Engineering Process The process of establishing what services are required and the constraints on the system’s operation and development Requirements engineering help software engineers to better understand the problem they will work to solve. It encompasses the set of tasks that lead to an understanding of what the business impact of the software will be, what the customer wants and how end-users will interact with the software. Requirement Engineering Process Feasibility Study Requirements elicitation and analysis Requirements Specification Requirements Validation

The Requirements Engineering Process

Requirements Elicitation It is the practice of obtaining the requirements of a system from users, customers and other stakeholders. The practice is also sometimes referred to as Requirement gathering. Requirements elicitation practice include the following: Interviews Questionnaires User observation Workshops Brain storming Use cases Role playing And prototyping

Requirements Elicitation Problems of Requirement Elicitation Problems of scope: The boundary of system is ill-defined. Or unnecessary details are provided. Problems of understanding: The users are not sure of what they need, and don’t have full understanding of the problem domain. Problems of volatility: the requirements change overtime.

Requirements Elicitation Guidelines of Requirements Elicitation Assess the business and technical feasibility for the proposed system Identify the people who will help specify requirements. Define the technical environment (e.g. computing architecture, operating system, telecommunication needs) into which the system or product will be placed Identify “domain constraints” (i.e. characteristics of the business environment specific to the application domain) that limit the functionality or performance of the system or product to build Define one or more requirements elicitation methods (e.g. interviews, team meetings, ..etc) Solicit participation from many people so that requirements are defined from different point of views. Create usage scenarios of use cases to help customers/ users better identify key requirements.

Requirements Analysis Requirements Analysis, determining whether the stated requirements are clear, complete, consistent and unambiguous.

Requirements Analysis Stakeholder Identification Stakeholders are people or organizations that have a valid interest in the system. They may be affected by it directly or indirectly. Stake holders may include: Anyone who operates the system Anyone who benefits from the system Anyone involved in purchasing or procuring the system People opposed to the system (negative stakeholders) Organizations responsible for the system

Requirements Analysis Stakeholder Interviews Interviews are a common technique used in requirement analysis. This technique can serve as a means of obtaining the highly focused knowledge from different stakeholders perspectives

Requirements Analysis Types of Requirements: Customer Requirements: Operational distribution or deployment: Where will the system be used? Mission profile or scenario: How will the system accomplish its mission objective? Performance and related parameters: What are the critical system parameters to accomplish the mission? Utilization environments: how are the various system components to be used? Effectiveness requirements: How effective or efficient must the system be in performing its mission? Operational life cycle: How long will the system be in use by the user? Environment: what environments will the system be expected to operate in an effective manner?

Requirements Analysis Types of Requirements: Architectural Requirements: A formal description and representation of a system, organized in a way that support reasoning about the structure of the system which comprises system components, the externally visible properties of those components, the relationships and the behavior between them, and provides a plan from which products can be procured and systems developed, that will work together to implement the overall system.

Requirements Analysis Types of Requirements: Functional Requirements: Defines functions of a software system or its components. They may be calculations, technical details, data manipulation and processing and other specific functionality that define “what a system is supposed to accomplish?” They describe particular results of a system. Functional requirements are supported by Non-functional requirements.

Requirements Analysis Types of Requirements: Non-Functional Requirements: They are requirements that specify criteria that can be used to judge the operation of a system, rather than specific behavior. Functional requirements define what the system is supposed to do, whereas non-functional requirements define how a system is supposed to be. Non-functional requirements can be divided into two main categories: Execution qualities, such as security and usability, which are observable at runtime. Evolution qualities, such as testability, maintainability and scalability.

Requirements Specifications Requirements Specification is the direct result of a requirement analysis and can refer to: Software Requirements Specification Hardware Requirements Specification

Requirements Specifications A Software Requirements Specification (SRS) – a requirements specification for a software system – is a complete description of the behavior of a system to be developed. It includes a set of use cases that describe all the interactions the users will have with the software. In addition to use cases, the SRS also contains non-functional requirements (such as performance requirements, quality standards, or design constraints)

Requirements Specifications A Software Requirements Specification (SRS) The software requirement specification document enlists all necessary requirements for project development. To derive the requirements we need to have clear and thorough understanding of the products to be developed. A general organization of an SRS is as follows: Introduction Purpose, Scope, Definitions, System Overview, References Overall Description Product Perspective, Product functions, User characteristics, constraints, assumptions and dependencies. Specific Requirements External Interface requirements, functional requirements, performance requirements, design constraints, logical database requirement, software system attributes.

Requirements Validation and Verification Validation (& Verification), is the process of checking whether the requirements, as identified, do not contradict the expectations about the system of various stakeholders and do not contradict each other. It is Requirements Quality Control

Validation Vs. Verification Validation: “Am I building the right product?” checking a work product against higher-level work products or authorities that frame this particular product. Requirements are validated by stakeholders Verification: “Am I building the product right?” checking a work product against some standards and conditions imposed on this type of product and the process of its development. Requirements are verified by the analysts mainly

More about validation Requirements validation makes sure that requirements meet stakeholders’ goals and don’t conflict with them.