Swapan Bhattacharya
Ref : http://www.fact-index.com/s/so/software_engineering.html
Requirement Definition
Requirement Analysis
Architecture Design
Detailed Design
Coding & Implementation
Testing
Current directions
• Aspect programming
• Service Oriented paradigm
• Agile process
Highly Complex
Distributed development
Quality driven
Use of Tools and Technology
Model based development and Testing
Requirement Analysis
1. The workforce analyzes the requirements gathered.
2. The group of cutters cut the cloth according to the measurements.
Implementation
3. The cutters keep provision so that if there is a change in size
Change management
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 toTesting
the sewing team and
start working on the new part.
Requirement Analysis
1.The group of stitchers find the details from the specifications.
5.After finishing stitching each part, they hand over the part to
the finishing team.a Requirement Tracing (backward)
January 14, 2011
Requirement Traceability - A Non-Engineering Example
Requirement Analysis
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. Implementation
Testing
5. After finishing integrating all the parts, they hand over the loosely stitched outfit
to the designer.
Requirement Tracing (backward)
January 14, 2011
Requirement Traceability - A Non-Engineering Example
Requirement
Specification Requirement
Architecture
Analysis
Design
Functional
Implementation
Non-Functional Feasibility Study
Cost Analysis
Integration
Forward
Traceability
Backward
Traceability Testing
Change Management
January 14, 2011
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
Business Requriements
System Requirements
Functional Non-Functional
Ref : http://applicationarchitecture.wordpress.com/2010/05/25/knowledge-
nugget-what-is-requirements-traceability/
January 14, 2011
Software Architecture &
Requirement Traceability
In layered
Architecture
Model, Software
Requirement
Traceability is
gaining significance
Hence we propose –
Graph based framework for modeling all related artifacts of a
Software Development Process
phases of development
produced in a phase
Development Process
Trace Requriements
D-SG
ECFG
CAG
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
N2
N4
N2 N3 N4
Single Group of Nodes (N1-
Node N1 N2 in sequence)
◦ Policy Creation
◦ Policy Maintenance
◦ Policy Claim
◦ Policy Termination
Next slide lists the Use cases that model these
Requirements. The Use cases for each requirement is
shown together to indicate the mapping clearly
13 16 20 1 1 1 1 0
1 0 0 0 0 0 1a
a a a a
2 3 8 9 10 0
2 0 0 0 0 0 0 0 0 0 0
1 1 1 0
14 15 17 18 19 3 0 0 0 0 0 0 0
a a a
11 1 0
4 5 6 4 0 0 0 0 0 0 0 0 0
a
0
21 22 23 24 5 0 0 0 0 0 0 0 0 0 0
7 1 0
6 0 0 0 0 0 0 0 0 0
47 34 a
46
25 7 0 0 0 0 0 0 0 0 0 0 0
35 43 8 0 0 0 0 0 0 0 0 0 0 0
39
26
9 0 0 0 0 0 0 0 0 0 0 0
45 1a
27 36 37 38 44 10 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0
31 42
28 29 30 33 40 41
32
1. Policy Creation
2. Application Entry Application Entry Main Application A1 A2, A3
Entry Policy specific
3. Underwriting
4. Underwriting 1 Underwriting1 A4
5. Accept More Details Accept more details A5
6. Underwriting 2 Underwriting2 A6
7. Process Error Data entry error, Business logic error A7 A8
= Max (2, 3, 4) + 1
A11
=4+1=5
A12
In total there are 34 scenario paths based on END
S2 S3 S4
S8
S5
S6 S7
D-SG of “Policy S9
Creation”
S10
S12
S11
modeling the
requirement. S18
Trace Requirements
S22
to Sequence
Diagrams at Design S23
Phase
S24 END
A new model Extended Control Flow Graph (ECFG) has been proposed
which is a layered graph with a collection of CFG’s of the individual
operations of the OO software.
8
1 7 3
C3 2 C4
4
C6
C7
C11
C8 C10
C9