Presentation is loading. Please wait.

Presentation is loading. Please wait.

Together ® UML Modeling with Together Architect 2006 Cemo Timucin, Borland Finland Oy.

Similar presentations


Presentation on theme: "Together ® UML Modeling with Together Architect 2006 Cemo Timucin, Borland Finland Oy."— Presentation transcript:

1 Together ® UML Modeling with Together Architect 2006 Cemo Timucin, Borland Finland Oy

2 Agenda This training will help you to understand:  What the Together ® products are  Why should you model?  How the Together ® products work  A brief introduction to UML  Additional Topics, time permitting  Together general features  Together project types, inside Eclipse  Together advanced features  Product Demo

3 What is Together ® ?

4 For individuals, Together ® provides model-centric productivity tools for analysts, architects, and developers. For development teams, Together ® enables visibility across roles, control over quality, and the ability to change quickly (agility). For enterprises, Together ® is the foundation for model-centric enterprise architectures such as SOA and MDA.

5 What is Together ® ? UML ™ Modeling with LiveSource ™  Visualization with accuracy Documentation Generation  Automated and always up-to-date Design Pattern Support  Promote reuse and improve quality QA Audits & Metrics  Improve quality and maintainability

6 Why should you model?

7 Software code vs. model 7 Java files 940 lines of code OR One diagram

8 Value of modeling A picture is worth a thousand lines of code

9 Model Code: The fantasy

10 Model Code: The hard way

11 Model Code: The easy way

12 Why does an Analyst model? Document agreement on what the Business wants to accomplish  Remove ambiguity  Enable the “Big Picture” view of the Business In combination with plain text  Large volume of requirements difficult to consume as a whole  Modeling provides constructs to help organize ideas  Visualization helps clarify complex ideas  Standards bring focus to key abstractions In contrast to ad-hoc diagrams  Standards facilitate precise communication  Common language for all members of the team

13 Analysis

14 Why does an Architect model? Design Overall Application Architecture  Mapping design to requirements  Effectively develop and communicate design  Documenting design and architecture  Ensure quality of design  Provide architectural views Leverage Reuse  Established frameworks  Existing libraries  Design patterns Engineer a Produceable System  Can be built with development constraints  Business: time and money  People: knowledge and skill sets  Process: quality and predictability  Technology: tools and existing systems  Can withstand changes over time  New features or changing requirements  Updated IT infrastructure

15 Design

16 Why does a Developer model? Implementation Options  Explore options  Need strong refactoring support  Improve design without changing functionality  Code reviews are time consuming and inefficient  Adherence to corporate or industry best-practices  Code can be maintained, modified, and reused Document the System  Large code bases are difficult to understand  Understand dependencies  Understand interfaces  So we can start parallel development by just knowing the contract for a component

17 Implementation

18 How do the Together ® products work?

19 A Brief Introduction to UML Use Case Diagrams  Who cares about what? Activity Diagrams  How is it done? Class Diagrams  What are the pieces? Interaction Diagrams  What interactions need to happen?

20 Use Case Diagram “Who cares about what?” What value will the user derive from the system? What kinds of users need to interact with the system? What major capabilities of the system can be reused?

21 Activity Diagrams “How is it done?” What is the flow of activities in the system? What activities will the system perform? What “artifacts” might the system generate?

22 Class Diagram “What are the pieces?” What are the major concepts the system will need to understand? How are those concepts related to other concepts?

23 Sequence Diagram “What interactions need to happen?” What responsibilities do the parts have? How will the parts accomplish their responsibilities through interactions with other parts?

24 Other UML Diagrams UML helps capture key aspects of a system from multiple viewpoints.

25 UML ™ Modeling with LiveSource ™ Together ® LiveSource ™ technology:  UML ™ Class diagrams are a live rendition of the underlying source code  Model to Code. Code to Model. Always in sync.IncrementalCodeGenerator Together ® ParsingEngine LiveSource™

