Ibm rational software architect an integrated platform for innovation and collaboration l.jpg
Sponsored Links
This presentation is the property of its rightful owner.
1 / 54

IBM Rational Software Architect An integrated platform for innovation and collaboration PowerPoint PPT Presentation


IBM Rational Software Architect An integrated platform for innovation and collaboration Design Patterns Yves Holvoet [email protected] Agenda IBM Rational Software Modeling Software Development Challenges Rational Software Architect Demonstration File and Directory Java exercise

Related searches for IBM Rational Software Architect An integrated platform for innovation and collaboration

Download Presentation

IBM Rational Software Architect An integrated platform for innovation and collaboration

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


IBM Rational Software Architect An integrated platform for innovation and collaboration

Design Patterns

Yves Holvoet

[email protected]


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


Change & Release Management

Architecture and constructionDeliver resilient architectures for SOA, systemsand applications

Process& Project Management

Quality Management

Architecture & Construction

Requirements Management

Create and manage software/systems delivery requirements

Rational RequisitePro

Rational Software Modeler

Rational Software Architect

Create architectural modelRational Asset Manager

Rational Software Architect

Requirements Analyst

Software Architect

Collaborate, trace, and reconcile

Create and integrate existing services/assets

Rational Application Developer

Rational Business Developer

Rational Asset Manager

Rational Developer for System z

Rational Developer for System i

Rational Host AccessTransformation Services

Rational Software Architect

Create business process model

WebSphereBusiness Modeler

Business Analyst

Developer


ADD 1

JMP 122

7F 3A

2D FF

The Evolution of Software Development

Model-Driven

Development

Visual Modeling

3GL Textual Development

Power

Pseudocode - 3GLTextual Modeling

Assembler - Textual Development

Machine Code - Binary Development

Time


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


Modeling is the standard approach in engineering to

Manage Complexity

Mitigate Risk

Software development is the same asevery other kind of engineering in this respect

Code and other artifacts can be derived from models

Model Driven DevelopmentDelivering innovation and collaboration

Maybe you

have to

But then, maybe

you should

Well, maybe

you shouldn’t’


Business Model

Visualization of business processes

System Architecture Model

Visualization of the system requirements, structure, and behavior

Use Case Model

Visualization of functional requirements

Analysis Model

“What” the system must do to realize the functional requirements with the system

What types of models are important?Different Stakeholders, Different Models

  • User Experience Model

    • Visualization of user interaction with the system

  • Design Model

    • “How” the system will realize the functional requirements

  • Data Model

    • Visualization of persistent storage

  • Implementation Model

    • Visualization of the code


Model-driven development is aided by acommon language across all stakeholders

Unified Modeling Language (UML) is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system

UML allows software architects, designers and developers to specify, visualize, construct, and document all aspects of a software system

Extensible to support evolving modeling needs

Allow expression of concepts and aspects common to industry or standard

Limit modeling environment to only what is necessary

UML: The Language of Model Driven DevelopmentStandard and extensible


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


Challenge: Manage Complexity


Challenge

Overcome the problem of communicating solution to a team

Challenge: Communicate Architecture

  • Resolution

    • Provide technologies to enable effective communication of a design

      • UML 2 Notation

      • Domain specific modeling language extensions

    • Integrate the architecture artifacts into the development environment

    • Provide Global Access to artifacts internally and for suppliers


Challenge

How can teams learn about the architecture of existing implementations or frameworks?

Challenge: Discover complexity

  • Resolution

    • Provide an automated means for discovering architecture

      • Look for Anti-Patterns

      • Visualize complexity


Challenge

How to enforce architecture decisions for a project team?

Challenge: Enforce Architecture Standards

  • Resolution

    • Generate source-code based on architecture decisions

    • Create and enforce rules which support the architecture

      • Process Guidance

      • Code rules

      • Visually compare model changes

      • Link requirements to design and to derived artifacts like code


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


