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