Transcript Slide 1

Model Driven Systems Development
(MDSD) and IBM Rational Tools in a
System of Systems (SoS) Development
Environment
Saravana Kumar
Lead Architect
[email protected]
October 7, 2008
Providing Practical Software Solutions
Praxis Proprietary Information
Agenda




Introduction
MDSD
MDSD in System of Systems
Development
Q&A
2
Praxis Proprietary Information
Praxis Is …



Small Business
Providing innovative software
technologies, products, and solutions
Expanding Operations in Dallas


Government agencies & Commercial Entities
Making significant investments to support
our customers’ objectives
3
Praxis Proprietary Information
Core Competencies
Technologies:
Java/JEE, ASP, ESB, XML,
TIBCO, WebLayers, Oracle,
IBM, ETL, BI, HP, BEA
Technologies:
IBM, Borland, MKS,
Trolltech, Datapath,
WebLayers, Computer
Associates
Technologies:
C/C++, VxWorks, Linux,
Unix, Windows CE, eCos
Solutions:
Portals, Scalable & Secure
Architectures, Data Mgmt,
Service Design
Implementation &
Governance, Visualization
Solutions:
Architecture, Design, CM
& EAM, Portfolio Mgmt,
Automated Test,
Customization, Training
Solutions:
FASTRAK, WiFi4000, Praxis
PinPoint, HW Drivers,
Packet/Protocol Processing,
Wired/Wireless, DSP, SDR
High Quality
Software Development
Applying
Best
Practices
Using
RUP, Agile,
XP, Scrum
Praxis Proprietary Information
4
Agenda
 Introduction
 Problem
Statement
 Proposed Solution
 MDSD
 MDSD in System of Systems
Development
Q & A
5
Praxis Proprietary Information
Problem Statement
 Development
of a complex distributed
system along with the uncertainties
and risks associated with them
 Difficulty in managing change and
ensuring that the system, software, test
models meet the ever changing
requirements.
 Required automated tools considered expensive and add more
work than save time.
6
Praxis Proprietary Information
Agenda
 Introduction
 Problem
Statement
 Proposed Solution
 MDSD
 MDSD in System of Systems
Development
Q & A
7
Praxis Proprietary Information
Proposed Solution


A spiral development approach (a variant of the
Rational Unified Process (RUP) framework)
 will be flexible enough to address the ever changing
end-customer requirements
 will be compliant with the customer’s spiraldevelopment life-cycle model, providing seamless
integration with their overall program objectives and
schedule.
An integrated tool environment
 will help automate the process of syncing up the
changes in the customers System of Systems
architectures and models, and would mean lesser
hours for requirements, architecture and model
maintenance and up-keep.
 will aid in establishing a requirements, architecture,
design and test traceability.
Praxis Proprietary Information
8
Agenda
 Introduction
MDSD
 Why MDSD
 What MDSD addresses
 MDSD Core Activities
 MDSD in System of Systems
Development
Q & A

9
Praxis Proprietary Information
Why MDSD???
 MDSD
is
 the
set of architectural methods in RUP SE,
which is the extension of Rational Unified
Process (RUP) to systems development
 a method for managing complexity and
change that can help us in our complex
world.
 the progressive, iterative refinement of a
set of models to drive development of our
system.
10
Praxis Proprietary Information
Agenda
 Introduction
MDSD
 Why MDSD
 What MDSD addresses
 MDSD Key Concepts
 MDSD in System of Systems
Development
Q & A

11
Praxis Proprietary Information
MDSD addressed…
The following complex system development issues:

Overwhelming complexity
> System of Systems (SOS) development
> Models
> Levels of Decomposition
• Drive requirements, define capabilities and interfaces that
the customer does not understand

Appropriate view points not being considered
>
>
>
>
Hardware
Software
User
Data
• viewpoints addressing different concerns
12
Praxis Proprietary Information
MDSD addressed…
 Functional,
performance and other
system concerns not met by the
system
> Distribution of tasks to resources and
accomplish them under
• schedule
• budget
• other constraints
 Unable
to being scalable
> Recursive methodology (Spiral
development process)
13
Praxis Proprietary Information
Agenda
 Introduction
MDSD
 Why MDSD
 What MDSD addresses
 MDSD Key Concepts
 MDSD in System of Systems
Development
Q & A

14
Praxis Proprietary Information
Key Concepts

Definitions


Black Box / White Box



Services and requirements seen from the outside
Objects collaborating to meet requirements
System Decomposition



System – Group of interacting, interrelated, or
interdependent elements forming a complex whole
Partitioning by requirements
Partitioning by architecture
Requirements and Use Cases


System Context and behavior
Facilitate agreement with customers
15
Praxis Proprietary Information
Key Concepts

Use Cases versus Operations



What the system does
how the system does
Viewpoints and Joint Realization - provide the ability
to reason about

Separation of Concerns
> Group like things together
> Separate disparate things

Integration of concerns
> How elements of separate views collaborate to provide system services
> Derivation of non functional requirements

Flowdown - provides architectural consistency and
traceability
> Finding actors and use cases at multiple levels of abstraction
> Requirements derivation and allocation
> Operation identification and realization
16
Praxis Proprietary Information
Agenda



Introduction
MDSD
MDSD in System of Systems
Development




MDSD Activities
Collaboration & Traceability
Summary
Q&A
17
Praxis Proprietary Information
MDSD Activities
Define
Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Determine System Operations
Define Candidate Architecture
Realize System Operations
18
Praxis Proprietary Information
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Determine System Operations
Define Candidate Architecture
Realize System Operations
&A
19
Praxis Proprietary Information
Define Goals and Objectives

Initial activities that were involved to organize
and focus the project


Gathered/Received Requirements
Requirements Environment established
> Requirements and Interface Management Plans (RMP, IMP) were created
•

Requirements Management Tool (DOORS) was configured and the requirements were placed in it and controlled
Worked with stakeholders in clarifying and
rewriting the requirements

Requirements spanned over several systems and changed
constantly
> broke down the requirements based on the system architecture
> Separated functional and non-functional requirements

Created a vision document

Captured and communicated the high level capabilities that
reflect the focus of the development effort
> The capability matrix provided the customer a high level feature list to be
implemented in the various iterations
Praxis Proprietary Information
20
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Determine System Operations
Define Candidate Architecture
Realize System Operations
&A
21
Praxis Proprietary Information
Establish Context
 Context
Diagram
 Helped
in establishing the systems
relationship with the environment in which
the system will exist and the functionality
the system will provide to the environment
> Helped in analyzing the requirements effectively
> Helped in managing the data and as well as the external
interfaces
> Helped in understanding how the system integrated with
system of systems and data used as the method of
integration
> Helped in creating a requirements gap analysis report (what
it should be as opposed to what it is)
> Helped in decomposing the system (understanding the
context shift from the system level to subsystem level)
22
Praxis Proprietary Information
Establishing Context – Context Diagram
23
Praxis Proprietary Information
Establishing Context – Use Case
24
Praxis Proprietary Information
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Determine System Operations
Define Candidate Architecture
Realize System Operations
&A
25
Praxis Proprietary Information
Outline Use Cases

Focus was on Identification of the actor/system
interactions at a higher level and establishing
significant scenarios





Had difficulty in clearly keeping the separation between system
and software level use cases
Struggled in staying with the level of abstraction (moving back
and forth from what the system does to how the system does)
Changed frequently on how the services were grouped in
keeping up with the changing requirements
Not having an automated tool environment initially made it
difficult in maintaining the trace between requirements,
architecture and design.
Helped managing the data from disparate sources providing
overlapping pieces of information
26
Praxis Proprietary Information
Outline Use Case (UC) – UC Outline
Online sale Use Case
Brief Description
Customer to purchase the item online on the retail website.
Basic Flow
1. Customer logs on.
2. Customer selects “Item to Purchase”.
3. Customer receives product information.
4. Customer reviews product information.
3. Customer adds the item to the shopping cart .
4. Customer selects the checkout option.
5. System requests credit card information
6. Customer enters credit card information
7. System requests billing and shipping information
8. Customer enters billing and shipping information
9. Customer reviews the order and selects the purchase option.
Praxis Proprietary Information
27
Outline Use Case (UC) – UC Outline
10. Customer receives order confirmation
11. Customer logs off.
Alternative Flows
A1 Customer Gets additional products
A2 Anonymous Customer
A3 Online System Unavailable
A4 Product Unavailable
A5 Quit
Scenarios
Customer buys an item online: Basic Flow
Customer Gets Additional products: Basic Flow, Customer Gets additional
products
Invalid login: Basic Flow, Anonymous Customer
Online System Unavailable: Basic Flow, Online System Unavailable
Product Unavailable: Basic Flow, Product Unavailable
Quit Before Completion: Basic Flow, Quit
28
Praxis Proprietary Information
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Determine System Operations
Define Candidate Architecture
Realize System Operations
&A
29
Praxis Proprietary Information
Detail Use Case Scenarios

Fleshing out the system Use Case scenarios in the Use
Case specification




Had difficulty in keeping the level of detail that a system level
use case showed
Helped in refining the requirements matching to the customers
needs
Provided a way to highlight to the customer the mapping
between the feature set and the system level architecture
Expanding each Use Case scenario in the Use Case
specification to the next level of abstraction


