CSC480 Software Engineering

Slides:



Advertisements
Similar presentations
Topics covered The requirements engineering process
Advertisements

Software Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
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.,
CS 425/625 Software Engineering Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
©Ian Sommerville 2000Software 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 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.
©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.
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. 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.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
 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.
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.
CSC480 Software Engineering Lecture 7 September 16, 2002.
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.
©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.
Daniel Amyot, University of Ottawa Based on slides by Gunter Mussbacher (2009) and Stéphane Somé (2008) with material from these standards: IEEE ,
Software Requirements
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 5 – Requirements Engineering
Software Requirements
Objectives Importance of Requirement Engineering
Software Requirements
Software Requirements
System Requirements Specification
Requirements Engineering
Software Requirements
Requirements Reference: Software Engineering, by Ian Sommerville, 6th edition, Chapters 5, 6, & 8.
Software Requirements
Software Requirements
Software Requirements Specification Document
Software Requirements
Chapter 5 Determining System Requirements
Chapter 6: Principles of Requirements Analysis
Software Requirements
Software Requirements Specification (SRS) Template.
Software Requirements
Software Requirements
Requirements Document
Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CSC480 Software Engineering Documenting Requirements

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 Levels of description 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 830-1993 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 2.1.1. System interfaces 2.1.2. User interfaces 2.1.3. Hardware interfaces 2.1.4. Software interfaces 2.1.5. Communications interfaces 2.1.6. Memory constraints 2.1.7. Operations 2.1.8. Site adaptation requirements 2.2. Product functions 2.3. User characteristics 2.4. Constraints 2.5. Assumptions and dependencies 2.6. Apportioning of 3. Specific requirements -- see chapter four -- 4. Supporting information

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 State-transition diagrams The logics of transitioning from one state to another

Use Case Diagram for the Voice Mail System

Leave a Message Use Case Use case details Leave a Message 1. The caller carries out Reach an Extension. 2. The caller speaks the message. 3. The caller hangs up. 4. The voice mail system place the recorded message in the recipient’s mailbox. Use case Reach an Extension Leave a Message Caller Log in Retrieve Messages Change the Greeting Owner Change the Passcode

Voice Mail System State-Transition Diagram