IBM Rational Software ArchitectAn integrated platform for innovation and collaboration

  • Best of breed, comprehensive modeling tools that facilitate communication and collaboration

    • With the power of abstraction, automation and simplification

    • DoDAF

    • UML Profile-based Integrated Architecture

    • Profile for Software Services

    • Leveraging Jazz platform integrated with Rational Team Concert

  • Exploit the latest in modeling language technology and leverage an open and extensible modeling platform

  • Simplify and unify Java and C++ design and development by integrating with other facets of the lifecycle such as:

    • Rational Data Architect, Rational Requisite Pro

    • Rational Asset Manager, Rational Team Concert

    • Rational ClearCase, Rational ClearQuest

    • Telelogic Synergy and Change


What's New: Rational Software Architect

  • Custom modeling environment for your business

    • Modeling with Domain Specific Language (DSL)‏

    • Work with reduced subset of UML

  • Rational Deployment Architecture Platform

    • Rich tools for deployment architecture definition

    • Verification tools for deployment architecture

  • Enhanced transformations and visualizations

    • Extensive Java and C++ support

    • Increased visibility into existing source code

  • Integrations

    • Rational Asset Manager

    • Rational Team Concert on Jazz

    • Telelogic Change and Synergy


Getting Started: User Assistance

  • User Assistance model to enable users of all skill levels

  • Leverages Product Tours to assist with the discoverability of capabilities

  • Tutorial Gallery leverages tutorials as learning aids

    • “Watch and Learn”

    • “Play and Learn”

    • “Do and Learn”

  • Samples gallery provides completed assets for reference purposes

    • Showcase

    • Application

    • Technology

  • All user assistance can be launched from a Welcome perspective


Key Feature: C/C++ Development Environment

Perspective for C/C++ Development

C/C++ editor with syntax highlighting, code completion, and advanced search

C/C++ project hierarchical tree view

UML class diagram visualization of C/C++ classes and structs


Editing and Navigation

C/C++ Syntax Highlighting, Outline View

C++ Class Browser (Hierarchy View)‏

C/C++ Search

C/C++ Content Assist

Project Import

Automated assistance in setting up CDT for search and content assist.

UML C/C++ Code Editor

Debug

GDB Integrated

Extensible Debug Interface

Build

Standard Make for projects with existing build infrastructure

Managed Build

Automatic makefile generation

GNU tools supported out of box

Managed build is extensible, build tools can be plugged-in and build tools options selectable

Meets Internationalization and Accessibility requirements

Extensibility

Provides extension points for managed build, debuggers, …

Key Feature: C/C++ Development Environment


Key Feature: Modeling assistance

Diagram links as first-class citizens

  • Simplify the capture of UML models during Analysis and Design

  • Make modeling more accessible to a broader audience

  • New custom views improve the editing experience

“In diagram editing” to accelerate modeling.

New “Diagram Navigator” view provides a diagram filtered view of the models and workspace

Inheritance view

New properties view


Key Feature: Patterns

Pattern rendered as a collaboration to support incremental application

  • Applying Patterns is very simple

    • Evolution of pattern experience based on lessons learned

  • Pattern-authoring provides greater flexibility using Open API

  • All Gang of Four design patterns provided

  • Additional patterns provided via RAS repository on IBM developerWorks

Support “drag-and-drop” of pattern parameters into the collaboration

New patterns view providing outline and description of the pattern


Key Feature: Transformations

  • Transformations are optimal for “batch” style computationally intensive operations

    • Model-to-model

    • Model-to-code

    • Code-to-model

  • Out-of-the box code transforms

    • UML-to-Java/JSE

    • UML-to-C++

    • UML-to-CORBA IDL

    • Plus sample model-to-model transforms

  • Transformations may be updated via RAS repository hosted on IBM developerWorks


Key Feature: Architectureal Analysis, Discovery and Control

Automatic generation of “topic” diagrams based on the results of the code analysis

Patterns and anti-patterns are rendered in the diagram editor. Navigation to detailed code is supported.

  • Architecture discovery for J2SE

    • High-level software visualization

  • Application architecture is reflected in the running code

    • Analyzing code can help assess its maintainability

  • Govern the architecture with the assistance of rules

    • Template-based rule authoring

  • Anti-pattern and pattern detection

    • Detection of cyclic dependencies, hubs, breakable, etc.

    • Wizard assisted automated quick-fix

