® ibm software group © 2006 ibm corporation ibm rational software architect an integrated platform...
Post on 19-Dec-2015
224 views
TRANSCRIPT
®
IBM Software Group
© 2006 IBM Corporation
IBM Rational Software Architect An integrated platform for innovation and collaboration
Design Patterns
Yves [email protected]
IBM Software Group | Rational software
2
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 Software Group | Rational software
3
Business Analyst
Collaborate, trace, and reconcile
Create business process model
WebSphereBusiness Modeler
Developer
Create and integrate existing services/assets
Rational Application DeveloperRational Business Developer
Rational Asset ManagerRational Developer for System zRational Developer for System i
Rational Host AccessTransformation Services
Rational Software Architect
Create and manage software/systems delivery requirementsRational RequisitePro
Rational Software ModelerRational Software Architect
Requirements Analyst
Requirements Management
Quality Management
Architecture & Construction
Process& Project
Management
Change & Release Management
Software Architect
Create architectural modelRational Asset Manager
Rational Software Architect
Architecture and constructionDeliver resilient architectures for SOA, systemsand applications
IBM Software Group | Rational software
4
The Evolution of Software Development
Time
Machine Code - Binary Development
7F 3A7F 3A2D FF2D FF
Pseudocode - 3GLTextual Modeling
Assembler - Textual Development
ADD 1ADD 1JMP 122JMP 122
Visual Modeling
3GL Textual Development
Model-Driven Development
Power
IBM Software Group | Rational software
5
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 Software Group | Rational software
6
Well, maybe you shouldn’t’
But then, maybe you should
Maybe you have to
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
IBM Software Group | Rational software
7
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
Design Model
“How” the system will realize the functional requirements
Data Model
Visualization of persistent storage
Implementation Model
Visualization of the code
What types of models are important?Different Stakeholders, Different Models
User Experience Model
Visualization of user interaction with the system
IBM Software Group | Rational software
8
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
IBM Software Group | Rational software
9
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 Software Group | Rational software
11
Challenge Overcome the problem of communicating solution to a
team
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: Communicate Architecture
IBM Software Group | Rational software
12
Challenge How can teams learn about the architecture of existing
implementations or frameworks?
Resolution
Provide an automated means for discovering architecture
Look for Anti-Patterns
Visualize complexity
Challenge: Discover complexity
IBM Software Group | Rational software
13
Challenge
How to enforce architecture decisions for a project team?
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
Challenge: Enforce Architecture Standards
IBM Software Group | Rational software
14
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 Software Group | Rational software
15
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
IBM Rational Software ArchitectAn integrated platform for innovation and collaboration
IBM Software Group | Rational software
16
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
What's New: Rational Software Architect
IBM Software Group | Rational software
17
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
Getting Started: User Assistance
IBM Software Group | Rational software
18
Perspective for C/C++ Development
C/C++ project hierarchical tree view
UML class diagram visualization of C/C++
classes and structs
C/C++ editor with syntax highlighting,
code completion, and advanced search
Key Feature: C/C++ Development Environment
IBM Software Group | Rational software
19
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
IBM Software Group | Rational software
20
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
New “Diagram Navigator” view provides a diagram
filtered view of the models and workspace
Diagram links as first-class citizens
“In diagram editing” to accelerate
modeling.
New properties view
Inheritance view
Key Feature: Modeling assistance
IBM Software Group | Rational software
21
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
New patterns view providing outline and description of
the pattern
Pattern rendered as a collaboration to
support incremental application
Support “drag-and-drop” of pattern parameters into the collaboration
Key Feature: Patterns
IBM Software Group | Rational software
22
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: Transformations
IBM Software Group | Rational software
23
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
Automatic generation of “topic” diagrams based on the results
of the code analysisPatterns and anti-patterns
are rendered in the diagram editor. Navigation to detailed
code is supported.
“Details View” providing an overview and avoidance
guidance for anti-patterns.
Code review pane providing a report of detected issues.
Key Feature: Architectureal Analysis, Discovery and Control
IBM Software Group | Rational software
24
Facilitates understanding and application’s behavior by providing visualization of detailed code
Diagrams can be integrated in Javadoc reports
Integrated with the Java Package view
Select method to be visualized using UML
Leverages UML 2.0 sequence diagram
constructs for loops, conditionals, etc…
“Topic” diagram for method is automatically updated/refreshed when
method is updated
Alternate abstract viewof method behavior
Alternate abstract viewof method behavior
Key Feature: Visualize method bodies
IBM Software Group | Rational software
25
Produce enriched JavaDoc UML diagrams right on the pages
Completely integrated with hyperlinks
UML Enhancements: JavaDoc with Embedded UML Diagrams
IBM Software Group | Rational software
26
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
Create class operations “on-the-fly” while doing
sequence diagram edits.
UML Enhancements: Interaction modeling
IBM Software Group | Rational software
27
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
UML Enhancements: Browse Diagrams
IBM Software Group | Rational software
28
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
Requirements Explorer for viewing requirements in
Eclipse.
Associate requirements and model elements
using Drag-and-Drop
View requirements traceability from the perspective of either
“trace-to” or “trace-from”
Team: RequisitePro integration
IBM Software Group | Rational software
29
Integration with Rational Unified Process
Tool Mentors provide guidance for activities
User customizable views with user defined content
RUP
Search is integrated with Eclipse search
RUP Advisor provides context sensitive guidance
Improved navigation of RUPEase of Use
Team: Process Guidance
IBM Software Group | Rational software
30
Easy access to queries, charts, &
reports
Console, SQL Query & Properties
views
View record forms, charts and reports
Hierarchical result set view shows
parent-child relationships
Team: ClearQuest integration
IBM Software Group | Rational software
31
ClearCase Navigator view with
integrated UCM activities
ClearCase Details view shows selected version information
Display version history, view &
update config spec, display search
results
Team: ClearCase integration
IBM Software Group | Rational software
32
Model differences & conflicts
Description of selected difference
or conflictDiagram view of
selected difference or conflict for contributor
Choose view type
Team: Model compare & merge
IBM Software Group | Rational software
33
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
IBM Software Group | Rational software
34
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 Software Group | Rational software
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 –Rcd, cd ..mkdir <directory>setContent <file>helpexit
IBM Software Group | Rational software
37
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 Software Group | Rational softwareIn the modeling perspective, the project explorer should look like this
UML project
UML package
Java project
UML package
In the modeling perspective, the project explorer should look like
IBM Software Group | Rational software
50
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