Together - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Together

Description:

... Together provides model-centric productivity tools for ... Auto-fix element. Validate against BPMN spec or for. export to BPEL4WS. Data Modeling Project ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 57
Provided by: richardg83
Category:

less

Transcript and Presenter's Notes

Title: Together


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
What is Together?
  • 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
OR
  • 7 Java files
  • 940 lines of code

One diagram
8
Value of modeling
A picture is worth a thousand lines of code
9
Model lt-gt Code The fantasy
10
Model lt-gt Code The hard way
11
Model lt-gt 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 major capabilities of the system can be
reused?
What kinds of users need to interact with the
system?
21
Activity Diagrams
What activities will the system perform?
What is the flow of activities in the system?
  • How is it done?

What artifacts might the system generate?
22
Class Diagram
What are the major concepts the system will need
to understand?
How are those concepts related to other concepts?
  • What are the pieces?

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

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.

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
Whats 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 documentationtemplate designer
  • Functionally equivalentto Together
    ControlCenterexcept now
  • Supports all modelsUML 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 forexport to
    BPEL4WS

36
Data Modeling Project
  • Only one diagram type Entity Relationship (ER)
  • but available in both logical and physical and
    can benotated 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 patterns 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 profiles
    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., Im 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
Write a Comment
User Comments (0)
About PowerShow.com