technical overview. what is magicdraw? business analysts software analysts programmers qa...

29
Technical Overview

Upload: jody-hines

Post on 11-Jan-2016

234 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Technical Overview

Page 2: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

General Appearance

Page 5: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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.

Page 7: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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

Page 9: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Analysis Wizards

Package dependencies Class dependencies Derived classes

MagicDraw’s analysis wizards make it easy to trace:

Page 13: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Tracking Dependencies Among Model Packages

usermanagement

usermanagement

magiclibrary

Item

Attribute

com

access

access

access

librarian

admin

domain

jsp

User

Page 14: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Observer Pattern Application

Page 15: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Observer Pattern Application – the Result

Page 16: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Code Engineering

Reverse engineering Code generation Round-trip

Code engineering with MagicDraw consists of 3 major phases:

Page 17: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Projects on Teamwork Server

Page 22: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Managing User Permissions

Page 23: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Multi-User Collaboration

Page 24: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

IDE Integration – Eclipse Example

Page 28: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

Seamless Integration Example – Borland JBuilder

Page 29: Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful

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: