technical overview. what is magicdraw? business analysts software analysts programmers qa...
TRANSCRIPT
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: