29
Technical Overview

Technical Overview

  • Upload
    collin

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

Technical Overview. What Is MagicDraw?. MagicDraw is a powerful UML modeling tool designed for :. Business Analysts Software Analysts Programmers QA Engineers Documentation Writers. Overview of the Presentation. In this presentation we will overview :. UML diagramming - PowerPoint PPT Presentation

Citation preview

Page 1: Technical Overview

Technical Overview

Page 2: Technical Overview

What Is MagicDraw?

Business Analysts Software Analysts Programmers QA Engineers Documentation Writers

MagicDraw is a powerful UML modeling tool designed for:

Page 3: Technical Overview

Overview of the Presentation

UML diagramming Design facilitations Code engineering Teamwork Documentation Data interchange Integrations

In this presentation we will overview:

Page 4: Technical Overview

General Appearance

Page 5: Technical Overview

Structural Diagrams Class Diagram Object Diagram Component Diagram Deployment Diagram

Model Management Diagrams Package Diagram Subsystem Diagram Model Diagram

MagicDraw supports UML 1.4 semantics and notation.You can draw these diagrams:

Unified Modeling Language

Behavior Diagrams Use Case Diagram Sequence Diagram Activity Diagram Collaboration Diagram Statechart Diagram 

Page 6: Technical Overview

Robustness Diagram WAE Diagram CORBA IDL DiagramXML Schema Diagram

WSDL DiagramContent DiagramAbility to construct and use your own custom diagram based on UML diagram

UML Extensions

UML Extension Diagrams

Explicit support for UML profiles.

Page 7: Technical Overview

UML – Class Diagram Sample

<<description>>DocumentTemplate

-defaultContent : Document::DocumentTemplate-name : Document::DocumentTemplate-number : Document::DocumentTemplate-rationale : Document::DocumentTemplate-type : Document::DocumentTemplate+addPart() : Document::DocumentTemplate+generateAFillInTheBlanksDocument() : Document::DocumentTemplate+getPart()

<<role>>StandardsBody

+listConstructionStandards() : RelMgmt::OrgRole::StandardsBody+listDocumentStandards() : RelMgmt::OrgRole::StandardsBody

<<moment-interval>>DocumentBuild

-archiveURL : DocumentActivity::DocumentBuild-date : DocumentActivity::DocumentBuild-url : DocumentActivity::DocumentBuild+archive()+cancel()+complete()+makeDocumentBuild()+retrieve()

<<moment-interval>>DocumentAccess

-interval-status+cancel()+complete()+makeDocumentAccess()

<<thing>>Document

-date-number-title-url+addPart()+buildDoc()+fillInTheBlanks()

0..1

-version

0..*

0..*1..*

0..* 1

0..1

-version

0..*

0..*

-part

0..*

0..*

0..*

1

0..* 0..*

-part

0..*

Page 8: Technical Overview

UML – Use Case Diagram Sample

Set Limits Update Accounts

Analyze Risk Evaluation

Capture Deal

Limits Exceeded

Price Deal

Accounting System

Trading Manager

Salesperson

External software

Trader

<<include>>

<<extend>>

<<include>>

Page 9: Technical Overview

UML – Sequence Diagram Sample

: Account: Order Taker : TicketDB: Sender

: Order

debit() 7:

request() 1:

return 3:

return 12:

anyFreeTickets() 2:

reserve() 6:

bonus() 8:

bonus() 9:

return 10:

return 13:

{free Tickets=value}

return [free Tickets == false] 5:

return 11:

4:

Page 10: Technical Overview

Diagramming Facilitations

Customizable and extendable design patterns Analysis wizards Setter/getter generators Implemented/overridden operation generators

MagicDraw provides a set of design facilitation tools:

Page 11: Technical Overview

GoF patterns

Adapter Composite Decorator Observer Proxy Singleton Visitor Bridge

Java EJB JUnit XML Schema WSDL CORBA IDL

Design Patterns

MagicDraw automatically generates your model parts in accordance with established design patterns.

Page 12: Technical Overview

Analysis Wizards

Package dependencies Class dependencies Derived classes

MagicDraw’s analysis wizards make it easy to trace:

Page 13: Technical Overview

Tracking Dependencies Among Model Packages

usermanagement

usermanagement

