Technical Overview. What Is MagicDraw? Business Analysts Software Analysts Programmers QA...

Preview:

Citation preview

Technical Overview

What Is MagicDraw?

Business Analysts Software Analysts Programmers QA Engineers Documentation Writers

MagicDraw is a powerful UML modeling tool designed for:

Overview of the Presentation

UML diagramming Design facilitations Code engineering Teamwork Documentation Data interchange Integrations

In this presentation we will overview:

General Appearance

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 

Robustness Diagram

WAE Diagram

CORBA IDL Diagram

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

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

UML – Use Case Diagram Sample

Set Limits Update Accounts

Analyze RiskEvaluation

Capture Deal

Limits Exceeded

Price Deal

Accounting System

Trading Manager

Salesperson

External software

Trader

<<include>>

<<extend>>

<<include>>

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:

Diagramming Facilitations

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

MagicDraw provides a set of design facilitation tools:

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.

Analysis Wizards

Package dependencies Class dependencies Derived classes

MagicDraw’s analysis wizards make it easy to trace:

Tracking Dependencies Among Model Packages

usermanagement

usermanagement

magiclibrary

Item

Attribute

com

access

access

access

librarian

admin

domain

jsp

User

Observer Pattern Application

Observer Pattern Application – the Result

Code Engineering

Reverse engineering Code generation Round-trip

Code engineering with MagicDraw consists of 3 major phases:

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:

Code Generation

Java Source code EJB 2.0

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

MagicDraw generates code for:

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

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!

Projects on Teamwork Server

Managing User Permissions

Multi-User Collaboration

Field Recognition

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

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

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

IDE Integration – Eclipse Example

Seamless Integration Example – Borland JBuilder

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:

Recommended