Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
An Evaluation Of  Requirements Engineering Process Performance Measures POONAM SHARMA PARUL MATHUR ANIL BHALLA
INTRODUCTION POONAM SHARMA
REQUIREMENTS ENGINEERING <ul><li>Requirements Engineering produces one large document, written in a natural language, cont...
Problem Stmt SRS Requirements Elicitation Requirements Analysis Requirements Documentation Requirements Review Reqt Engg
Crucial Process Steps of  Requirements Engineering   <ul><li>Requirements Elicitation  </li></ul><ul><li>Requirements Docu...
Requirements Elicitation   <ul><li>Interviews </li></ul><ul><li>FAST  </li></ul><ul><li>Use Cases  </li></ul><ul><li>Brain...
Use Case   <ul><li>Uses combination of text and pictures  </li></ul><ul><li>Only give functional view of the system </li><...
Use Case Diagrams   <ul><li>Components of Use Case Diagrams  </li></ul>Actor Use Case Relationship
Admin Reservation Clerk Passenger Update Train Info Login View Reservation Status Reserve Seat Cancellations
Draw the context diagram Develop prototypes (optional) Model the requirements Finalize the requirements Requirement Analys...
Requirements Documentation   1 Introduction  1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms  & Abbreviations 1.4 Referenc...
Cont..   3. Specific Requirements 3.1 External Interfaces 3.2 Performance Requirements 3.3 Logical Database Requirements 3...
Measure & Metrics   Measure  :  A measure provides a quantitative indication of the extent, amount, dimension, capacity, o...
METHODS OF REQUIREMENTS ENGINEERING PARUL MATHUR
<ul><li>Size  Estimation </li></ul><ul><li>Cyclomatic Complexity  </li></ul><ul><li>Software  Science  Measures  </li></ul...
<ul><li>Time </li></ul><ul><li>Functionality </li></ul><ul><li>Cost </li></ul>Performance Measures  <ul><li>Quality </li><...
Size Estimation <ul><li>Estimation of Size is very  critical </li></ul><ul><li>Difficult  to identify the size of the syst...
Lines of Code  (LOC) <ul><li>Easily recognizable </li></ul><ul><li>First measurement attempted </li></ul><ul><li>No genera...
This is not a line count, but a statement count. It is possible to put several statements on one line by using the colon &...
} 18 return 0; 17 } 16 } 15 x[j]=save; 14 x[i]=x[j]; 13 save=x[i]; 12 { 11 if(x[i]<x[j]) 10 for(j=1;j<=im1;j++) 9 im1=i-1;...
Function Count <ul><li>Measures functionality from users point of view </li></ul><ul><li>Deals with functionality being de...
Five Functional Units <ul><li>Inputs </li></ul><ul><li>Outputs </li></ul><ul><li>Enquiries </li></ul><ul><li>Internal logi...
Counting Function Points <ul><li>Functional units are ranked according to their complexity </li></ul><ul><li>Unadjusted Fu...
Weighting Factor 9 8 4 Interfaces 14 12 10 Files 9 7 3 Enquires 7 6 5 External Outputs 4 3 2 External Inputs Complex Avera...
<ul><li>Complexity Adjustment Factor (CAF) is determined by considering 14 aspects of processing complexity  </li></ul>FP ...
<ul><li>Does the system require reliable backup & recovery? </li></ul><ul><li>Are data communications required ? </li></ul...
<ul><li>Does the on-line data entry require the input transaction to be built over multiple screens or operations ? </li><...
Special Features of Function Points <ul><li>Independent of the language, tools, or methodologies </li></ul><ul><li>Estimat...
Evaluation  Emphasis is more on quantity than quality  Quality  Depend on time & LOC Cost  More time is required; dependin...
METHODS OF REQUIREMENTS ENGINEERING ANIL BHALLA
Software Science Measures & Cyclomatic Complexity
Software Science Measures <ul><li>Means of determining quantitative measure of complexity </li></ul><ul><li>A program is c...
Four scalar numbers derived directly from a program's source code  Total number of operands  N2  Total number of operators...
Five measures are derived  E= D * V  E  Effort  D= (n1/2) * (N2/n2)  D  Difficulty  V= N * (LOG2 n)  V  Volume  n= n1 + n2...
Terminologies used <ul><li>Tokens:   Classified as either operators or operands </li></ul><ul><li>Operators:  Any symbol o...
<ul><li>Volume:  It is the number of mental comparisons needed to write a program </li></ul><ul><li>Program Level:  L=V*/V...
<ul><li>Difficulty:  as volume of an implementation of a program increases the program level decreases & difficulty increa...
Evaluation  Cost will fluctuate Cost  Depends on computational complexity Functionality  Quality decreases upon increase i...
Cyclomatic Complexity ( CC ) <ul><li>It provide quantitative measure of the logical complexity of a program </li></ul><ul>...
3 ways to compute CC <ul><li>Number of regions of the flow graph  </li></ul><ul><li>CC, V(G), for the flow graph G, is def...
Terminologies  <ul><li>Independent Path:  Any path through the program that introduces at least one new set of processing ...
Flow Chart 1 3 6 4 5 7 8 2 9 10 11
Flow Graph 1 2,3 6 7 8 9 10 4,5 11 Edges  Nodes  R1 R2 R3 R4 Regions
CC for Flow Graph  <ul><li>The flow graph has 4 regions </li></ul><ul><li>V(G) = 11 edges – 9 nodes + 2 = 4 </li></ul><ul>...
Evaluation  Depends on time, quality & functionality of program Cost  Provide basis for planning tests for program Functio...
THANK YOU !!!
ANY QUERIES ??
Upcoming SlideShare
Loading in …5
×

Software Engineering

2,627 views

Published on

Published in: Economy & Finance, Technology

Software Engineering

  1. 1. An Evaluation Of Requirements Engineering Process Performance Measures POONAM SHARMA PARUL MATHUR ANIL BHALLA
  2. 2. INTRODUCTION POONAM SHARMA
  3. 3. REQUIREMENTS ENGINEERING <ul><li>Requirements Engineering produces one large document, written in a natural language, contains a description of what the system will do without describing how it will do </li></ul>
  4. 4. Problem Stmt SRS Requirements Elicitation Requirements Analysis Requirements Documentation Requirements Review Reqt Engg
  5. 5. Crucial Process Steps of Requirements Engineering <ul><li>Requirements Elicitation </li></ul><ul><li>Requirements Documentation </li></ul><ul><li>Requirements Review </li></ul><ul><li>Requirements Analysis </li></ul>
  6. 6. Requirements Elicitation <ul><li>Interviews </li></ul><ul><li>FAST </li></ul><ul><li>Use Cases </li></ul><ul><li>Brainstorming Sessions </li></ul>
  7. 7. Use Case <ul><li>Uses combination of text and pictures </li></ul><ul><li>Only give functional view of the system </li></ul><ul><li>Use case , Use case scenario and use case diagrams </li></ul>
  8. 8. Use Case Diagrams <ul><li>Components of Use Case Diagrams </li></ul>Actor Use Case Relationship
  9. 9. Admin Reservation Clerk Passenger Update Train Info Login View Reservation Status Reserve Seat Cancellations
  10. 10. Draw the context diagram Develop prototypes (optional) Model the requirements Finalize the requirements Requirement Analysis Steps
  11. 11. Requirements Documentation 1 Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms & Abbreviations 1.4 References 1.5 Overview 2 The Overall Description 2.1 Product Perspective 2.2 Product Functions 2.3 User Characteristics 2.4 Assumptions & Dependencies 2.5 Constraints
  12. 12. Cont.. 3. Specific Requirements 3.1 External Interfaces 3.2 Performance Requirements 3.3 Logical Database Requirements 3.4 Design Constraints 3.5 Functions 3.6 Additional Comments 4. Change Management Process 5. Document Approvals 6. Supporting Information
  13. 13. Measure & Metrics Measure : A measure provides a quantitative indication of the extent, amount, dimension, capacity, or size of some attributes of a product or process Metrics : A quantitative measure of the degree to which a system, component, or process possesses a given attribute
  14. 14. METHODS OF REQUIREMENTS ENGINEERING PARUL MATHUR
  15. 15. <ul><li>Size Estimation </li></ul><ul><li>Cyclomatic Complexity </li></ul><ul><li>Software Science Measures </li></ul>Methods are :
  16. 16. <ul><li>Time </li></ul><ul><li>Functionality </li></ul><ul><li>Cost </li></ul>Performance Measures <ul><li>Quality </li></ul>
  17. 17. Size Estimation <ul><li>Estimation of Size is very critical </li></ul><ul><li>Difficult to identify the size of the system </li></ul>
  18. 18. Lines of Code (LOC) <ul><li>Easily recognizable </li></ul><ul><li>First measurement attempted </li></ul><ul><li>No general agreement about what constitutes </li></ul><ul><li>LOC </li></ul>
  19. 19. This is not a line count, but a statement count. It is possible to put several statements on one line by using the colon &quot;:&quot; or writing single-line If..Then statements. Statements Two or more lines joined with the line continuation character &quot;_&quot; are counted as one logical line. Logical lines of code Counts lines but excludes empty lines and comments. Also referred as the source lines of code (sLOC) metric. Physical lines of code Counts physical lines, but excludes classic VB form definitions and attributes. Physical lines Counts all lines in source files. Simple line count Description Metric
  20. 20. } 18 return 0; 17 } 16 } 15 x[j]=save; 14 x[i]=x[j]; 13 save=x[i]; 12 { 11 if(x[i]<x[j]) 10 for(j=1;j<=im1;j++) 9 im1=i-1; 8 { 7 for(i=2;i<=n;i++) 6 if (n<2) return 1; 5 /*this function sort array x in ascending order*/ 4 int i, j, save, im1; 3 { 2 int sort(int x[],int n) 1
  21. 21. Function Count <ul><li>Measures functionality from users point of view </li></ul><ul><li>Deals with functionality being delivered & not </li></ul><ul><li>with LOC, source modules, files etc </li></ul>
  22. 22. Five Functional Units <ul><li>Inputs </li></ul><ul><li>Outputs </li></ul><ul><li>Enquiries </li></ul><ul><li>Internal logical files </li></ul><ul><li>External interface files </li></ul>
  23. 23. Counting Function Points <ul><li>Functional units are ranked according to their complexity </li></ul><ul><li>Unadjusted Function Points (UFP) are calculated using predefined weights for each function type </li></ul>5 3 UFP = ∑ ∑ Z ij W ij i=1 j=1 i & j : rows & columns resp W ij : entry of i^th row & j^th column Z ij : count of number of function units of i corresponding to j
  24. 24. Weighting Factor 9 8 4 Interfaces 14 12 10 Files 9 7 3 Enquires 7 6 5 External Outputs 4 3 2 External Inputs Complex Average Simple Function Specifications
  25. 25. <ul><li>Complexity Adjustment Factor (CAF) is determined by considering 14 aspects of processing complexity </li></ul>FP = UFP * CAF CAF = [ 0.65 + 0.01 * ∑ F i ] Counting Function Points
  26. 26. <ul><li>Does the system require reliable backup & recovery? </li></ul><ul><li>Are data communications required ? </li></ul><ul><li>Are there distributed processing functions ? </li></ul><ul><li>Is performance critical ? </li></ul><ul><li>Will the system run in an existing, heavily utilized operational environment ? </li></ul><ul><li>Does the system require online data entry ? </li></ul>0 1 2 3 4 5 No Influence Incidental Moderate Average Significance Essential
  27. 27. <ul><li>Does the on-line data entry require the input transaction to be built over multiple screens or operations ? </li></ul><ul><li>Are the master files updated on-line ? </li></ul><ul><li>Are the inputs, outputs, files or inquiries complex ? </li></ul><ul><li>Is the internal processing complex ? </li></ul><ul><li>Is the code designed to be reusable ? </li></ul><ul><li>Are conversion and installation included in the design ? </li></ul><ul><li>Is the system designed for multiple installations in different organizations ? </li></ul><ul><li>Is the application designed to facilitate change and ease of use by the user ? </li></ul>Cont..
  28. 28. Special Features of Function Points <ul><li>Independent of the language, tools, or methodologies </li></ul><ul><li>Estimated from requirement specification </li></ul><ul><li>Directly linked to statement of requirements </li></ul>
  29. 29. Evaluation Emphasis is more on quantity than quality Quality Depend on time & LOC Cost More time is required; depending upon functionality & complexity Time Dependent on system capabilities Functionality Effect Measure
  30. 30. METHODS OF REQUIREMENTS ENGINEERING ANIL BHALLA
  31. 31. Software Science Measures & Cyclomatic Complexity
  32. 32. Software Science Measures <ul><li>Means of determining quantitative measure of complexity </li></ul><ul><li>A program is considered to be a series of tokens </li></ul><ul><li>All the software science measures are functions of the counts of these tokens </li></ul>
  33. 33. Four scalar numbers derived directly from a program's source code Total number of operands N2 Total number of operators N1 Number of distinct operands n2 Number of distinct operators n1 Description Symbol
  34. 34. Five measures are derived E= D * V E Effort D= (n1/2) * (N2/n2) D Difficulty V= N * (LOG2 n) V Volume n= n1 + n2 n Program vocabulary N= N1 + N2 N Program length Formula Symbol Measure
  35. 35. Terminologies used <ul><li>Tokens: Classified as either operators or operands </li></ul><ul><li>Operators: Any symbol or key word in program </li></ul><ul><li>Operand: Symbol used to represent data </li></ul><ul><li>Vocabulary: Number of unique tokens used to build a program </li></ul><ul><li>Length of Program: Total number of tokens used in program </li></ul>
  36. 36. <ul><li>Volume: It is the number of mental comparisons needed to write a program </li></ul><ul><li>Program Level: L=V*/V </li></ul><ul><li>where V* is potential volume of program & </li></ul><ul><li> V is given volume of program </li></ul><ul><li>The value of l ranges between 0 & 1, with L=1 representing highest possible level ( i.e. minimum size) </li></ul>
  37. 37. <ul><li>Difficulty: as volume of an implementation of a program increases the program level decreases & difficulty increases </li></ul><ul><li>Effort: The effort required to implement a program increases as the size of the program increases </li></ul>
  38. 38. Evaluation Cost will fluctuate Cost Depends on computational complexity Functionality Quality decreases upon increase in conditions Quality Time increases according to difficulty of program Time Effect Measures
  39. 39. Cyclomatic Complexity ( CC ) <ul><li>It provide quantitative measure of the logical complexity of a program </li></ul><ul><li>Value computed for CC defines number of independent paths in the basic program </li></ul><ul><li>It provide upper bound for number of tests that must be conducted to ensure that all statements have been executed at least once </li></ul>
  40. 40. 3 ways to compute CC <ul><li>Number of regions of the flow graph </li></ul><ul><li>CC, V(G), for the flow graph G, is defined as </li></ul><ul><li>V(G) = E – N + 2 </li></ul><ul><li>where E is number of edges in flow graph </li></ul><ul><li> N is number of nodes in flow graph </li></ul><ul><li>CC, V(G), for the flow graph G, is defined as </li></ul><ul><li>V(G) = P + 1 </li></ul><ul><li>where P is number of predicate nodes </li></ul>
  41. 41. Terminologies <ul><li>Independent Path: Any path through the program that introduces at least one new set of processing statements or new condition </li></ul><ul><li>Edges: Represent flow control in program </li></ul><ul><li>Nodes: Represents procedural statements </li></ul><ul><li>Regions: Area bounded by edges & nodes </li></ul><ul><li>Predicate Node: Node that contains a condition </li></ul>
  42. 42. Flow Chart 1 3 6 4 5 7 8 2 9 10 11
  43. 43. Flow Graph 1 2,3 6 7 8 9 10 4,5 11 Edges Nodes R1 R2 R3 R4 Regions
  44. 44. CC for Flow Graph <ul><li>The flow graph has 4 regions </li></ul><ul><li>V(G) = 11 edges – 9 nodes + 2 = 4 </li></ul><ul><li>V(G) = 3 predicate nodes +1 =4 </li></ul><ul><li>Therefore CC for this graph = 4 </li></ul>
  45. 45. Evaluation Depends on time, quality & functionality of program Cost Provide basis for planning tests for program Functionality Gives logical complexity Quality Time required is more than size estimation Time Effect Measures
  46. 46. THANK YOU !!!
  47. 47. ANY QUERIES ??

×