Download presentation
Presentation is loading. Please wait.
1
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex
2
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville2 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...
3
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville3 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 related Analysis and Requirements Elicitation/Gathering overlaps...
4
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville4 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...
5
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville5 How to ? There are a number of generic and mandatory activities to carry out: Requirements elicitation... Requirements analysis... Requirements validation... Requirements management...
6
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville6 The Conceptual Analysis Process
7
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville7 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…
8
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville8 KettaCar’s User and System Requirements (U.S.R)
9
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville9 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...
10
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville10 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...
11
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville11 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...
12
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville12 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...
13
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville13 KettaCar Conceptual Flow Diagram In Merise, we use the Context diagram to present the Conceptual flow diagram… See the annex given in the class
14
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville14 KettaCar Context Diagram
15
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville15 An example of CPM
16
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville16 http://perso.wanadoo.fr/matthieu.vidal/default.htm
17
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville17 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...
18
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville18 Conceptual Architecture of KettaCar... See the annex given in the class
19
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville19 Conceptual Data Modeling… See annex SE-CDM…
20
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville20 From the CDM to the E/R model
21
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville21 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...
22
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville22 KettaCar case... See the annex...
23
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville23 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
24
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville24 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?
25
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville25 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
26
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville26 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.