Code review pane providing a report of detected issues.

“Details View” providing an overview and avoidance guidance for anti-patterns.


Key Feature: Visualize method bodies

  • Facilitates understanding and application’s behavior by providing visualization of detailed code

  • Diagrams can be integrated in Javadoc reports

“Topic” diagram for method is automatically updated/refreshed when method is updated

Integrated with the Java Package view

Leverages UML 2.0 sequence diagram constructs for loops, conditionals, etc…

Alternate abstract viewof method behavior

Select method to be visualized using UML


UML Enhancements: JavaDoc with Embedded UML Diagrams

  • Produce enriched JavaDoc

    • UML diagrams right on the pages

    • Completely integrated with hyperlinks


UML Enhancements: Interaction modeling

Create class operations “on-the-fly” while doing sequence diagram edits.

  • Interactions are expressed more effectively using UML 2.0 constructs

    • Support specification of test scenarios

      • Loop, alt, opt

      • Interaction fragment references

  • Interactions can be rendered as either sequence or communication diagrams

  • Sequence diagram editing improvements

    • Ordering and reordering

Support for UML 2.0 fragments including OPT, ALT, and LOOP

Fragment collapse/expansion to facilitate working with large sequence diagrams


UML Enhancements: Browse Diagrams

Enables users to understand and discover models and applications without having to create or maintain diagrams

Web Browser-like controls to navigate workspace or model


Team: RequisitePro integration

Requirements Explorer for viewing requirements in Eclipse.

  • Open and browse multiple RequisitePro projects

    • See requirements, packages, and views

  • Associate requirements with model elements via drag and drop

  • Create model elements from requirements

  • Customizable synchronization

Associate requirements and model elements using Drag-and-Drop

View requirements traceability from the perspective of either “trace-to” or “trace-from”


RUP

Team: Process Guidance

Ease of Use

Improved navigation of RUP

  • Integration with Rational Unified Process

  • Tool Mentors provide guidance for activities

  • User customizable views with user defined content

RUP Advisor provides context sensitive guidance

Search is integrated with Eclipse search


Team: ClearQuest integration

Hierarchical result set view shows parent-child relationships

Easy access to queries, charts, & reports

View record forms, charts and reports

Console, SQL Query & Properties views


Team: ClearCase integration

ClearCase Details view shows selected version information

ClearCase Navigator view with integrated UCM activities

Display version history, view & update config spec, display search results


Team: Model compare & merge

Model differences & conflicts

Description of selected difference or conflict

Diagram view of selected difference or conflict for contributor

Choose view type


Architecture Support

Java, J2SE, C++

UML2 Modeling

Architecture Discovery via Application Analysis

Patterns and Transformations

Team Environment

Enhanced Compare / Merge

Integrated RequisitePro Views

Process Advisor

CC and CQ fully integrated

Open Platform

Based on Eclipse 3.4 Shell

Testing and Team tools work together

Summary: Key Features Rational Software Architect SE


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


Unix File and Directory Exercise; Objective

  • Create a running Java shell implementing on a simple directory structure containing files (no links) the following unix commands:

    • ls, ls –R

    • cd, cd ..

    • mkdir <directory>

    • setContent <file>

    • help

    • exit


DEMO


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


Create 1 UML Model LIRMM_Analysis(File:New Project)


Create 2 UML packages:-unixCommands-directoriesAndFiles


Create 1 Java projectLIRMM_Design(File:New Project)


UML project

UML package

Java project

UML package

In the modeling perspective, the project explorer should look like this

In the modeling perspective, the project explorer should look like


DEMO


Strategy Pattern


unixCommands main diagram


Strategy Pattern Instance


Strategy Pattern Applied


Interaction Diagram


Transformation to create Java structure


DEMO


Agenda

  • IBM Rational Software

    • Modeling

    • Software Development Challenges

    • Rational Software Architect

  • Demonstration

    • File and Directory Java exercise

    • Patterns

      • Strategy for the shell command interpreter

      • Composite for the directory and file

      • Visitor for the recursive traversal of files and directories


Composite Pattern


Composite Pattern Application


DEMO


  • Login