magiclibrary

Item

Attribute

com

access

access

access

librarian

admin

domain

jsp

User

Page 14: Technical Overview

Observer Pattern Application

Page 15: Technical Overview

Observer Pattern Application – the Result

Page 16: Technical Overview

Code Engineering

Reverse engineering Code generation Round-trip

Code engineering with MagicDraw consists of 3 major phases:

Page 17: Technical Overview

Reverse Engineering

Java Source code Binary code EJB 2.0

C# C++ CORBA IDL DDL script (DB modeling) CIL (MSIL) WSDL XML Schema

MagicDraw reverse engineers:

Page 18: Technical Overview

Code Generation

Java Source code EJB 2.0

C# C++ CORBA IDL DDL script (DB modeling) WSDL XML Schema

MagicDraw generates code for:

Page 19: Technical Overview

Round-trip

Work on your source code and model simultaneously. Synchronize them at your convenience.

Available for Java and C++

Button(java.awt)

-actionListener : java::awt::event::ActionListener-@base : java::lang::String = "button"-buttonSerializedDataVersion = 1-label : java::lang::String-nameCounter = 0-@serialVersionUID = -8774683716313001058L+addActionListener( l : java::awt::event::ActionListener )+addNotify()+Button( label : java::lang::String )+Button()+constructComponentName() : java::lang::String+eventEnabled( e : java::awt::AWTEvent )+getActionCommand() : java::lang::String+getLabel() : java::lang::String#paramString() : java::lang::String#processActionEvent( e : java::awt::event::ActionEvent )#processEvent( e : java::awt::AWTEvent )-readObject( s : java::io::ObjectInputStream )+removeActionListener( l : java::awt::event::ActionListener )+setActionCommand( command : java::lang::String )+setLabel( label : java::lang::String )-writeObject( s : java::io::ObjectOutputStream )

Label(java.awt)

-alignment = LEFT-@base : java::lang::String = "label"+@CENTER = 1+@LEFT = 0-nameCounter = 0+@RIGHT = 2-@serialVersionUID = 3094126758329070636L-text : java::lang::String+addNotify()+constructComponentName() : java::lang::String+getAlignment()+getText() : java::lang::String+Label( text : java::lang::String )+Label( text : java::lang::String, alignment )+Label()#paramString() : java::lang::String+setAlignment( alignment )+setText( text : java::lang::String )

String(java.lang)-actionCommand

Generate code

Reverse engineer

Page 20: Technical Overview

Teamwork Server

Fast team collaboration Simple configuration management Controlled access to your artifacts Optimal method for managing models and

resolving conflicts.

This dynamic MagicDraw add-on makes team collaboration a snap!

Page 21: Technical Overview

Projects on Teamwork Server

Page 22: Technical Overview

Managing User Permissions

Page 23: Technical Overview

Multi-User Collaboration

Page 24: Technical Overview

Field Recognition

MagicDraw Teamwork Project has been tested on hundreds of real projects; team sizes varied from 2 to 75 developers

Page 25: Technical Overview

Documentation

Full model report Software Design Document Use Case Specification document Model extension report Customizable

Predefined document types

HTML reports (browsable/printable) Rich Text format - RTF Portable Document Format - PDF PostScript - PS XSL based - XSL-FO

Output formats

Quickly produce comprehensive, professional documentation with MagicDraw’s report generation engine

Page 26: Technical Overview

Data interchange, Integrations

MagicDraw shares model and diagrams with: Rational Rose

TogetherSoft

XMI 1.2, XMI 1.1, XMI 1.0 and Unisys diagramming extensions compatible tool.

MagicDraw shares models with: Any XMI 1.2, XMI 1.1, XMI 1.0 compatible tool, supporting UML 1.4 DTD

MagicDraw integrates with: IBM’s Eclipse, WSAD

Sun ONE Studio

Borland’s JBuilder

NetBeans

IntelliJ IDEA

Page 27: Technical Overview

IDE Integration – Eclipse Example

Page 28: Technical Overview

Seamless Integration Example – Borland JBuilder

Page 29: Technical Overview

Summary

UML editing Code engineering UML model reporting OO model analysis Custom OO model generation Team modeling Database modeling

Versatile and easy to use, MagicDraw provides the powerful tools you need for: