Requirement Engineering

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

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements and Design
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
SWE Introduction to Software Engineering
Introduction to Software Engineering
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
1 To introduce the concepts of user and system requirements To introduce the concepts of user and system requirements To describe functional and non- functional.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
Overview of Software Requirements
1 Software Requirements Specification Lecture 14.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
The Software Development Life Cycle: An Overview
1. 2  This lab accompanies the software engineering course to support the content in the course. The overall goals of this lab are to introduce examples.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Lecture 7: Requirements Engineering
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Chapter 4 Software Requirements
CT1404 Lecture 2 Requirement Engineering 1 1. Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics.
CS 5150 Software Engineering Lecture 7 Requirements 1.
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.
Week 3: Requirement Analysis & specification
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
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 Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Scope of Systems Requirements: Definition o f Requirements Not to define the full system Not to define the full system Describe or define the essential.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Pepper modifying Sommerville's Book slides
Types and Characteristics of Requirements
Software Requirements and the Requirements Engineering Process
CMPE 280 Web UI Design and Development August 29 Class Meeting
Chapter 4 – Requirements Engineering
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Information Systems Today: Managing in the Digital World
Systems Analysis and Design
Requirements Elicitation and Elaboration
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
OO Domain Modeling With UML Class Diagrams and CRC Cards
Requirements Elicitation – 1
Software Requirements analysis & specifications
UNIT II.
Requirements Analysis
Software Requirements Specification Document
Requirements Engineering Processes
Chapter 5 Understanding Requirements
Lecture # 7 System Requirements
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Requirement Engineer Terms and Conditions
Applied Software Project Management
SWE 3313 Requirements.
Presentation transcript:

Requirement Engineering CT1404 Lecture 2 Requirement Engineering 1

Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics of a Good Requirement Characteristics for the Requirements Set Types of Requirements (Functional, Nonfunctional, and Design Constraints) 2

Project Features Project Cost Project Time The goal of software development is to develop quality software—on time and on budget—that meets customers' real needs. Project Features Project Cost Project Time

3

Importance of Requirements Analysis

Defining a Requirement A Requirements is simply a statement of what the system must do or what characteristics it must have.

Characteristics of a Good Requirement Feasible (realistic) Independent Atomic Necessary Implementation-free (abstract) Unambiguous Testable (verifiable) Concise Correct Understandable Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Unambiguous REQ: The system shall be implemented using ASP. REQ: The system shall be implemented using Active Server Pages. REQ: On the books screen, the user can only view one book. REQ: On the books screen, the system shall display only one book. Prepered by Dr. Issam Al-Azzoni

Testable (Verifiable) REQ: The user shall be able to search for books based on author’s name, title, etc. REQ: The user shall be able to search for books based on author’s name or title. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Concise REQ: Sometimes the user can search for books using author’s name, but sometimes he should be able to search using the book title. Yet, other times, the user can enter both. REQ: The user shall be able to search for books based on author’s name or title. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Correct REQ: Based on bank regulations, currency amounts shall be calculated and stored with accuracy of two decimal places. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Understandable Requirements should be grammatically correct Written in a consistent style e.g. the word “shall” should be used instead of “will”, “must”, “can”, or “may” REQ: The system shall remember customer data. REQ: The system shall displayed order details. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Feasible (Realistic) REQ: The system shall be able to understand commands given in Arabic language. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Independent REQ: The administrator shall be able to enter the list of best selling books. REQ: The system shall allow the user to view it. REQ: He shall be able to enter books related to a given book. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Atomic REQ: The system shall provide the ability to order books, browse the best-selling books, search for books, and view book information. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Necessary A requirement is unnecessary if It is not needed by any stakeholder Or removing it will not affect the system REQ: All requirements shall be implemented and tested. Prepered by Dr. Issam Al-Azzoni

Implementation-Free (Abstract) Requirements should not contain unnecessary design and implementation information. REQ: Customer information shall be stored in a text file. Prepered by Dr. Issam Al-Azzoni

Characteristics for the Set of Requirements Consistent Non-redundant Complete Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Consistent There should be no conflict between requirements. REQ1: Payment by PayPal shall be available. REQ2: Only credit card payments shall be accepted. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Consistent The applied terminology should be consistent REQ1: Users shall be able to view best selling books. REQ2: An administrator shall be able to add books to the highest-sales books. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Non-redundant There should be no overlapping between requirements REQ1: A calendar shall be available to help with entering the flight date. REQ2: The system shall display a calendar when entering any date. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni Complete All applicable requirements should be specified. Prepered by Dr. Issam Al-Azzoni

Prepered by Dr. Issam Al-Azzoni What VERSUS How Requirements should not contain: Project information Budget information Testing information Design information Unless the customer really demands it Put under design constraints to distinguish from other requirements Prepered by Dr. Issam Al-Azzoni

Types of Requirements (based on what they describe) Requirements types Functional requirements Non-functional requirements Design constraint Prepered by Dr. Issam Al-Azzoni

Functional Requirement The activity that the system must perform. It related directly to a process a system has to perform or information it need to contain. Functional requirements flow directly into the creation of functional, structural and behavioral models.

Non-functional requirement The definition for a non-functional requirement is that it essentially specifies how the system should behave and that it is a constraint upon the systems behavior. One could also think of non-functional requirements as quality attributes for of a system. Simply put, the difference is that non- functional requirements describe how the system works, while functional requirements describe what the system should do.

FURPS+ Framework

Stakeholders People or organizations that are affected by the proposed system or have a potential influence on the requirements . Includes: –Client –User –Development team – Sponsor –Others involved in context of use •Important to involve key stakeholders in requirements capture process

Requirements gathering techniques • Requirements capture techniques: – Observation – Interview – Questionnaires – Scenario Walkthroughs – Focus groups – Prototypes.

Large legalistic documents Approaches to requirements capture • Result: • Large legalistic documents Easy to misinterpret Changes hard to manage Easy to miss / omit requirements

Modern approach Model using UML Use cases are used Approaches to requirements capture • Modern approach – Model using UML • Use cases are used – Use Case Diagram to capture functional requirements – Set of Use Case descriptions