CSC480 Software Engineering Lecture 7 September 16, 2002.

Slides:



Advertisements
Similar presentations
Topics covered The requirements engineering process
Advertisements

Software Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
Information System Design IT60105 Lecture 3 System Requirement Specification.
Introduction to Software Engineering
Software Requirements
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Requirements
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Overview of Software Requirements
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
The Software Development Life Cycle: An Overview
Slide 1 Chapter 4 Software Requirements. Slide 2 Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional.
REQUIREMENTS ANALYSIS. Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Software Requirements Engineering CSE 305 Lecture-2.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
Software Requirements Descriptions and specifications of a system.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Software Requirements. Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Software Requirements Software Requirements - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 / 54 Software Requirements.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Analysis
Software Engineering, 8th edition. Chapter 6 1 Courtesy: ©Ian Sommerville 2006 March 05 th, 2009 Lecture # 8 Software Requirements.
Requirements Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Chapter 5 – Requirements Engineering
Objectives Importance of Requirement Engineering
Software Requirements
Software Requirements
CSC480 Software Engineering
Requirements Reference: Software Engineering, by Ian Sommerville, 6th edition, Chapters 5, 6, & 8.
4 REQUIREMENTS ANALYSIS CASE STUDY
Chapter 6: Principles of Requirements Analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CSC480 Software Engineering Lecture 7 September 16, 2002

Topics User & system requirements Functional & non-functional requirements Ways to express requirements

Requirement Analysis Requirements generally express what an application is meant to do (i.e., explore the problem domain)  Generally, they don’t try to express how to accomplish these functions (i.e., explore the solution domain)

What Is a Requirement? The following statement (Y) sounds like one  The system should allow the user to access his account balance And what is not? See the following statement (N)  Customers’ account balances will be stored in a table called “balance” in an Access database

Types of Requirement Targeted audience  C-requirements – targeted primarily for customers, in a non-techie format  D-requirements – targeted primarily for developers, with detailed descriptions Levels of description

Requirements Readers

Types of Requirement Levels of description  As the basis for a bid for a contract A high-level abstract statement of a service or of a system constraint Open for interpretation  As the contract itself A detailed mathematical functional specification must be defined in detail

Definitions and Specifications

Why Req’ts Must Be Written? Developers tend to believe that the source code express all the requirements But without requirements, the team cannot  Know what goals it is trying to accomplish  Inspect and test its work properly  Track its productivity  Gather data for estimations in future projects  Satisfy its customer

Each Requirement Must Be  expressed properly, (clarity)  made easily accessible,  numbered, (traceability)  accompanied by tests that verify it, (testability)  provided for in the design, (traceability)  accounted for by code, (traceability)  tested in isolation,  tested in concert with other requirements, and  validated by testing after the application has been built.

IEEE SRS Table of Contents 1. Introduction 1.1.Purpose 1.2.Scope 1.3.Definitions, acronyms & abbreviations 1.4.References 1.5.Overview 2. Overall description 2.1.Product perspective System interfaces User interfaces Hardware interfaces Software interfaces Communications interfaces Memory constraints Operations Site adaptation requirements 2.2.Product functions 2.3.User characteristics 2.4.Constraints 2.5.Assumptions and dependencies 2.6.Apportioning of requirements 3. Specific requirements -- see chapter four Supporting information -- see chapter four --

Functional v.s. Non-Functional Functional requirements  Specify services must be provided Non-functional requirements  Performance – speed, throughput  Reliability and availability  Error handling  Interfaces (with user or other applications)  Constraints – tool & language, standards, platform, etc Inverse requirements – what the app doesn’t do

Non-functional requirement types

Desired Attributes for SRD Completeness Consistency Nonambiguity Each requirement should be testable Each requirement should be numbered and the number should be used in tracing the fulfillment in design through testing

Problems w/ Natural Language Lack of clarity  Precision is difficult without making the document difficult to read Requirements confusion  Functional and non-functional requirements tend to be mixed-up Requirements amalgamation  Several different requirements may be expressed together

Editor Grid Requirement 2.6 Grid facilities To assist in the positioning of entities on a diagram, the user may turn on a grid in either centimetres or inches, via an option on the control panel. Initially, the grid is off. The grid may be turned on and off at any time during an editing session and can be toggled between inches and centimetres at any time. A grid option will be provided on the reduce-to-fit view but the number of grid lines shown will be reduced to avoid filling the smaller diagram with grid lines.

Requirement problems Grid requirement mixes three different kinds of requirement  Conceptual functional requirement (the need for a grid)  Non-functional requirement (grid units)  Non-functional UI requirement (grid switching)

Structured presentation

Using Diagrams – informal Story-boarding  Informal diagrams with icons and links Mock-up screens  Use simple GUI screens/pages to illustrate navigation among them

Using Diagrams – formal Use case diagrams  Actors-system interactions Data flow diagrams (DFD)  Data traffic among processing units State-transition diagrams  The logics of transitioning from one state to another

Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area Initialize 1. System displays player’s main character in the dressing room. 2. System displays a window for setting his character's qualities. 3. Player allocates the qualities of his main character. 4. Player chooses an exit from the dressing room. 5. System moves player’s main character into the area on the other side of the exit. Initialize Use case Use case details

Engage Foreign Character Use Case player designer Initialize Use case Encounter Travel to adjacent area Set rules Engage Foreign Character 1. System displays the foreign character in the same area as the player’s. 2. System exchanges quality values between the two characters. 3. System displays the results of the engagement. 4. System displays player’s character in a random area. Engage foreign character Use case details

Data Flow Diagram: Explanation of Symbols Account # & deposit Get deposit Check deposit Processing element Data type Direction of data flow

Data Flow Diagram: Explanation of Symbols Account # & deposit balance query User account database account data Get deposit Create account summary Check deposit Printer Input Output Processing element Data type Direction of data flow Data store …...

Partial Encounter State-Transition Diagram Setting up Preparing Waiting Complete setup Foreign character enters area Engaging Player clicks qualities menu

Using Conditions in State-Transition Diagrams Engaging Waiting [foreign character absent] [foreign character present] Player moves to adjacent area event condition state