CT1404 Lecture 2 Requirement Engineering 1 1. Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics.

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.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
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.
©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.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Software Requirements.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
2/6/01D-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Using PARTS to Illustrate Requirements Concepts.
©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
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
® 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 Engineering Overview Senior Design Don Evans.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
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
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.
By Germaine Cheung Hong Kong Computer Institute
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.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
©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.
Pepper modifying Sommerville's Book slides
Types and Characteristics of Requirements
CMPE 280 Web UI Design and Development August 29 Class Meeting
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Requirements Elicitation and Elaboration
SNS College of Engineering Coimbatore
Requirement Engineering
Software Requirements analysis & specifications
UNIT II.
Requirements Analysis
Software Requirements Specification Document
Requirements Engineering Processes
Lecture # 7 System Requirements
Chapter 5 Understanding Requirements.
Requirement Engineer Terms and Conditions
Applied Software Project Management
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CT1404 Lecture 2 Requirement Engineering 1 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 2

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

3 4

Importance of Requirements Analysis 5

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

Characteristics of a Good Requirement Unambiguous Testable (verifiable) Concise Correct Understandable  Feasible (realistic)  Independent  Atomic  Necessary  Implementation-free (abstract) 7 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. 8 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. 9 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. 10 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. 11 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. 12 PREPERED BY DR. ISSAM AL-AZZONI

Feasible (Realistic) REQ: The system shall be able to understand commands given in Arabic language. 13 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. 14 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. 15 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. 16 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. 17 PREPERED BY DR. ISSAM AL-AZZONI

Characteristics for the Set of Requirements Consistent Non-redundant Complete 18 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. 19 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. 20 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. 21 PREPERED BY DR. ISSAM AL-AZZONI

Complete All applicable requirements should be specified. 22 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 23 PREPERED BY DR. ISSAM AL-AZZONI

Types of Requirements (based on what they describe) Requirements types Functional requirements Non- functional requirements Design constraint 24 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. 25

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. 26

27

FURPS+ Framework 28

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 29

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

Approaches to requirements capture Result: Large legalistic documents Easy to misinterpret Changes hardto manage EasyEasytotomiss/omitrequirements 31

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