nsse-2011-sbhattacharya-reqtraceability
TRANSCRIPT
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
1/57
Traceability of Requirements in
Software Development Process
Swapan Bhattacharya
Department of Computer Science & Engineering
Jadavpur University, Kolkata
700032, IndiaEmail : [email protected]
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
2/57
Contents
Software Engineering In comparison to Conventional Engineering
Evolution in SE
Software Development Process SRD, SA, ST
Issues & Challenges
Traceability of Requirements
Non-engineering example
In Software development
Significance
Domain of Our Research
Research Framework Graph based
Why Graph based framework ?
Introduction to OOG
Application of OOG to Software Development process
Achieving Requirement Traceability
Results & Contribution
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
3/57
Contents
Software Engineering In comparison to Conventional Engineering
Evolution in SE
Software Development Process SRD, SA, ST
Issues & Challenges
Traceability of Requirements
Non-engineering example
In Software development
Significance
Domain of Our Research
Research Framework Graph based
Why Graph based framework ?
Introduction to OOG
Application of OOG to Software Development process
Achieving Requirement Traceability
Results & Contribution
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
4/57
Software Engineering
Software Engineering vis--vis Conventional Engineering (Differences)
Ref : http://www.fact-index.com/s/so/software_engineering.html
January 14, 2011
Traditional engineering is based onphysics, chemistry, and calculus.
Construction and manufacturingcosts are high, so traditionalengineering may only cost 15% of aproject. So engineering cost overrunsmay not affect a project's viability
Traditional engineers apply knownand tested principles
Software engineering is based oncomputer science, informationscience, and discrete math
Software engineering andconsulting often cost more than 50%of a project. Even minor softwareengineering cost-overruns can causea project to fail
Software engineers apply new anduntested elements in many softwareprojects
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
5/57
Software Engineering
Software Engineering vis--vis Conventional Engineering(Similarities)
January 14, 2011
Software engineers aspire to build low-cost, reliable, safe software,which is much like what traditional engineers do.
Software engineers use terms from traditional engineeringdisciplines: requirements analysis, quality control, and projectmanagement techniques
Traditional engineers now use software tools to design and analyzesystems
SE is all pervasive in todays society - Almost all Conventionalengineering disciplines utilize the benefits of computing fortheir business
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
6/57
Software Engineering
Significance
January 14, 2011
In the USA, software drove 1/4 of all increase inGDP during the 1990s (about $90 billion per year),
and 1/6 of all productivity growth (efficiency withinGDP) during the late 1990s (about $33 billion peryear).
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
7/57
Software Engineering
Software Development Process
Requirement Definition
Requirement Analysis
Architecture Design
Detailed Design
Coding & Implementation
Testing
Additionally there are several project management
activities around these phases of development
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
8/57
Software Engineering
Evolution in Software Engineering- Collection of programs & Data
- Programs, Data & Documentation
- Software & Hardware components integrated to serve a requirement
- Software, Hardware, Personnel & Processes
- Collection of all of above & many more to offer services for providingsolutions
- Above all it is a mix of Art, Science, Philosophy & Engineering
Current directions
Aspect programming
Service Oriented paradigm
Agile process
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
9/57
Software Engineering
Issues and Challenges
January 14, 2011
Highly Complex
Distributed development
Quality driven
Use of Tools and Technology Model based development and Testing
Software Verification consumes a significant amount of effort andtime of the overall software development process.
Software Traceability ensures development of Quality softwareproduct in the most efficient way
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
10/57
Contents
Software Engineering In comparison to Conventional Engineering
Evolution in SE
Software Development Process SRD, SA, ST
Issues & Challenges
Traceability of Requirements
Definition - Requirement, Trace, Software Requirement Traceability Non-engineering example
In Software development
Significance
Motivation of Our Research
Research Framework Graph basedWhy Graph based framework ?
Introduction to OOG
Application of OOG to Software Development process
Achieving Requirement Traceability
Results & Contribution
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
11/57
Definition - Software Requirement
Documented Need of the business
An agreement between the
customer and the developer
regarding the system to bedeveloped
Comprises of
Functional - Functions that the software
system is to execute
Non-functional requirements - Security,performance, availability, maintainability,
reliability, etc
Provided by the relevant
stakeholders of business
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
12/57
Definition Trace, Software Requirement Tracing Trace as defined in English dictionary is to -
Follow, discover or ascertain the course ofdevelopment of something
Software Requirement Tracing is theprocess of following the course or path ofrequirement through the software
development process From Requirement elicitation to
Implementation & Use Both in Forward &Backward direction
January 14, 2011
Software Requirement Traceability is the ability to follow aSoftware Requirement through its various phases of
development in the life cycle
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
13/57
A Tailoring Shop1. The Customer wants a dress
to be tailor made
2. She chooses the cloth(material)
3. She chooses the style
4. She provides the sizespecifications
5. She also mentions if she istrying to get slim or gainweight
6. She provides the timeline
1. The Designer checks if there isenough cloth according to themeasurement.
2. The designer makes herjudgment if the cloth is suitable
for the style chosen
3. The designer makes her call toanalyze if the timeline ispractical
4. She provides a cost estimation
to the customer
The customer agrees ornegotiates
Requirement
FeasibilityStudy
CostAnalysis
Customer
FashionDesigner
January 14, 2011
Requirement Traceability - A Non-Engineering Example
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
14/57
1. The Designer assigns a group of people(cutting, stitching, finishing)
2. The designer hands over the detailsgathered from the customer to theworkforce.
1. The workforce analyzes the requirements gathered.
2. The group of cutters cut the cloth according to the measurements.
3. The cutters keep provision so that if there is a change in size
1. After finishing cutting each part, they go back to the specifications and verifies.
2. After finishing cutting each part, they hand over the part to the sewing team andstart working on the new part.
Requirement Analysis
Change management
Requirement Tracing (backward
Testing
Requirement Traceability - A Non-Engineering Example
January 14, 2011
Implementation
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
15/57
Requirement Traceability - A Non-Engineering Example
1.The group of stitchers find the details from the specifications.
2.They stitch each part based on the specifications.
3.The stitchers keep provision so that if there is a change in
size.
4.After finishing stitching each part, they go back to the
specifications and verifies.
5.After finishing stitching each part, they hand over the part to
the finishing team.a
Requirement Analysis
Change management
Requirement Tracing (backward
Testing
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
16/57
1. The group of finishing experts find the details from the specifications.
2. They loosely assemble and stitch each part received from the stitchers based
on the specifications.
3. They keep provision so that if there is a change in size.
4. After assembling any two parts, they go back to the specifications and verifies.
5. After finishing integrating all the parts, they hand over the loosely stitched outfit
to the designer.
Requirement Analysis
Change management
Requirement Tracing (backward)
Testing
January 14, 2011
Requirement Traceability - A Non-Engineering Example
Implementation
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
17/57
1. The designer calls the customer for a trial.
2. They customer comes in and tries the outfit .
1. The customer likes itand it fits her well.
2. The finishing teammakes final stitchingof the parts together.
3. Ironing.
4. Delivery
1. The customer likes it but it does not fither well.
2. The finishing team sends the part thatneeds to be altered to thecutting/stitching team.
3. The concerned team makes theappropriate changes based on the
specification and customer feedback.4. Assembly.
5. Trial
1. The customerdoes not like itat all (style,sizeeverything).
2. She calls off
the orderRequirement Tracing(forward)
Feedback & Change
Testing
ReworkJanuary 14, 2011
Requirement Traceability - A Non-Engineering Example
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
18/57
Requirement Traceability Software Development
Process
RequirementSpecification
FunctionalNon-Functional
RequirementAnalysis
Feasibility StudyCost Analysis
Architecture
DesignImplementation
Testing
CustomerFeedback
Integration
DeliveryMaintenance
ForwardTraceability
BackwardTraceability
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
19/57
Software Requirement Traceability- in phases of Software development process
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
20/57
Software Requirement Traceability
- Definition
A much cited definition of requirements
traceability
The ability to describe and follow the life of
a requirement, in both forward and a
backward direction, i.e., from its origins,
through its development and specification,
to its subsequent deployment and use, and
through periods of ongoing refinement and
iteration in any of these phases.
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
21/57
Requirement Traceability techniques answers the following
questions:
Are all requirements allocated? Are we done?
Is this design element necessary?
Is the implementation compliant with the requirements?
What acceptance test will be used to verify a requirement?
What is the impact of changing a requirement?
Requirement Coverage
Redundancy check
Requirement Sufficiency
Test Coverage
Change Management
January 14, 2011
Requirement Traceability - Significance
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
22/57
Requirement Traceability - Significance
Verify the conformance of a solution with its needs
Relate and link all the outputs of intermediate phases to
requirements in beginning &solution in the end
Ability to identify impact of requirements to manage changes
easily
In Software development context, Requirment Traceability
offers a viable solution for ensuring
Consistency
Correctness
Requirement change management
Early error detection
Higher quality
Lesser cost
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
23/57
Software Architecture &Requirement Traceability
January 14, 2011
Business Requriements
System Requirements
Functional Non-Functional
Use Cases
Business Rules
Functional Components
Architectural Decisions
Architectural Designs
Technical Components
Ref : http://applicationarchitecture.wordpress.com/2010/05/25/knowledge-
nugget-what-is-requirements-traceability/
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
24/57
Software Architecture &Requirement Traceability
January 14, 2011
In layered
Architecture
Model, Software
Requirement
Traceability is
gaining significance
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
25/57
Contents
Software Engineering In comparison to Conventional Engineering
Evolution in SE
Software Development Process SRD, SA, ST
Issues & Challenges
Traceability of Requirements
Non-engineering example
In Software development
Significance
Focus of Our Research
Research Framework Graph based
Why Graph based framework ?
Introduction to OOG
Application of OOG to Software Development process
Achieving Requirement Traceability
Results & Contribution
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
26/57
Focus of Our Research
1. Identification of any error or potential for error as early aspossible
2. Isolation from one phase in production phase from another phasemaintaining the missing links
3. Deployment of appropriate verification tools and techniques atevery phase
4. Integration of customer involvement in software developmentprocess for better requirement understanding & management
5. Evolutionary approach for accommodating updates and/or new
user requirements
January 14, 2011
Traceability of Requirements in Software Development Processaddresses these key issues & concerns
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
27/57
Contents
Software Engineering In comparison to Conventional Engineering
Evolution in SE
Software Development Process SRD, SA, ST
Issues & Challenges
Traceability of Requirements
Non-engineering example
In Software development
Significance
Focus of Our Research
Research Framework Graph based
Why Graph based framework ?
Introduction to OOG
Application of OOG to Software Development process
Achieving Requirement Traceability
Results & Contribution
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
28/57
Research Framework Graph Model
Why Graph ?
Well-known area of Mathematics
Vast repository of graph constructs
Vast repository of algorithms for analyzing graphs
Capable of modeling related artifacts
Modeling of complex systems becomes simpler
Hence we propose
Graph based framework for modeling all related artifacts of aSoftware Development Process
Graph based Analysis for ensuring Traceability of Requirementsfrom beginning till the end
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
29/57
Object Oriented Graph (OOG)
Hierarchical Directed Graph
Each layer of the graph abstracts OO systems during different
phases of development
Nodes in each layer corresponds to the different artifacts
produced in a phase
Directed edges in each layer models the interconnection or
relations between the artifacts (modeled by Nodes)
January 14, 2011
Research Framework - OOG
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
30/57
S/W Development UML Models Graph name
Phase used
Requirement Use Case URG
Analysis Diagram (UseCase Relationship Graph)
Detailed Activity ARGAnalysis Diagram (Activity Relationship Graph)
Detailed Sequence D-SG
Design Diagram (Distributed Scenario Graph)
Coding Java code E-CFG
(Classes)
Deployment Component CAG
(Classes to Components) Diagram (Component Architecture Graph)
January 14, 2011
Research Framework - OOG
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
31/57
January 14, 2011
Research Framework
Layered Graph
ARG
URG
D-SG
ECFG
CAG
Trac
eRequriem
ents
across
thephases
ofS/W
Deve
lopmentProcess
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
32/57
January 14, 2011
Research Framework - OOG
Constructs of OOG :
Nodes in Sequence
Nodes connected to more than one Node
In Degree > 1
Out Degree > 1
Nodes in loop (repetitively referred)
Many Nodes in iteration Single Node in iteration
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
33/57
January 14, 2011
Research Framework OOG Constructs
Nodes of OOG in Sequence
N1
N2
Nodes of OOG Connectedwith More than One Node
N1
N2 N3 N4
Nodes of OOG deing called/Referred More than Once
N1 N2 N3
N4
Nodes of OOG in Iteration i.e.Repeatedly Referred
SingleNode N1
Group of Nodes (N1-N2 in sequence)
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
34/57
January 14, 2011
Research Framework OOG Paths
Paths in OOG in each layer :
The paths in the graph of each layer gives a measure of
the number of test cases to be executed at each level.
Path computation is done as per a generic formula
defined for each phase.
The path is expressed as a function of the paths in each
node of OOG and is referred to as OGP (Object Graph
Path).
Summarizing this in next slide
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
35/57
January 14, 2011
Research Framework - OOG PathsSl. No. Type of
Construct
Path Metrics Explanation
Case 1 Nodes are in
sequence
P= OGP(Gx) if OGP(Gx) >
OGP(G1), OGP(G2)....
OGP(Gn) and 1< x < n
Gx is the graph for Node Nx
which has the maximum no. of
paths among all the nodes G1
Gn
Case 2 Out degree > 1 P = OGP(G1) + OGP(G2) +
OGP (Gn) (n-1)
(n-1) nodes N2 Nn whose
graphs are represented by G1,
G2 . Gn
Case 3 In Degree > 1 P = (OGP(G1)+ OGP (G2)-
1)+ .... ..........+ OGP (Gn) +
(n-2)
is the graph for Node 1 which
is called by N2 ..Nn whose
graphs are G2 Gn
Case 4a Iteration/Recursio
n of one Node
P = OGP(G1) + 1, where G1 is the graph for
Node1, OGP is the paths in N1
Case 4b Iteration/recursion
of more than one
node
P = OGP(G) + 1 where G is more than one
node connected as per case 1
or 2
Path calculation metrics for different constructs of OOG
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
36/57
The significance of paths is different for each graph in each layer
In URG we do not show/identify any paths since it simply shows theinterconnection of use cases only.
In ARG, the paths signify the event paths for a requirement.
This is further detailed out in D-SG where scenario paths can be identifiedas a set of sequence messages realizing a requirement.
Finally in ECFG, the paths denote the independent paths in object-orientedcode similar to McCabes basis set in procedural programs.
Since CAG models the interconnection of components, which does nothave any sequence, the concept of paths does not apply there.
The paths in each layer are analyzed to give a measure of thenumber of test cases to be executed at each level.
The different levels are interconnected to trace the path of Requirements
OOG Paths Significance in different levels
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
37/57
Application of OOG Case Study
Insurance System Requirements
Policy Creation
Policy Maintenance Policy Claim
Policy Termination
January 14, 2011
Next slide lists the Use cases that model theseRequirements. The Use cases for each requirement is
shown together to indicate the mapping clearly
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
38/57
Case Study: List of Use Cases (Requirements toUse Case Mapping)
Use Case
No.Use Case Name
Use Case
No.Use Case Name
1 Policy Creation 25 Policy Claim
2 Application Entry 26 Accept Claim request
3 Underwriting 27 Validate Claim
4 Underwriting 1 28 Verify initial documents
5 Accept More Details 29 Beneficiary validation
6 Underwriting 2 30 Policy validation
7 Process Error 31 Claim validation
8 Premium Calculation 32 Calculate Claim amount9 Premium Payment 33 Disburse Claim amount
10 Policy Issuance 34 Policy Termination
11 Certificate Generation 35 Lapse
12 Policy Maintenance 36 Non-payment of premium
13 Policy updation 37 Calculate lapse amount
14 Non-financial update 38 Disburse lapse amount
15 Financial update 39 Surrender
16 Policy Value Calculation 40 Partial/full surrender process17 Add new premium 41 Calculate surrender amount
18 Calculate interest 42 Disburse surrender amount
19 Deductions 43 Maturity
20 Loan Processing 44 Calculate maturity value
21 Accept Loan request 45 Disburse maturity amount
22 Verify/recalculate Loan amount 46 Calculate
23 Adjust Policy value 47 Disberse
24 Disburse loanJanuary 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
39/57
25
26
32
27
3031
2928 33
1
2 3 8 109
11
4 5 6
7
34
4339
35
36 37 38
40 4142
4445
12
13 16 20
14 15 19
21
1817
2322 24
4746
Use Case Relationship Graph (URG)of Insurance System
Nodes 1 2 3 4 5 6 7 8 9 10 11
1 01
a
1
a0 0 0 0
1
a
1
a1a
0
2 0 0 0 0 0 0 0 0 0 00
3 0 0 01
a
1
a
1
a0 0 0 0
0
4 0 0 0 0 0 01
a0 0 0
0
5 0 0 0 0 0 0 0 0 0 00
6 0 0 0 0 0 01
a0 0 0
0
7 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 01a
11 0 0 0 0 0 0 0 0 0 0 0
Partial Adjacency matrix for URG
Case Study: URG 1st Level of OOG
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
40/57
Analysis Phase : ARG (Activity Relationship Graph)
In the analysis phase, the flow of events of a usecase is modeled using UML activity diagrams.
Each use case event maps to an activity state whichmay be one of the different types available as per
UML 2.0 standard Action state, Decision box, fork,join, etc.
Use cases may be interrelated through the UMLconstructs includes and extends. Likewise, the
activity diagrams realizing the use cases are alsointer-related as modeled in ARG.
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
41/57
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
42/57
Case Study: ARG 2nd level of OOG
A4
A5
A6
A7
A8
A9
A10
A11
A12
END
A2
A3
A1
Each node of the ARG is an activitydiagram, which can be further visualizedas a graph like ADG and each ADG hasseveral independent paths ADP.
It can be noted that the manner in
which the nodes are connected can bedetected from the ARG.
The nodes that are in sequence areshown by the firm edges.
Likewise the dashed edges denote theother constructs of ARG.
ARG for the Policy Creation of Insurance System
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
43/57
Case Study: ARG Node conflict resolution
AD NoCases of Interleaving Case#
(Node#)
Conflict
ResolutionADP
1 Case 1 (3), Case 2 (2) Case 1 2
2 Case 4 (4, 7) Case 4 2
3 Case 1 (1) - 3
4Case 2 (5, 7, 8, 9), Case 3 (2, 3),
Case 4 (2, 7)
Case 4 6
5 Case 1 (6), Case 2 (4) Case 2 2
6 Case 1 (5), Case 2 (7, 8, 9) Case 2 4
7 Case 3 (4, 6), Case 4 (2, 7) Case 4 4
8 Case 3 (4, 6) - 2
9 Case 3 (4, 6) - 310 Case 1 (9, 11) - 2
11 Case 1 (10, 12) - 3
12 Case 1 (11) - 4
Activity Nodes Conflict Resolution and ADP Values
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
44/57
Case Study: Events Paths from ARG
Calculation of EP
We divide the ARG into subgraphs where eachcomprises of a set of nodes with a type of connection asper the Table.
Subgraph 1: Node 1 calling Node 2, 3 as per Case 2.
EP (SG1) = ADP (Node1) + ADP (Node2) + ADP (Node3) (3-1)
Therefore EP= ADP (Node1) + ADP (Node2) + ADP (Node3) -2
= 2 + 2+ 3 2 = 5
Subgraph 4: Node 10, 11 and 12 in series
EP (SG4) = Max (ADP (10), ADP (11), ADP (12)) + 1= Max (2, 3, 4) + 1
= 4 + 1 = 5
In total there are 34 scenario paths based onthe ARG for Policy Creation requirementReq Traced to events
A4
A5
A6
A7
A8
A9
A10
A11
A12
END
A2
A3
A1
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
45/57
Design Phase : D-SG (Distributed Scenario Graph)
In the design phase, sequence diagrams are commonly usedto implement the sequence of events of an activity diagram.
The event-method mapping is also done here and based onthat the methods are formulated in the design phase.
Sequence diagrams essentially depict the interaction between
objects of different classes through the use of methodscorresponding to an event in activity diagram.
In the next section we discuss the relationship betweenactivity diagrams and sequence diagrams.
This forms the basis of translation of ARG to the next levelgraph D-SG.
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
46/57
D-SG : Relationship between Activity &Sequence Diagram
The different cases of mapping between these two commonly useddiagrams.
Oneto-one When there is a single sequence diagramcorresponding to each activity diagram. Here every event maps
to one or more messages Oneto-many - When there are many sequence diagrams
corresponding to one activity diagram. Here again every eventmaps to one or more messages. There may be different reasonsfor this mapping as explained below
When alternate flow of events in activity diagram are depicted byseparate sequence diagram
When separate sequence diagrams are used to depict the sameActivity events. This is required in distributed development scenariowhere region specific events interleave with generic or common eventsto fulfill a requirement scenario.
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
47/57
D-SG: Sequence Diagrams in DistributedEnvironment
Global distributed model for development introduces complexity
Software architecture involves lot of interleaving between the sequencediagrams
We apply the concept of OOG at this level for modeling the interleaving ofsequence diagram capturing all possible scenarios of a system.
We name it as Distributed Scenario graph (D-SG).
It is a hierarchical directed graph where the top level identifiesconnections between sequence diagrams and direction denotes thesequence or order in which they are connected.
The next level models the object interactions within a sequence diagram
as a graph. Optimum Scenario Path (OSP) metrics that measures the minimum
number of independent path in the D-SG can be calculated.
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
48/57
Case Study: D-SG 3rd level of OOG S1
S2 S3 S4
S5
S6 S7
S8
S10
S9
S12
S11
S13
S14
S15 S16 S17
S19 S20 S21
S22
S18
S23
S24 END
D-SG of PolicyCreation
January 14, 2011
In total there are 71
scenario paths basedon all the relatedsequence diagramsmodeling therequirement.
Trace Requirementsto SequenceDiagrams at DesignPhase
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
49/57
Case Study: Activity events traced toSequence messages
Activity Diagram Activity Node Sequence Diagram Sequence Node
Application Entry
Main Application
Entry Policy specific
A1 A2, A3 Application Entry Main
Application Entry Policy specific
Application Entry Location
Specific
S1 S2, S3, S4 S5, S6, S7,
S8
Underwriting1 A4 Underwriting1 S9
Accept more details A5 Accept more details S10
Underwriting2 A6 Underwriting2 S11
Data entry error,
Business logic error
A7 A8 Data Entry Error Business Logic
Error
S12 S13
Premium calculation A9 Premium Calculation main
Premium Calculation Policy
Specific Premium calculationLocation Specific
S14 S15, S16, S17 S18,
S19, S20, S21
Premium payment A10 Premium payment S22
Issue policy A11 Issue policy S23
Certificate generation A12 Certificate generation S24
Activity Diagram to Sequence Diagram Mapping
January 14, 2011
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
50/57
Coding Phase : ECFG (Extended ControlFlow Graph)
January 14, 2011
White-box testing based on Control Flow Graph (CFG) though widely
used for procedural systems fails to be applicable as it is in case of Object
Oriented systems.
A new model Extended Control Flow Graph (ECFG) has been proposed
which is a layered graph with a collection of CFGs of the individualoperations of the OO software.
A new metrics Extended Cyclomatic Complexity (E-CC) has been
proposed which gives a measurement of the minimum number of test cases
that should be designed for ensuring covergae of all the independent controlpaths in the code.
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
51/57
In an E-CFG, the nodes are Methods and each method is represented byMcCabes CFG. The nodes may be connected in one of these ways -
Operations/Methods connected in series
Method calling one/more methods one/many times Many methods calling one particular method
Method is recursively called
Extended Cyclomatic Complexity number (E-CC) is derivedbased on the McCabes Cyclomatic Complexity of the
individual operations/methods. Represents the minimum no. of test
paths in the Object oriented code
Coding Phase : ECFG (Extended ControlFlow Graph)
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
52/57
ECFG for part of the system
Case Study: ECFG 4th level of OOG
E-CC (Extended Cyclomatic Complexity measures the minimumnumber of test paths through the OO code
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
53/57
Deployment Phase : Component Diagram forCase Study
Classes developed during coding phase are packaged into componentsand each component interact with others through well defined interfaces
Component Diagram of Insurance System
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
54/57
Case Study : CAG 5th Level of OOGComponent Architecture Graph
Component Diagram Modeled as a Graph named
Component Architecture Graph (CAG)
C1C2
1
C3 2 C4
3
C5
4
C6
5
C7
6
C8C9
C10C11
7
8
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
55/57
Deployment Phase : CAG Metrics
Component Level Metrics Component Fan-in Factor (CFIF) Component Fan-out Factor (CFOF) Component Interaction Factor (CIF) ( Average of CFIF & CFOF)
Component to Component Coupling Metrics Interface Count (IC) Component Paths (CP)
Architecture Level Metrics Architecture Component Interaction Factor (ACIF)Architecture Interface Count (AIC)Architecture Paths (AP)
Overall Complexity ACIF + AIC + APNamed as -
Component Architecture Complexity Measurement Metrics (CACMM)
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
56/57
ReferencesBooks :1. Ananya Kanjilal, Sabnam Sengupta and Swapan Bhattacharya, Graph Based Analysis of
Object Oriented Systems: An Integrated Approach, Nova publishers2. Swapan Bhattacharya, Ananya Kanjilal and Sabnam Sengupta, Tools and Techniques for
Model Based Testing, Handbook of Research on Software Engineering and ProductivityTechnologies: Implications of Globalization, Information Science Reference (Imprint of IGIGlobal), pp 226-249, August 2009
January 14, 2011
Journals:3. Sabnam Sengupta, Ananya Kanjilal, Swapan Bhattacharya,AGraph Based Approach to
Measure Complexity of Component Based Architecture, to be published in ACM SigsoftSoftware Engineering Notes (SEN), Vol. , Issue , pp , Jan 2011.
4. Dipankar Majumdar, Sabnam Sengupta, Ananya Kanjilal, Swagata Kundu, A MathematicalReusability Model for Quantifying the Reduction in Development Effort, ACM SigsoftSoftware Engineering Notes (SEN), Vol. 35, Issue 4, pp 1-8, July 2010.
5. Ananya Kanjilal, Goutam Kanjilal and Swapan Bhattacharya, Metrics based analysis ofrequirements for object-oriented systems: An empirical approach, INFOCOMP Journal ofComputer Science, Vol 7, No. 2, pp 26-36, June 2008.
6. Swapan Bhattacharya and Ananya KanjilalCode Based Analysis of Object OrientedSystems, Journal of Computer Science & Technology JCST, Springer-Verlag, Vol 21, No. 6,pp 965-972, November 2006.
-
8/7/2019 NSSE-2011-SBhattacharya-ReqTraceability
57/57
Thank You