1 / 40

SIM5102 SOFTWARE EVALUATION

Measuring Internal Product Attributes :Flowgraph measurement(structure). 1. SIM5102 SOFTWARE EVALUATION. Objectives. Be able to measure internal product attributes based on flowgraph. 2. Overview from last lecture. McCabe's metric based on flowgraph Draw flowgraphs. 3.

diza
Download Presentation

SIM5102 SOFTWARE EVALUATION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Measuring Internal Product Attributes :Flowgraph measurement(structure) 1 SIM5102SOFTWARE EVALUATION

  2. Objectives Be able to measure internal product attributes based on flowgraph 2

  3. Overview from last lecture McCabe's metric based on flowgraph Draw flowgraphs 3

  4. Flowgraph : Basic Control Structure Sequence : eg a list of instructions with no other control structure involved Selection : eg if ...then... else Iteration : eg do...while, repeat...until 4

  5. Flowgraph : terminologies In-degree : number of arcs arrive at the node Out-degree : number of arcs leaves the node Procedure nodes : nodes with out-degree 1 Predicate nodes : nodes with out-degree other than 1 (except stop node) Stop node : node with out-degree 0 Path : sequence of consecutive edges, may be traversed more than once Simple path : traversing without repeating the edges 5

  6. Basic flowgraph structures Sequence : Pn or Pn(X1,X2,...,Xn) or X1;X2;...Xn Selection x2 x3 x4 x1 A A f t t X Y x D0 or D0(A,X) if A then X D1 or D1(A,X,Y) if A then X else Y 6 f

  7. Basic flowgraph structure (cont..) A a1 an a2 ........... Xn X1 Cn or Cn(A, X1,X2,...,Xn) Case A of a1 : X1 a2 : X2 . . an : Xn 7

  8. Basic flowgraph structure Iteration A X t f f X t A D2 or D2(A,X) while A do X D3 or D3(A,X) repeat X until A 8

  9. Sequencing operation Let F1 and F2 be two flowgraphs. The sequence of F1 and F2 is the flowgraph formed by merging the stop node of F1 with the start node of F2 The resulting flowgraph can be written as F1;F2 Seq(F1,F2) P2(F1,F2) 9

  10. Sequencing (cont...) Merging two flowgraphs sequence D1 D3 D1;D3 10

  11. Nesting operation Let F1 and F2 be two flowgraphs. Suppose F1 has a procedure node X The nesting of F2 on to F1 at X is the flowgraph formed from F1 by replacing the arc from X with the whole of F2 The resulting flowgraph can be written as F1(F2 on X) F1(F2) 11

  12. Nesting (cont...) X with Nested on X D1 D3 D1(D3) 12

  13. Prime flowgraph Flowgraphs that cannot be decomposed non-trivially by sequencing or nesting Examples Pn D0, D1, D2 and D3 Cn 13

  14. S-structured Graph A family (S) of prime flowgraph is called S-structured Graph (or S-graphs) if it satisfies the following recursive rules: 1. Each member of S is S-structure 2. if F and G are S-structured flowgraphs, so is the sequences F;G and nesting of F(G) 3. No flowgraph is S-structured unless it can be generated by finite number of application of the above (step 2) rules 14

  15. Prime decomposition Any flowgraph can be uniquely decomposed into a hierarchy of sequencing and nesting primes Decomposition tree – can be determined from a given graph It describes how the flowgraph is built by sequencing and nesting 15

  16. Hierarchical Measures Assume that S in an arbitrary set of primes. We say a measure m is a hierarchical measure if it can be defined on the set of S-graphs by specifying - m(F) for each F is a member of S (we call this as M1) - the sequencing function(s) (e call this as M2) - the nesting functions hF for each F is a member of S (we call this as M3) 16

  17. Depth of Nesting Depth of nesting, a, for a flowgraph F can be expressed in terms of: - primes: a(P1) = 0, and if F is a prime is not equal to P1, then a(F) = 1 - sequence : a(F1;...;Fn) = max(a(F1),..,a(Fn)) - nesting : a(F(F1,...,Fn)) = 1 + max(a(F1),..,a(Fn)) 17

  18. Example F = D1((D0;P1;D2),D0(D3)) a(F) = 1 + max(a(D0;P1;D3),a(D0(D3))) = 1 + max(max(a(D0),a(P1),a(D3)), 1 + a(D3)) = 1 + max(max(1,0,1), 1 + 1) = 1 + max(1,2) = 3 18

  19. Test Coverage Measures Statement coverage - a set of paths that every node lies on at least one path Branch coverage - a set of paths such that every edge lies on at least one path All Path coverage - exercising every single path - infinite number if there any loop 19

  20. Test Coverage Measures Simple path coverage - every path which does not contain the same edge more than once Visit-each-loop - branch coverage is satisfied - for every loop, there are paths for each control flows both straight pass the loop and around the loop at least once Linearly independent paths - the execution of set of linearly independent paths - an independent path must move along at least one edge that has not been traversed before the path is defined 20

  21. Minimum Number of test cases Have to know the minimum number of test cases in order to - plan the testing - generating data - how long testing will take Minimum number of path m(F) can be computed from the decomposition tree - strategy of testing - value for the primes, sequencing, and nesting - appendix 8.10.4 21

  22. Example : statement coverage F = D1((D0;P1;D2),D0(D3)) please refer to app. 8.10.4 m(F) = m(D1(D0;P1;D2),D0(D3)) = m(D0;P1;D2) + m(D0(D3)) = max(m(D0),m(P1),m(D2)) + m(D3) = max(1,1,1) + 1 = 2 required paths : <2 10 12 14> <1 3 5 6 7 8 9> 22

  23. Class exercise begin Read input list if the list is empty then output “list empty else begin sum := 0; repeat read next list entry A; sum := sum + A; until end of list output sum; end; end. 1. draw the flowgraph 2. draw the decomposition tree 3. write the expression for the decomposition tree 4. calculate the depth of nesting using hierarchical measure 5. compute the minimum number of test cases for statement coverage.

  24. Software Architecture

  25. Morphology

  26. Morphology - example

  27. Tree Impurity

  28. Tree Impurity

  29. Internal Reuse

  30. Modules and Components

  31. Software Architecture

  32. Cohesion

  33. Cohesion

  34. Coupling

  35. Coupling

  36. Coupling : Representation

  37. Information Flow Measures

  38. Information Flow Measures

  39. Information Flow Measures

  40. Information Flow Measures

More Related