pd sybase oo

Upload: alexgino1477a

Post on 14-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 PD Sybase OO

    1/19

    PowerDesigner

  • 7/30/2019 PD Sybase OO

    2/19

    2

    Why Using UML?

    Visually define and communicate the structure and

    behavior of an application

    Represent systems using Object-Oriented concepts

    Link OO concepts to executable code

  • 7/30/2019 PD Sybase OO

    3/19

    3

    Brief Overview of UML UML is defined by OMG.

    UML consists of 9 diagrams:

    Static

    Class diagram

    Object diagram Dynamic

    Use Case diagram

    Sequence diagram

    Statechart diagram Collaboration diagram

    Activity diagram Implementation

    Component diagram

    Deployment diagram

  • 7/30/2019 PD Sybase OO

    4/19

    4

    UML Support in PowerDesigner

    PowerDesigner supports all nine UML diagrams

    PowerDesigner supports UML 1.4

    Future version of PowerDesigner will support UML 2.0

  • 7/30/2019 PD Sybase OO

    5/19

    5

    Use Case Diagram

    A Use Case Diagram describes the Actors, the Use Cases and

    the interaction between the Actors and the Use Cases.

    Logon

    Logoff

    CustomerShip To Address

    Purchase

    Display Catalog

    List Orders

    List Cart

    News

    Shipping

  • 7/30/2019 PD Sybase OO

    6/19

    6

    Collaboration Diagram

    A Collaboration Diagram describes the interaction between

    objects (instance of classes) by exchanging messages.

    Collaboration Diagram can be used to identify classes and

    operations

    2.2: OK

    1: Login

    Customer

    Main page

    Validate Login

    Display Catalog

    4: Purchase

    2.2: OK

    3: Product List

    2.1: Error

    1: Login

    Customer

    Main page

    Validate Login

    Display Error

    Display Catalog

    Add in Shopping Cart

  • 7/30/2019 PD Sybase OO

    7/197

    Sequence Diagram

    A Sequence Diagram describes the interaction between

    objects and how the messages are exchanged over time.

    Sequence Diagram is used to identify classes and

    operations

    open

    4: Purchase

    2.2: OK

    3: Product List

    2.1: Error

    1: Login

    Main page

    Validate LoginDisplay Error

    Display CatalogAdd in Shopping Cart

    Customer

  • 7/30/2019 PD Sybase OO

    8/198

    Activity Diagram

    An Activity Diagram describes the

    logic and the control flow of a Use

    Case, an Operation or another Activity.

    [No]

    [Yes]

    Main Page

    Login

    Display Catalog

    Purchase

    Select Product

    OK?Login Error

    Purchase Products

    Action Steps

    Check Out

  • 7/30/2019 PD Sybase OO

    9/199

    Statechart Diagram

    A Statechart Diagram is used to model the States and

    Transitions of a Class

    Intial

    Play

    Pause

  • 7/30/2019 PD Sybase OO

    10/1910

    Object Diagram

    An Object Diagram shows the relationships between

    Object Instances

    :Customer

    id

    name

    = 101

    = "XiaoYun Wang"

    :Order

    id

    date

    = 1

    = 3/25/2004

  • 7/30/2019 PD Sybase OO

    11/1911

    Class Diagram

    A Class Diagram defines the Classes, Interfaces, Attributes,

    Operations, Relationships, Inheritances,

    A Class Diagram can be used to define persistent objects,

    control objects and user-interface objects. A Class Diagram can be used to generate the Physical Data

    Model and the application implementation code.

    0..*

    peripheral

    0..1

    personalcomputers

    parallelPeripheral

    +

    +

    +

    periphId

    periphCodeName

    vendorName

    : String

    : String

    : String

    ++

    ++

    registerPeriph ()testPort ()

    testPwSupply ()testMotherBd ()

    : void: void

    : void: void

    printer

    +

    +

    laser

    printSpeed

    : boolean

    : int

    + printPage () : void

    scanner

    ++

    flatBedresolution

    : boolean: int

    ++

    ++

    +

    preview ()registerPeriph ()

    testPort ()testPwSupply ()

    testMotherBd ()

    : void: void

    : void: void

    : void

    Peripheral

    ++

    +

    +

    registerPeriph ()testPort ()

    testPwSupply ()

    testMotherBd ()

    : void: void

    : void

    : void

    peripheral tester

    +

    +

    +

    test #

    testName

    testDate

    : int

    : String

    : java.util.Date

    + printReport () : void

    Computer

    +

    +

    serial #

    ownerName

    : String

    : String

  • 7/30/2019 PD Sybase OO

    12/1912

    Component Diagram

    A Component Diagram can be used to define the components

    you need to create for an application

    A Component can use Classes, Interfaces

    PowerDesigner uses Components to represent EJBs,Servlets, JSPs, ASPs and Web Services

    Product

    EntityBean_CMP

    GetProductList

    Servlet

    GetProductPageJSP

  • 7/30/2019 PD Sybase OO

    13/1913

    Deployment Diagram

    A Deployment Diagram is used to define the deployment

    architecture

    Deployment Diagram shows the Nodes (machines, servers),

    the Component Instances deployed in a Node and the Linksbetween Nodes

    Jaguar

    easerver.sybase.com

    CustomerBean

    OrderBean

    ProductBean

    Web Service

    158.126.19.3

    CRM

  • 7/30/2019 PD Sybase OO

    14/1914

    Object/Relational (O/R) Mapping

    Generate a Class Diagram from a Physical Data Model

    with O/R mapping

    Generate a Physical Data Model from a Class Diagram

    with O/R mapping Manually define complex O/R mapping

    Generate select, insert, update, delete SQL statements

    Use O/R mapping to generate EJB CMP (WebLogic,WebSphere, EAServer), JDO, Cocobase, .NET (future)

  • 7/30/2019 PD Sybase OO

    15/1915

    O/R Mapping Example

    Generate O/R mapping when

    generating a PDM from an OOM

    Use O/R mapping to generate SQL

  • 7/30/2019 PD Sybase OO

    16/1916

    Java Support Provide wizards to automatically create EJBs, Servlets, JSPs,

    Web Services

    Generate and reverse engineer Java code

    Generate collection management accessor functions Generate deployment descriptors

    Generate O/R mapping descriptor for WebLogic, WebSphere,

    EAServer, JDO, JBoss (future)

    Generate project files for JBuilder and Eclipse Generate Ant script to compile, package and deploy J2EE

    application

  • 7/30/2019 PD Sybase OO

    17/19

    17

    CustomerBean

    {abstract}

    -

    -

    -

    -

    -

    id

    name

    email

    phone

    ejbContext

    : java.lang.Integer

    : java.lang.String

    : java.lang.String

    : java.lang.String

    : EntityContext

    +

    +

    +

    ++

    +

    +

    +

    CustomerBean ()

    ejbActivate ()

    ejbLoad ()

    ejbPassivate ()ejbRemove ()

    ejbStore ()

    setEntityContext (..)

    unsetEntityContext ()

    : void

    : void

    : void: void

    : void

    : void

    : void

    CustomerPK

    - id : java.lang.Integer

    +

    +

    +

    CustomerPK ()

    equals (..)

    hashCode ()

    : boolean

    : int

    Customer

    CustomerLocal

    CustomerHome

    + findByPrimaryKey (..) : Customer

    CustomerLocalHome

    + findByPrimaryKey (..) : CustomerLocal

    Example of EJB

    EJB wizard

    EJB Classes and Interfaces

    Customer

    EntityBean_CMP

    EJB Component

  • 7/30/2019 PD Sybase OO

    18/19

    18

    .NET Support

    Reverse engineer C# and Visual Basic .NET code

    Reverse engineer .NET binary code in C# or VB .NET

    Generate C# and VB .NET code

    Generate collection management accessor functions Generate Visual Studio .NET project files

    Create Web Services for C# or VB .NET (.asmx files)

  • 7/30/2019 PD Sybase OO

    19/19

    19

    Code Generation

    Templates and macros based

    code generator

    Generate Java, C#, VB .NET,

    VB, C++, PowerBuilder, User could add their own

    code generation templates

    C# code preview