Ibm rational software architect an integrated platform for innovation and collaboration l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
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 l.jpg

IBM Rational Software Architect An integrated platform for innovation and collaboration

Design Patterns

Yves Holvoet

[email protected]


Agenda l.jpg

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


Slide3 l.jpg

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


The evolution of software development l.jpg

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


Agenda5 l.jpg

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


Slide6 l.jpg

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’


Slide7 l.jpg

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


Slide8 l.jpg

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


Agenda9 l.jpg

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


Slide10 l.jpg

Challenge: Manage Complexity


Slide11 l.jpg

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


Slide12 l.jpg

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


Slide13 l.jpg

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


Agenda14 l.jpg

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


Slide15 l.jpg

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


Slide16 l.jpg

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


Slide17 l.jpg

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


Slide18 l.jpg

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


Slide19 l.jpg

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


Slide20 l.jpg

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


Slide21 l.jpg

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


Slide22 l.jpg

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


Slide23 l.jpg

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.


Slide24 l.jpg

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


Slide25 l.jpg

UML Enhancements: JavaDoc with Embedded UML Diagrams

  • Produce enriched JavaDoc

    • UML diagrams right on the pages

    • Completely integrated with hyperlinks


Slide26 l.jpg

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


Slide27 l.jpg

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


Slide28 l.jpg

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”


Slide29 l.jpg

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


Slide30 l.jpg

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


Slide31 l.jpg

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


Slide32 l.jpg

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


Summary key features rational software architect se l.jpg

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


Agenda34 l.jpg

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 l.jpg

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


Slide36 l.jpg

DEMO


Agenda37 l.jpg

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 l.jpg

Create 1 UML Model LIRMM_Analysis(File:New Project)


Create 2 uml packages unixcommands directoriesandfiles l.jpg

Create 2 UML packages:-unixCommands-directoriesAndFiles


Slide40 l.jpg

Create 1 Java projectLIRMM_Design(File:New Project)


In the modeling perspective the project explorer should look like this l.jpg

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


Slide42 l.jpg

DEMO


Strategy pattern l.jpg

Strategy Pattern


Unixcommands main diagram l.jpg

unixCommands main diagram


Strategy pattern instance l.jpg

Strategy Pattern Instance


Strategy pattern applied l.jpg

Strategy Pattern Applied


Interaction diagram l.jpg

Interaction Diagram


Transformation to create java structure l.jpg

Transformation to create Java structure


Slide49 l.jpg

DEMO


Agenda50 l.jpg

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 l.jpg

Composite Pattern


Composite pattern application l.jpg

Composite Pattern Application


Slide53 l.jpg

DEMO


  • Login