Struggled in staying with the level of abstraction (moving back
and forth from what the system does to how the system does)
Helped us to understand better on how the data provided the
integration with other systems
30
Praxis Proprietary Information
Use Case Specification
31
Praxis Proprietary Information
Outline Use Case - Black Box
32
Praxis Proprietary Information
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Define Candidate Architecture
Determine System Operations
Realize System Operations
&A
33
Praxis Proprietary Information
Define Candidate Architecture
 Identification
of the architectural
and design elements that comprise
the internal elements of the system
under development
 Provided
a way to highlight to the customer
the mapping between the system level
architecture and the capability matrix
34
Praxis Proprietary Information
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Define Candidate Architecture
Determine System Operations
Realize System Operations
&A
35
Praxis Proprietary Information
Operations Analysis (Flowdown)
Operation Realization
Sequence Diagrams
36
Praxis Proprietary Information
Agenda
 Introduction


MDSD
MDSD in System of Systems Development
> MDSD Activities
•
•
•
•
•
•
•
Q
Define Goals and Objectives
Establish Context
Outline Use Cases
Detail Use Case Scenarios
Define Candidate Architecture
Determine System Operations
Realize System Operations
&A
37
Praxis Proprietary Information
Realize System Operations


Definition on how the elements of the white box
architecture collaborate to fulfill each identified
system operation
Core Process




Identify the collaboration
Delineate the steps
Identify collaborators
Delineate the collaboration
>
>
>
>




Who requests?
Who provides?
What is the request?
What are the constraints on the request?
Received requests are requirements on the receiver
Sending a request may be a requirement in the context of the
collaboration, but is not necessarily publicly exposed
Constraints are also requirements [QoS]
Repeat process at next level
Praxis Proprietary Information
38
Realize System Operations

Created an Interface Requirements
Specification (IRS), detailing the interfaces the
system was working with





Table listing the operations between the system and
the external interfaces
Detailed the messages that composed the operation
and the data that got transferred as part of the
operation
Helped derive the requirements put forth by the
system on the external systems and vice-versa
Helped in separating the requirements derived from
above into functional and non-functional
requirements
Helped in establishing the business process and
workflows in interfacing with the external systems
Praxis Proprietary Information
39
Agenda




Praxis Overview
Introduction
MDSD
MDSD in System of Systems
Development




MDSD Activities
Collaboration & Traceability
Summary
Q&A
40
Praxis Proprietary Information
Collaboration & Traceability
 Systems
& Software Engineering (SE &
SW) teams collaborated in an Integrated
Environment for systems development
 Integrated tool environment provided an
automated way of providing the trace
between requirements, architecture,
design and test
 Helped
in automating the manual process of
keeping the requirements, use cases and
models in sync
 The test tools in the integrated environment
were not used in the first iteration
41
Praxis Proprietary Information
Integrated Tool Environment Envisioned
DOORS
Requirements Management
Required Interface to Customer
DoorKeeper
ClearQuest
(Change Management
Solution)
Defect Generation and Population
Rational Test Manager
(Organizes Test Plans & Test Cases
Provides Traceability to Requirements
Provides a single interface to test
execution)
Manage Performance Tester
Scripts
Use Case to Design Traceability
Integrated UCM ClearCase and
ClearQuest solution
Rational Performance Tester
(Performance testing for Java
based applications)
Rational Rose/
Rational Software Architect
UML 1.4/2.0 Modeling Tool
Used for Architecture and Design
Manage Functional Tester Scripts
ClearCase
(Configuration Management Solution)
Rational Functional Tester
(Functional testing for Java based
applications)
Manage Robot Test Scripts and Suites
Rational Robot
(Rational’s legacy test script development tool for
functional and performance testing scripts
On BOM for screen scrapping capability)
42
Praxis Proprietary Information
Agenda




Praxis Overview
Introduction
MDSD
MDSD in System of Systems
Development




MDSD Activities
Collaboration & Traceability
Summary
Q&A
43
Praxis Proprietary Information
Conclusions
Was
YES
the Basic Problem Solved?
 Pre-MDSD
> Complex distributed system developed under the influence
of ever changing requirements with system, software and
test models not in sync with them
 Post-MDSD
> Scalable, Flexible framework setup for spiral development
> Integrated tool environment facilitating an automated
process of providing trace between requirements,
architecture, design and test
> Successful completion of the first development spiral using
this methodology with very positive feedback
> Customer planning to replicate this model of MDSD
implementation in some of the other projects.
Praxis Proprietary Information
44
QUESTIONS
45
Praxis Proprietary Information
Thank You
Saravana Kumar
Lead Architect
[email protected]
46
Praxis Proprietary Information