03 requirement engineering_process


Published on

Principles of Software Engineering by Utpal Roy, Jadavpur University, Kolkata, India

Published in: Education, Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

03 requirement engineering_process

  1. 1. Requirement Engineering Process The detail study of the specification stage
  2. 2. Requirement Engineering Process Requirement Requirement RequirementFeasibility Study Elicitation and Specification Validation Analysis User and SystemFeasibility Report System Model Requirements Software Requirement Document 13 January 2012 Made by Utpal Ray 2
  3. 3. Requirement Engineering Process  Feasibility Study Does the system contribute to the overall objective of the Organization ? Can the system be implemented with current technology, specified cost and schedule constraints ? Can the system be integrated with the other systems which are already in place ?13 January 2012 Made by Utpal Ray 3
  4. 4. Requirement Engineering Process Requirement Elicitation and AnalysisInteraction with the customer to understand the following topics:- Domains ( Where it will be used ? - Supermarket/Bank/Hotel/Railway etc. ) Scenarios ( How the system will be used in a real – life scenarios? Basically different Use-cases. ) Viewpoints ( Different views expressed by the different users of the system. ) Ethnography ( Social and the organizational background of the people who will be using the system. ) 13 January 2012 Made by Utpal Ray 4
  5. 5. Requirement Engineering Process  System Model Three types of system modeling exists. Data Requirements leads to Data Modeling and we get ERD ( Entity Relationship Diagram ) Functional Requirements lead to Functional Modeling and we get DFD ( Data Flow Diagram ). It shows the information flow among various entities and functionalities. Behavioral Requirements lead to Behavioral Modeling and we get STD ( State Transition Diagram)13 January 2012 Made by Utpal Ray 5
  6. 6. Requirement Engineering Process User Requirements It is written in natural language and may contain intuitive diagram. This is the document mainly for the customer and other non- technical professional. This document is prepared after the detail consultation with the customer. The kind of people who will read this document are - Client Managers, System End-Users, Client Engineers, Contractor Managers, System Architects. 13 January 2012 Made by Utpal Ray 6
  7. 7. Requirement Engineering Process System Requirement It’s a detail descriptions of the user requirement. This is the document which will be used by the s/w developers and all technical professionals. This document should tell what the system should do but not how it will be implemented. It should contain Functional Requirements and Non- Functional Requirements. The kind of people who will read this document are - Client Engineers, System End-Users, Software Developers, System Architects. 13 January 2012 Made by Utpal Ray 7
  8. 8. Requirement Engineering Process  Functional Requirement  The functional requirements for a system describe the functionality or services that system is expected to provide.  This is as good as user requirements.13 January 2012 Made by Utpal Ray 8
  9. 9. Requirement Engineering Process  Non-Functional Requirement  As the name suggests, these requirements are not directly concerned with the specific functions delivered by the system.  They may relate to emergent system properties such as reliability, response time and storage occupancy.  Alternatively, they may define constraints on the system such as the capabilities of I/O devices and the data representations used in the system interfaces.13 January 2012 Made by Utpal Ray 9
  10. 10. Requirement Engineering Process  Software Requirement Document Structure (as per IEEE/ANSI 830-1993 standard) 1. Preface 2. Introduction 3. Glossary 4. User Requirements 5. System Architecture 6. System Requirements 7. System Models 8. System Evolution 9. Appendices 10. Index13 January 2012 Made by Utpal Ray 10
  11. 11. Requirement Engineering Process  Requirement Validation 1. In this phase the all the requirement documents are checked, reviewed and finalized. It is to be remembered that one small mistake here may lead to a very expensive rework in the future. 2. The people who should participate in this phase are – Design Engineers, Developers, Test Engineers, Product Managers, Client Managers/Engineers etc.13 January 2012 Made by Utpal Ray 11
  12. 12. Requirement Engineering Process The structure of system model or analysis model Process Spec (PSPEC) Data Object Description. ERD DFD ( DOB ) Data Dictionary STD Control Spec ( CSPEC ) 13 January 2012 Made by Utpal Ray 12
  13. 13. Requirement Engineering Process  DATA MODELING  What are the Primary Data Objects to be processed by the system ? What attributes describes the object ? What are the relationships between each object ? A Data object is a representation of almost any composite information that must be understood by software. ‘Width’ is not a data object ( it’s a single value ) but ‘Dimension’ is; because it consists of height, width and depth.13 January 2012 Made by Utpal Ray 13
  14. 14. Requirement Engineering Process  Data Modeling ( Contd. )  A data object can be an external entity ( anything that produces and consumes information ), a thing ( a report or a display ), an occurrence ( a telephone call ), an event ( an alarm ), a role ( a salesperson ), an organizational unit ( accounting dept. ), a place ( a warehouse ), or a structure ( a file ).13 January 2012 Made by Utpal Ray 14
  15. 15. Requirement Engineering Process  ERD and DOB Manufacturer BUILDS CAR Data Object Description (DOB) of car ID# Model Body Engine Trans. ………13 January 2012 Made by Utpal Ray 15
  16. 16. Requirement Engineering Process Cardinality & Modality13 January 2012 Made by Utpal Ray 16
  17. 17. Requirement Engineering Process  Functional Modeling How data are transformed within system ? How information flows through the system ? What are the inputs and what are the outputs? What are the different functional sub-system in the system ? We get DFD and PSPEC. PSPEC lists all the functions shown in DFD. DFDs can have various levels. A Level 0 DFD will have least detail about the system. As the level no. increases the DFDs will have more finer details.13 January 2012 Made by Utpal Ray 17
  18. 18. Requirement Engineering Process  Example of a Level 0 DFD (Fundamental System Model or Context Model) Time Continuous External Time Continuous Output External Entity Input Data Data Entity SUPER TRANSFORM Input Data Output Data Data Data Store Store Input Output External External Entity Entity DATA STORE13 January 2012 Made by Utpal Ray 18
  19. 19. Requirement Engineering Process  How to list PSPEC ? Pspec : Super Transform Input Description : Ordinary Input and Time Continuous Input Output Description : Ordinary Output and Time Continuous Output Transform Description : It takes the input, shape it and give out more regular output.13 January 2012 Made by Utpal Ray 19
  20. 20. Requirement Engineering Process  Level 1 DFD ( The Super Transform has been broken into five different transform ) Ext Ext Ent Ent Trans Trans #1 #3 Trans Intermediated Data #2 Intermediated Data Trans Trans #4 #5 Ext Ext Ent Ent Data Store13 January 2012 Made by Utpal Ray 20
  21. 21. Requirement Engineering Process  PSPEC LISTING…….. PSPEC : Transform 1 ……… other details of tranform 1………. PSPEC : Transform 2 ……… other details of tranform 2 ……….. PSPEC : Transform 3 ……… other details of tranform 3 ……….. PSPEC : Transform 4 ………… other details of tranform 4 …….. PSPEC : Transform 5 ………… other details of tranform 5 ……..13 January 2012 Made by Utpal Ray 21
  22. 22. Requirement Engineering Process  BEHAVIOURAL MODELING Impacts of Events are modeled here. The STD ( State Transition Diagram ) represents the behavior of a system by depicting it’s state and the events that cause the system to change state. STD also depicts what actions are taken as a consequence of a particular event. CSPEC is used to indicate how the software behaves when an event is sensed.13 January 2012 Made by Utpal Ray 22
  23. 23. Requirement Engineering Process No Action  STD EXAMPLE Stay In M/C OFF State MACHINE Power Off OFF Invoke Shut-Down Seq Power Off Go To M/C OFF State Power On Invoke Power-on Seq MACHINE MACHINE ON Reached Unknown State FAULT Display Fault Message No Action Read Command Stay In M/C FAULT Process Command13 January 2012 Made by Utpal Ray 23
  24. 24. Requirement Engineering Process CSPEC or Process Activation Table (PAT) Occurrence Activated Of Events Process Power-ON Power-On Seq Power-Off Shut-Down Seq Read-Cmd Process-Cmd Reached Go to M/C Off Unknown State State13 January 2012 Made by Utpal Ray 24
  25. 25. Requirement Engineering Process  Data Dictionary It is the organized listing of all the data elements produced and consumed by the system. All the data elements should be listed with precise and rigorous definition. The data elements encompasses the following entities :- 1. Data Item 2. Control Item 3. Data Store 4. External Entity 5. Intermediate Data Item and Control Item13 January 2012 Made by Utpal Ray 25
  26. 26. Requirement Engineering Process  Data Dictionary Example Name : Data Store Alias : EEPROM ( Electrically Erasable Programmable Read-Only Memory Where Used/How Used :Transform #3 ( Input ) Transform #3 (Output) Description:All configuration data are stored here. Please see Table 1to read the details about the configuration data. Supplementary Info: The size of the data stored in the Data Store should not be more than 1 MByte.13 January 2012 Made by Utpal Ray 26
  27. 27. Requirement Engineering Process  Home Task 1. Do the system modeling for a “Course Registration System”. 2. Do the system modeling for the following problem:- A temperature monitoring system which senses temperature continuously and displays it in a LCD. It also takes input from a switch which tells him whether to display the temp in C or F. It also activates an alarm when the temp goes out of range.13 January 2012 Made by Utpal Ray 27