soft. eng. i, spring 07dr driss kettani, from i. sommerville1 csc-3324: chapter 5 requirements...
Post on 19-Dec-2015
220 views
TRANSCRIPT
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 1
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...
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...
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...
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...
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
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…
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 8
KettaCar’s User and System Requirements (U.S.R)
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...
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...
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...
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...
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
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 14
KettaCar Context Diagram
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 15
An exampl
e of CPM
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 16
http://perso.wanadoo.fr/matthieu.vidal/default.htm
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...
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 18
Conceptual Architecture of KettaCar...
See the annex given in the class
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 19
Conceptual Data Modeling… See annex SE-CDM…
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 20
From the CDM to the E/R model
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...
Soft. Eng. I, Spring 07 Dr Driss Kettani, from I. Sommerville 22
KettaCar case... See the 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
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?
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
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