RPL-1-Tujuh (Class Diagram)(1)

Embed Size (px)

Citation preview

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    1/39

    Rekayasa Perangkat Lunak 1

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    2/39

    name

    attribute(s)

    method(s)

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    3/39

    OBJECTS, OBJECTS EVERYWHERE

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    4/39

    NAME

    Car

    OPERATION

    accelerate

    breaking

    turn left

    turn right

    ATTRIBUTEbrand name

    model name

    serial number

    engine capacity

    Car

    brandName

    modelName

    serialNumberengineCapacity

    accelerate()

    breaking()

    turnLeft()

    turnRight()

    Classfacts

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    5/39

    Car

    brandName

    modelName

    serialNumber

    engineCapacity

    accelerate()

    breaking()

    turnLeft()

    turnRight()

    abstraction

    Class Name

    Attribute(s)

    Method(s)

    (operation)

    icon

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    6/39

    Car

    brandName

    modelName

    serialNumberengineCapacity

    accelerate()

    breaking()

    turnLeft()

    turnRight()

    Car

    brandName

    modelName

    serialNumber

    engineCapacity

    Car

    accelerate()

    breaking()

    turnLeft()

    turnRight()

    Car

    Car

    brandName

    modelName

    serialNumberengineCapacity

    Car Car

    CarbrandName

    . . .

    Accelerate()

    . . .

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    7/39

    Class Name

    Attribute(s)

    Method(s)

    (operation)

    Type in Boldface

    &

    Centered

    Describe the characteristics

    Used to manipulate the

    attributes or to perform

    other actions.

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    8/39

    Attributes

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    9/39

    For ListeningAttributes with Type

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    10/39

    Attribute with Type & Default/Initial Value

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    11/39

    Method/function/operation

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    12/39

    Method with type

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    13/39

    Method with type & return parameter

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    14/39

    Method with type & return parameter type

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    15/39

    Superclass

    Subclass

    Inheritance

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    16/39

    EitherWay

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    17/39

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    18/39

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    19/39

    How do we structure these classes?

    Employee

    firstName

    lastName

    address

    salary

    Manager

    firstName

    lastName

    address

    salary

    supervisingDepartment

    Person

    firstName

    lastName

    address

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    20/39

    Vehicle

    LandVehicle WaterVehicle

    Car ShipAmphibianVehicle

    Generalization / Specialization

    MultipleInheritance

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    21/39

    Whole

    Part relationship

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    22/39

    Car

    Engine Wheel Cabin

    aggregation

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    23/39

    Compose-of relationship

    C i i

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    24/39

    Hand

    Finger

    Composition

    Company

    Department

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    25/39

    Person

    Body Leg Hand

    C iti A ti

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    26/39

    Buku

    Bab

    Paragraf

    Kalimat

    Buku

    Bab

    Paragraf

    Kalimat

    Which

    One ?

    Composition Aggregation

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    27/39

    Universitas

    Fakultas

    ProgramStudi

    DosenSekretariat

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    28/39

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    29/39

    Multiplicity

    A i ti M lti li it

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    30/39

    Association Multiplicity

    Some examples of specifying multiplicity:Exactly one 1

    1..1

    Zero or more 0..*

    *One or more 1..*

    A range of values 1..6

    A set of ranges 7..10

    19..*

    A i ti

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    31/39

    Association

    Association Navigation

    Sometimes we want to model explicitly the fact that an

    association is uni-directional.

    Car Engine

    Car Engine

    have

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    32/39

    Association

    Association and Role

    We can name explicitly the role a class in an association.

    Company Person

    employer employee

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    33/39

    Association

    Association, Name of Association, and Role

    Company Person

    hires

    employer employee

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    34/39

    Association

    Association, Name of Association, Role , and Multiplicity

    Company Person

    hires

    employer employee

    1 . . *0 . . 1

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    35/39

    Association

    Association, Name of Association, Role , and Multiplicity

    Company Personhires

    employer employee

    1 . . *0 . . 1

    1

    *

    supervisor

    worker

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    36/39

    Association

    Company Person

    1 . . *0 . . 1

    Association Classes

    Sometimes we want to treat an association between two

    classes, as a class in its own right, with its own attributes

    and operations.

    Riwayat Kerja

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    37/39

    Association

    Company Person

    1 . . *0 . . 1

    Riwayat Kerja

    masaKerja

    gajiTerakhir

    Association

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    38/39

    Association

    Student Course**

    Class

    day: string

    time: time

    grade:integer

  • 7/31/2019 RPL-1-Tujuh (Class Diagram)(1)

    39/39

    For Listening