26 Together ® Documentation Generation Model and code always in sync + Documentation generated from model = Documentation always accurate and up-to-date! Together ® generates:  HTML  RTF  TXT  PDF Custom template designer Post for team daily

27 Together ® Design Pattern Support Reuse existing, trusted solutions  Gang of Four (GoF) patterns  Sun Java ™ Center J2EE ™ patterns  Your own custom patterns!

28 Quality Assurance Audits and metrics help automate the assessment of software design and implementation quality. Audits  Enforce coding standards  Detect deviation from established best-practices  Streamline code reviews Metrics  Quantitative OO design analysis  Improve maintainability  Guide refactoring

29 Additional Topics

30 What’s New in Together 2006 Deep integration with Eclipse 3.1 (perspectives, activatable capabilities, leveraging Eclipse project natures, etc) Model-Centricity (model is a tangible, usable artifact, not just a collection of diagrams) Diagramming usability improvements (layouts, rulers and guides, alignment, match width/height Model Driven Architecture support (UML 2.0, OCL 2.0, QVT, XMI 2.0) Business Process modeling support (BPMN, generate BPEL) Data Modeling support (ER diagramming, transformations) UML 2.0 modeling Model Audits and Metrics (defined in OCL) UML Profiles and profile definition projects support New patterns and pattern definition projects support MDL and MDX import; XMI 2.0 model interchange New requirements integration with CaliberRM and RequisitePro Generation of template-based documentation LiveSource™ (simultaneous round-trip engineering) with Java 5

31 General Modeling Features Usability Improvements Laser Sighting visual indication of element alignment – edges or centers Multiple Layout Algorithms Hierarchical, Tree, Orthogonal, Spring Embedder, Together Permits layout of contained elements Automated Element Resizing and Aligning Align (Left | Center | Right | Top | Middle | Bottom) Match Width or Height Order Links Ctrl-Click “model” lets you rapidly create multiple elements Model Bookmarks

32 Extensive Search Capabilities Search: Model Model using OCL Files Java CaliberRM StarTeam Search output: Multiple Result Sets Saves history

33 Documentation Template Designer Feature-rich documentation template designer Functionally equivalent to Together ControlCenter except now: Supports all models: UML Design (1.4 and 2.0), UML LiveSource™, BP, Data Embed OCL queries

34 Multiple Project Types Eclipse paradigm is essentially lots of little projects (as opposed to former ControlCenter/Architect 1.x which only opened a single project at a time)

35 Business Process Modeling Project Only one diagram type: business process diagram Real-time model validation features  Invalid elements drawn in red on diagram  Auto-fix element  Validate against BPMN spec or for export to BPEL4WS

36 Data Modeling Project Only one diagram type: Entity Relationship (ER) but available in both logical and physical and can be notated using IE or IDEF1X Automated transformations between logical and physical Generate SQL or DDL Target servers: Generic SQL, IBM DB2 8, InterBase 7, JDataStore 7, MS Access, MS SQL Server 2000, mySQL 4, Oracle 9, Sybase AS Anywhere 8, Sybase AS Enterprise 12

37 Java Modeling Project UML 1.4 project with LiveSource™ class diagrams Use Case, Activity, State, Sequence, Collaboration, Component, Deployment, Class diagrams Generate Sequence diagrams Design Patterns Pattern Recognition Code Audits and Metrics Add Linked

38 Java Modeling projects from Java projects Simply add Java Modeling project nature to an existing Java project (does not create a new project)

39 MDA Transformation Project Eclipse plug-in project with QVT Builder Three transformation types: QVT Transformation QVT Library Model to Text Transformation  optionally using JET (Java Emitter Templates) Can be developed interactively – fully-featured code editing, debugger, compiling Run from workspace, deploy as compiled transformation or automate via Ant script

40 Pattern Definition Project Java modeling project with a UML Profile to support pattern definition, development and deployment Three ways to create these: Can be created from scratch – File  New…  Project… Created from selected elements in a model  select elements, Export to Pattern Definition Project Generated from a deployed pattern in the Pattery Registry view  Choose Edit Definition from pattern’s context menu

41 Profile Definition Project Java modeling project with a UML Profile to visually model UML Profile definitions Create custom stereotypes, tagged values, palette entries (custom icons on the diagram palette) and viewmapping (such as custom colors and icons) Can also include shortcuts to metaclasses as well as model profile constraints in OCL After applying a profile to a model, one can validate the model against the profile’s constraints

42 UML 1.4 Project Design project containing UML 1.4 diagrams: use case, activity, class, sequence, collaboration, state, component and deployment Provides model audits and metrics, exposes metamodel, can be used in model-to-model and model-to-text transformations Important note: UML 1.4 metamodel is provided as is, and no improvement are planned for future releases.

43 UML 2.0 from 1.4 Project Automate conversion of UML 1.4 design projects to UML 2.0 Sleeper feature? This wizard does an excellent job mapping from UML 1.4 constructs to UML 2.0. Many other competitor products struggle with this.

44 UML 2.0 Project Design project containing UML 2.0 diagrams: activity, class, component, communication, composite structure, deployment, sequence and statemachine Provides model audits and metrics, exposes metamodel, can be used in model-to-model and model-to-text transformations

45 Together Project Summary Multiple projects exist in a common workspace  shared between roles  roles see a “logical view” of workspace (e.g., only applicable project types)  accessible and referenceable  cross-project shortcuts are only possible for Classes and Interfaces. This will be fixed in a Q4 05 service pack  generated documentation can include all projects in the workspace

46 Together Advanced Features

47 Model Audits and Metrics New in Together 2006! Expressed in OCL; easy to write, customize and deploy across teams Reap enormous benefits by improving quality as early as possible Model Audits provide design inspections for model elements  Pulled from David Frankel, Scott Ambler, Robert Martin and others  Best practices for design elements Model Metrics provide measurements of models  Version 1.0, rather simple for now. Expect this feature to grow! Model Audits and Metrics combine to provide an accurate assessment of how “complete” your model is. This has historically been a very difficult thing to determine.

48 Model Audits - Sample “Black Hole” State OCL Audit Definition

49 Code Audits and Metrics Mature API to inspect and measure Java modeling projects Automate low-level parsing for potential errors, coding standards, design flaws and adherence to Java best practices Accurately measure object-oriented attributes such as coupling, cohesion, encapsulation and inheritance Improve quality of projects – developers can include audits in their workflow, project leads can measure the whole project Assess the quality of code contributed by remote teams, inherited components or as an aid to maintenance efforts Automate reporting using command-line – include in daily builds

50 Code Quality Assurance Audits  Java  Auto-Correct  API Metrics  Java  API  Kiviat View Reporting  GUI and command-line driven

51 Design Patterns

52 What is the Value of Design Patterns? Design Patterns provide common, sometimes even industry standard, design solutions to everyday problems Improve communication through abstraction  Describing a solution in aggregate is less complex than describing all the details about how it works  e.g., “I’m using a Visitor to assess the inventory…” vs. “we have a provided a common interface for all objects in the inventory so we can later use a common access method to parse the contents within the inventory…”

53 What is the Value of Design Patterns in Together? Together bundles the most-common design patterns  Gang of Four (GoF)  J2EE Design Patterns Together lets you model and deploy your own patterns  Wrap your internal best practices and design solutions as repeatable, reusable patterns Together can discover pattern usage in existing source code  Leverage the benefits of visualizing pattern usage to better understand reverse engineered code

54 Using Design Patterns Interactive chooser dialog Browse available patterns View pattern description Set pattern parameters

55 Using Design Patterns - visualization Collaboration bubble can reduce visual complexity Lets you view the pattern as a whole

56 Product Demo


Download ppt "Together ® UML Modeling with Together Architect 2006 Cemo Timucin, Borland Finland Oy."

Similar presentations


Ads by Google