MagicDraw UML - UMLChina-
Download
Report
Transcript MagicDraw UML - UMLChina-
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
Design facilitations
Code engineering
Teamwork
Documentation
Data interchange
Integrations
General Appearance
Unified Modeling Language
MagicDraw supports UML 1.4 semantics and notation.
You can draw these diagrams:
Structural Diagrams
Class Diagram
Object Diagram
Component Diagram
Deployment Diagram
Behavior Diagrams
Use Case Diagram
Sequence Diagram
Activity Diagram
Collaboration Diagram
Model Management Diagrams
Statechart Diagram
Package Diagram
Subsystem Diagram
Model Diagram
UML Extensions
UML Extension Diagrams
Robustness Diagram
WAE Diagram
CORBA IDL Diagram
XML Schema Diagram
WSDL Diagram
Content Diagram
Ability to construct and use your
own custom diagram based on
UML diagram
Explicit support for UML profiles.
UML – Class Diagram Sample
<<moment-interval>>
<<thing>>
DocumentBuild
Document
-archiveURL : DocumentActivity::DocumentBuild
-date : DocumentActivity::DocumentBuild
-url : DocumentActivity::DocumentBuild
+archive()
+cancel()
+complete()
+makeDocumentBuild()
+retrieve()
0..*
1
<<moment-interval>>
DocumentAccess
-version
1..*
-date
-number
-title
-url
0..*
-interval
-status
0..*
-part
+addPart()
+buildDoc()
+fillInTheBlanks()
0..* 0..1
+cancel()
+complete()
+makeDocumentAccess()
0..*
0..*
1
-version
<<description>>
DocumentTemplate
0..*
-defaultContent : Document::DocumentTemplate
-name : Document::DocumentTemplate
-number : Document::DocumentTemplate
-rationale : Document::DocumentTemplate
-type : Document::DocumentTemplate
-part
0..*
+addPart() : Document::DocumentTemplate
+generateAFillInTheBlanksDocument() : Document::DocumentTemplate
+getPart()
0..*
0..1
0..*
0..*
<<role>>
StandardsBody
+listConstructionStandards() : RelMgmt::OrgRole::StandardsBody
+listDocumentStandards() : RelMgmt::OrgRole::StandardsBody
UML – Use Case Diagram Sample
External software
Set Limits
Update Accounts
Trading Manager
Analyze Risk
<<include>>
Evaluation
Accounting System
<<include>>
Price Deal
Trader
Salesperson
Capture Deal
<<extend>>
Limits Exceeded
UML – Sequence Diagram Sample
: Account
: TicketDB
: Order Taker
: Sender
1:request()
2:anyFreeTickets()
3:return
4:
: Order
6:reserve()
[free Tickets == false] 5:return
7:debit()
{free Tickets=value}
8:bonus()
9:bonus()
11:return
13:return
12:return
10:return
Diagramming Facilitations
MagicDraw provides a set of design facilitation
tools:
Customizable and extendable design patterns
Analysis wizards
Setter/getter generators
Implemented/overridden operation generators
Design Patterns
MagicDraw automatically generates your model parts in
accordance with established design patterns.
GoF patterns
Adapter
Composite
Decorator
Observer
Proxy
Singleton
Visitor
Bridge
Java
EJB
JUnit
XML Schema
WSDL
CORBA IDL
Analysis Wizards
MagicDraw’s analysis wizards make it easy to trace:
Package dependencies
Class dependencies
Derived classes
Tracking Dependencies Among Model Packages
Item
domain
usermanagement
access
librarian
Attribute
User
access
usermanagement
com
magiclibrary
admin
jsp
access
Observer Pattern Application
Observer Pattern Application – the Result
Code Engineering
Code engineering with MagicDraw consists of 3
major phases:
Reverse engineering
Code generation
Round-trip
Reverse Engineering
MagicDraw reverse engineers:
Java
Source code
Binary code
EJB 2.0
C#
C++
CORBA IDL
DDL script (DB modeling)
CIL (MSIL)
WSDL
XML Schema
Code Generation
MagicDraw generates code for:
Java
Source code
EJB 2.0
C#
C++
CORBA IDL
DDL script (DB modeling)
WSDL
XML Schema
Round-trip
Work on your source code and model
simultaneously. Synchronize them at your
convenience.
Button
(java.awt)
String
-actionCommand (java.lang)
-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
Generate code
(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 )
Reverse engineer
Available for Java and C++
Teamwork Server
This dynamic MagicDraw add-on makes team
collaboration a snap!
Fast team collaboration
Simple configuration management
Controlled access to your artifacts
Optimal method for managing models and
resolving conflicts.
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
Quickly produce comprehensive, professional
documentation with MagicDraw’s report generation engine
Predefined document types
Full model report
Software Design Document
Use Case Specification document
Model extension report
Customizable
Output formats
HTML reports (browsable/printable)
Rich Text format - RTF
Portable Document Format - PDF
PostScript - PS
XSL based - XSL-FO
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
Versatile and easy to use, MagicDraw
provides the powerful tools you need for:
UML editing
Code engineering
UML model reporting
OO model analysis
Custom OO model generation
Team modeling
Database modeling