260 likes | 271 Views
This text provides an overview of the requirements engineering process, including activities such as requirements elicitation, analysis, validation, and management. It also covers the importance of documenting requirements and the different models used in the process.
E N D
CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex Dr Driss Kettani, from I. Sommerville
Software engineering is concerned with theories, methods and tools for professional software development Maintainability, Dependability, Efficiency, Usability Wrap up on Chap. 1, 2, 3 & 4... Understandable, Visible, Supported, Accepted, Reliable, Rapid, etc. A quick and cheap study of the project requirements in order to assess the business opportunity, the technology enablers and the schedule... • Component-based development • The system is assembled from • existing components • The waterfall model • Separate and distinct phases • of specification and • development • Prototyping development • Specification and development • are interleaved Structured set of activities (steps) required to develop a software system.... • What isSoftware 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... Dr Driss Kettani, from I. Sommerville
An attribute that the projected system must fulfill… Functional, Non Functional and Domain related User Requirements, System Requirements and Requirements specifications Precision, Completeness and Consistency... Analysis and Requirements Elicitation/Gathering overlaps... 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… Dr Driss Kettani, from I. Sommerville
Requirements Engineering... • The process of establishing the services that the customer requires from a system and the constraintsunder 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... Dr Driss Kettani, from I. Sommerville
How to ? • There are a number of generic and mandatory activities to carry out: • Requirements elicitation... • Requirements analysis... • Requirements validation... • Requirements management... Dr Driss Kettani, from I. Sommerville
The Conceptual Analysis Process Dr Driss Kettani, from I. Sommerville
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… Dr Driss Kettani, from I. Sommerville
KettaCar’s User and System Requirements (U.S.R) Dr Driss Kettani, from I. Sommerville
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... Dr Driss Kettani, from I. Sommerville
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) • Usuallywe start by drawing a global architecture of the system… The conceptual flow diagram Based on Merise Method... Dr Driss Kettani, from I. Sommerville
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... Dr Driss Kettani, from I. Sommerville
The first step: The Conceptual Flow Diagram • The Conceptual Flow Diagram mustinclude major information flows between sub-systems... • Mustidentify different types of functional component in the model... • Usually presented as a block diagram... Dr Driss Kettani, from I. Sommerville
KettaCar Conceptual Flow Diagram • In Merise, we use the Context diagram to present the Conceptual flow diagram… • See the annex given in the class Dr Driss Kettani, from I. Sommerville
KettaCar Context Diagram Dr Driss Kettani, from I. Sommerville
An example of CPM Dr Driss Kettani, from I. Sommerville
http://perso.wanadoo.fr/matthieu.vidal/default.htm Dr Driss Kettani, from I. Sommerville
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... Dr Driss Kettani, from I. Sommerville
Conceptual Architecture of KettaCar... • See the annex given in the class Dr Driss Kettani, from I. Sommerville
Conceptual Data Modeling… • See annex SE-CDM… Dr Driss Kettani, from I. Sommerville
From the CDM to the E/R model Dr Driss Kettani, from I. Sommerville
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... Dr Driss Kettani, from I. Sommerville
KettaCar case... • See the annex... Dr Driss Kettani, from I. Sommerville
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 Dr Driss Kettani, from I. Sommerville
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? Dr Driss Kettani, from I. Sommerville
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 Dr Driss Kettani, from I. Sommerville
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 Dr Driss Kettani, from I. Sommerville