soft. eng. i, spring 07dr driss kettani, from i. sommerville1 csc-3324: chapter 5 requirements...

26
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Somme rville 1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Post on 19-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 1

CSC-3324: Chapter 5

Requirements Engineering

Reading: Chap. 6, 7 + annex

Page 2: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 2

Wrap up on Chap. 1, 2, 3 & 4...

What is Software Engineering (SE) ?

The major goal of SE is to produce good software

cost effectively… What is good software?

In order to produce good software, we need to

follow a good SE process… What is a good process?

Some SE process models are widely used and

universally recognized…

Before launching any SE process, we should first be

perform a feasibility study...

Software engineering is concerned with theories, methods and tools for professional software development

Maintainability, Dependability,

Efficiency, Usability

Understandable, Visible, Supported, Accepted, Reliable,

Rapid, etc.Structured set of activities

(steps) required to develop a software system....

The waterfall model

Separate and distinct phases of specification and

development

Prototyping development

Specification and development are interleaved

Component-based development

The system is assembled from existing components

A quick and cheap study of the project requirements in order to assess the business

opportunity, the technology enablers and the schedule...

Page 3: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 3

Wrap up on Chap. 1, 2, 3 & 4...

Now we are ready to launch the Requirements

Engineering process…

Three kinds of Requirements...

Common problems in Requirements gathering...

Requirements must be documented…

Requirements Gathering is an iterative process

by its nature…

An attribute that the projected system

must fulfill…User Requirements,

System Requirements and Requirements specifications

Precision, Completeness and Consistency...

Functional, Non Functional and Domain relatedAnalysis and Requirements

Elicitation/Gathering overlaps...

Page 4: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 4

Requirements Engineering...

The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed...

The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process….

Engineering consists of collecting, analyzing, discovering and documenting the requirements in order to better understand and (Re)Present them...

Page 5: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 5

How to ?

There are a number of generic and

mandatory activities to carry out: Requirements elicitation...

Requirements analysis...

Requirements validation...

Requirements management...

Page 6: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 6

The Conceptual Analysis Process

Feasibilitystudy

Requirementselicitation and

analysisRequirementsspecification

Requirementsvalidation

Feasibilityreport

Systemmodels

User and systemrequirements

Requirementsdocument

Page 7: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 7

The Requirements Definition Document...

Collecting...+ Analyzing...+ Validation with the Client...

+ Specifying them in a written document

Requirements Document: (U.S.R+ models of Data, Processes & Users)…

Must be understood by the client…

Page 8: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 8

KettaCar’s User and System Requirements (U.S.R)

Page 9: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 9

System models

Different models may be produced during

the requirements analysis activity...

Requirements analysis may involve three

structuring activities which result in these

different models

System models will be developed using

Merise method...

Page 10: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 10

System Analysis... Consist of Decomposing, Understanding entities

and processes of the current system, and

recomposing the whole system in a better way…

It focuses on: Processes… (Conceptual Process Model) Data… (Conceptual Data Model) Users… (Interface Model)

Usually we start by drawing a global architecture

of the system… The conceptual flow diagram

Based on Merise

Method...

Page 11: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 11

The first step: The Conceptual Flow Diagram

In order to understand the current system, its

boundaries must be established to determine what

must be implemented...

These are documented using a description of the

system context in term of Users, Data, Processes…

The Conceptual Flow Diagram is a global picture

that presents an abstract view of the components

(data, users and processes) making up a system...

Page 12: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 12

The first step: The Conceptual Flow Diagram

The Conceptual Flow Diagram must include

major information flows between sub-systems...

Must identify different types of functional

component in the model...

Usually presented as a block diagram...

Page 13: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 13

KettaCar Conceptual Flow Diagram

In Merise, we use the Context diagram to

present the Conceptual flow diagram…

See the annex given in the class

Page 14: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 14

KettaCar Context Diagram

Page 15: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 15

An exampl

e of CPM

Page 16: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 16

http://perso.wanadoo.fr/matthieu.vidal/default.htm

Page 17: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 17

The conceptual Architecture...

It is directly derived from the context diagram and the different CPMs…

The hierarchy of processes in the CPM… The leafs of your architecture are the

slots where to write algorithms during the design time…

DFDs are obtained from the CPM...

Page 18: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 18

Conceptual Architecture of KettaCar...

See the annex given in the class

Page 19: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 19

Conceptual Data Modeling… See annex SE-CDM…

Page 20: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 20

From the CDM to the E/R model

Page 21: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 21

Putting data and Processes together...

The goal of confronting data and processes is to ensure that: All the necessary data is available for

the processes… There is no data that appear in the

CDM but is used by none of the processes...

Page 22: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 22

KettaCar case... See the annex...

Page 23: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 23

Requirements validation

Concerned with demonstrating that the

requirements define the system that the

customer really wants

Requirements error costs are high so validation is

very important

Fixing a requirements error after delivery may cost up to

100 times the cost of fixing an implementation error

Page 24: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 24

Requirements checking

Validity. Does the system provide the functions which best support the customer’s needs?

Consistency. Are there any requirements conflicts?

Completeness. Are all functions required by the customer included?

Realism. Can the requirements be implemented given available budget and technology

Verifiability. Can the requirements be checked?

Page 25: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 25

Requirements validation techniques

Requirements reviews Systematic manual analysis of the requirements

Prototyping Using an executable model of the system to check

requirements. Test-case generation

Developing tests for requirements to check testability

Automated consistency analysis Checking the consistency of a structured

requirements description

Page 26: Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex

Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 26

Requirements reviews

Regular reviews should be held while the

requirements definition is being formulated

Both client and contractor staff should be

involved in reviews

Reviews may be formal (with completed

documents) or informal. Good communications

between developers, customers and users can

resolve problems at an early stage