1 / 54

IBM Rational Software Architect An integrated platform for innovation and collaboration

IBM Rational Software Architect An integrated platform for innovation and collaboration Design Patterns Yves Holvoet Yves.holvoet@fr.ibm.com Agenda IBM Rational Software Modeling Software Development Challenges Rational Software Architect Demonstration File and Directory Java exercise

Mia_John
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IBM Rational Software Architect An integrated platform for innovation and collaboration Design Patterns Yves Holvoet Yves.holvoet@fr.ibm.com

  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

  3. 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

  4. 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

  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

  6. 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’

  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 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

  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

  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

  10. Challenge: Manage Complexity

  11. 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

  12. 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

  13. 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

  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

  15. 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

  16. 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

  17. 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

  18. 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

  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

  20. 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

  21. 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

  22. 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

  23. 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.

  24. 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

  25. UML Enhancements: JavaDoc with Embedded UML Diagrams • Produce enriched JavaDoc • UML diagrams right on the pages • Completely integrated with hyperlinks

  26. 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

  27. 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

  28. 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”

  29. 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

  30. 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

  31. 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

  32. 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

  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

  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

  35. 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

  36. DEMO

  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

  38. Create 1 UML Model LIRMM_Analysis(File:New Project)

  39. Create 2 UML packages:-unixCommands-directoriesAndFiles

  40. Create 1 Java projectLIRMM_Design(File:New Project)

  41. 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

  42. DEMO

  43. Strategy Pattern

  44. unixCommands main diagram

  45. Strategy Pattern Instance

  46. Strategy Pattern Applied

  47. Interaction Diagram

  48. Transformation to create Java structure

  49. DEMO

  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

More Related