20
SE3414 RPL: Teknik Berorientasi Objek Unified Modeling Language (UML)

SE3414 RPL: Teknik Berorientasi Objek

  • Upload
    hang

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

SE3414 RPL: Teknik Berorientasi Objek. Unified Modeling Language (UML). What Is the UML?. The Unified Modeling Language (UML) is a language for Specifying Visualizing Constructing Documenting the artifacts of a software-intensive system. UML History. Fusion. Meyer. - PowerPoint PPT Presentation

Citation preview

Page 1: SE3414 RPL: Teknik Berorientasi Objek

SE3414RPL: Teknik Berorientasi Objek

Unified Modeling Language (UML)

Page 2: SE3414 RPL: Teknik Berorientasi Objek

What Is the UML? The Unified Modeling Language (UML) is a

language for Specifying Visualizing Constructing Documenting

the artifacts of a software-intensive system

Page 3: SE3414 RPL: Teknik Berorientasi Objek

UML History

Page 4: SE3414 RPL: Teknik Berorientasi Objek

Inputs to UML

Fusion

Operation descriptions,Message numbering

Meyer

Before and after conditions

Harel

State charts

Wirfs-Brock

Responsibilities

Embley

Singleton classes, High-level view

Odell

Classification

Shlaer - Mellor

Object Lifecycles

Gamma, et.al

Frameworks, patterns,notes

BoochJacobsonRumbaugh

Page 5: SE3414 RPL: Teknik Berorientasi Objek

The UML Provides Standardized Diagrams

DeploymentDiagram

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsStateDiagrams

ComponentDiagramsComponent

DiagramsComponentDiagrams

Model

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

Use CaseDiagramsUse Case

DiagramsActivityDiagrams

StateDiagramsState

DiagramsClassDiagrams

Page 6: SE3414 RPL: Teknik Berorientasi Objek

UML Diagrams Are Key System Artifacts

Actor A

Use Case 1

Use Case 2

Actor B

user : »ç¿ëÀÚ

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repositorydocument : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFi le ( )

3: create ( )

6: fi llDocument ( )

4: create ( )

8: fi llFil e ( )

GrpFile

read( )open( )create( )fillFile( )

rep

Repository

name : char * = 0

readDoc( )readF ile( )

(from Persistence)

FileM gr

fetchDoc( )sortByName( )

DocumentList

add( )delete( )

Document

name : intdocid : intnumField : int

get( )open( )close( )read( )sortFileList( )create( )fillDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read( ) fill the code..

UI

MFC

RogueWave

global

DocumentApp

Persistence W indow95

¹®¼ °ü¸® Ŭ¶óÀ̾ ðÆ® .EXE

W indowsNT

¹®¼ °ü¸ ® ¿£Áø.EXE

W indowsNT

W indows95

Solar is

ÀÀ¿ë¼ ¹ö.EXE

AlphaUNIX

IBM Mainframe

µ¥ÀÌŸº£À̽ º¼ ¹ö

W indow s95

¹®¼ °ü¸ ® ¾ÖÇ Ã¸ ´

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾ î¹ × ³×Æ®¿ ÷À¸·ÎÀÇ Á¤º¸ ½ ý ºÅÛ ¿¬°á ¸ðµ¨ - À© µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À© µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½ º ¸Ó½ Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥À ÌŸ ¼ ¹ö, Åë½ Å ¼ ¹ö - IBM ¸ÞÀÎÇÁ·¹ ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö

Document

FileManager

GraphicFileFile

Repository DocumentList

FileList

usermainWnd fileMgr :

FileMgrrepositorydocument :

DocumentgFile

1: D oc v iew reque s t ( )

2: fe tchDoc ( )

3 : c reate ( )

4: c reate ( )

5: rea dDoc ( )

6 : f ill Document ( )

7: read Fil e ( )

8: fi ll Fi le ( )

9: sortByN ame ( )

ƯÁ¤¹®¼ ¿¡ ´ëÇ Ñ º ±â¸¦ » ç¿ëÀÚ °¡ ¿äà »ÇÑ´Ù.

È ÀÏ°ü¸ ®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º ¸ ¦ Ç Ø´ç ¹®¼ ° ´Ã¼¿¡ ¼ ³Á¤À » ¿äû ÇÑ´Ù.

È é °´Ã¼´Â ÀÐ¾îµ éÀÎ °´Ã¼ µé¿¡ ´ë ÇØ À̸§ º°·Î Á¤·Ä À» ½Ã ÄÑ È é¿¡ º ¸¿©Á Ø Ù.

Customernameaddr

withdraw()fetch()send()

receive()

<<entity>>

Forward Engineering(Code Generation)and

Reverse Engineering

Executable System

User InterfaceDefinition

Domain Expert

Openning

Wr iting

ReadingClosing

add file [ num berOffile==MAX ] / flag OFF

add file

close file

close file

Use Case 3

Source Code edit, compile, debug, link

Use-Case Diagram Class Diagram

Collaboration Diagram

Sequence Diagram

Component Diagram

State Diagram

Package Diagram

Deployment DiagramClass

Page 7: SE3414 RPL: Teknik Berorientasi Objek

Arsitektur Sistem

Deployment ViewProcess View

Design View Implementation View

Use Case View

vocabularyfunctionality

performancescalabilitythroughput

behavior

system assemblyconfiguration mgmt.

system topologydistributiondeliveryinstallation

Page 8: SE3414 RPL: Teknik Berorientasi Objek

Representing Architecture: The 4+1 View Model

Process View

Deployment View

DesignView

Implementation View

Programmers Software management

PerformanceScalabilityThroughput

System IntegratorsSystem topology

Delivery, installationcommunication

System Engineering

Use-Case View

Structure

Analysts/Designers End-user

Functionality

Page 9: SE3414 RPL: Teknik Berorientasi Objek

Model Konseptual UML Building block (blok pembangun)

sintaks (dan semantik dari sintaks) dari bagian model dengan UML

Rulesaturan untuk membangun model dari berbagai bagian model

Common mechanismmekanisme pemodelan umum yang diterapkan di seluruh UML

Page 10: SE3414 RPL: Teknik Berorientasi Objek

Blok Pembangun pada UML Things

abstraksi dari apa yang akan dimodelkan Relationship

hubungan antar abstraksi (things) Diagrams

mengelompokkan kumpulan sejumlah abstraksi yang dihubungkan

Page 11: SE3414 RPL: Teknik Berorientasi Objek

Structural (berpadanan dengan kata benda)merepresentasikan aspek statis sistem

Behavioural (berpadanan dengan kata kerja)merepresentasikan aspek dinamis sistem

Groupingmenyatakan pengelompokan sejumlah abstraksi dengan organisasi tertentu

Annotationalmemberikan keterangan atas suatu abstraksi

Kategori Things

Page 12: SE3414 RPL: Teknik Berorientasi Objek

Structural Things (1)

Classdeskripsi dari kumpulan objek yang memiliki atribut, operasi, relasi, dan semantik yang sama

Interfacekumpulan operasi yang menyatakan layanan dari sebuah kelas

Page 13: SE3414 RPL: Teknik Berorientasi Objek

Structural Things (2) Collaboration

merupakan kumpulan peran dan elemen yang bekerja sama untuk menyediakan kelakuan kooperatif agregat

Use casedeskripsi dari aksi - aksi yang dilakukan sistem dan menghasilkan luaran kepada aktor (representasi fungsionalitas system)

Page 14: SE3414 RPL: Teknik Berorientasi Objek

Structural Things (3) Component

Bagian dari sistem, yang dapat diubah yang sesuai dan menyediakan realisasi interface tertentu

NodeElemen fisik yang ada saat run time dan mewakili sumber daya komputasi (kemampuan memori dan pemroses)

Page 15: SE3414 RPL: Teknik Berorientasi Objek

Behavioral Things

Merupakan bagian dinamik dari model UML

Biasanya terhubung dengan model struktural.

Didefiniskan dengan menggunakan verb (kata kerja).

Page 16: SE3414 RPL: Teknik Berorientasi Objek

Ada 2 macam Behavioral ThingsInteractionkelakuan yang terdiri dari sekumpulan pesan yang saling dipertukarkan antar sekumpulan objek dalam konteks tertentu untuk mencapai tujuan tertentu

display

State Machinekelakuan yang menspesifikasikan urutan state dari objek atau interaksi yang terjadi selama hidup objek tersebut dalam menyikapi event dan tanggapannya terhadap event-event tersebut

WaitingIdle

Page 17: SE3414 RPL: Teknik Berorientasi Objek

Packages - Mekanisme untuk mengorganisasi elemen

- Konseptual, hanya ada pada waktu pengembangan

- Berisi structural dan behavioral things- Dapat bersarang- Variasi package: framework, model, &

subsystem.

Meeting Scheduler

Grouping

Page 18: SE3414 RPL: Teknik Berorientasi Objek

Annotational Things

flexible drop-out dates

NotesElemen UML yang digunakan untuk memberi keterangan elemen lain pada model

Page 19: SE3414 RPL: Teknik Berorientasi Objek

Use case Diagram Class Diagram/ Object Diagram Behavioral Diagram :

Statechart Diagram Activity Diagram Interaction Diagram :

Sequence Diagram Collaboration Diagram

Implementation Diagram : Component Diagram Deployment Diagram

Artifact UML

Page 20: SE3414 RPL: Teknik Berorientasi Objek

Penggunaan Artifact UML Menggambarkan batasan sistem dan fungsi-

fungsi utamanya dengan use case diagram Buat realisasi use case dengan interaction

diagram Gambarkan struktur statik sistem dengan class

diagram Modelkan perilaku objek dengan state diagram

dan activity diagram Gambarkan arsitektur implementasi dengan

component diagram dan deployment diagram Perluas fungsionalitas dengan stereotypes