98
Teknik Analisis dan Desain Ali Tarmuji T. Informka UAD 1 Ali Tarmuji Email: [email protected] ID YM: alitarmuji

Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

  • Upload
    votu

  • View
    226

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Teknik Analisis danDesain

Ali Tarmuji

T. Informka UAD 1

Ali Tarmuji Email: [email protected]

ID YM: alitarmuji

Page 2: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Teknik Informatika - FTI

TEKNIK ANALISIS USE CASE

Universitas Ahmad Dahlan 2

Page 3: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Analisa Use CaseAnalisa Use-Case adalah aktivitas yang dilakukan pada tahapan Analyze Behaviour

Teknik Informatika - FTI

Universitas Ahmad Dahlan 3

Page 4: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Overview Analisis Use CaseTujuan Analisa Use-Case: Mengidentifikasi class-class

yang akan melaksanakan use-case

Mendistribusikan behaviour use-case ke class-class mengunakan use-case realization

Mengidentifikasi

Teknik Informatika - FTI

Mengidentifikasi responsibility,attribut, dan association dari class-class

Input:Glossary,Use-Case diagram,Identifikasi Use-Case Realization,Dokumen Arsitektur SoftwareOutput: Class-class Analisis,Model Analisis dan Use-Case Realization yang sudah dikembangkan

Universitas Ahmad Dahlan 4

Page 5: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class dari perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan Atribut dan Association Jelaskan responsibility Membatasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 5

Page 6: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Melengkapi penjelasan use case

Teknik Informatika - FTI

Tujuan dari aktifitas melengkapi penjelasan use-case ini adalah untuk mendapatkan informasi tambahan yang diperlukan untuk memahami perilaku internal yang dibutuhkan yang mungkin tidak tertulis di deskripsi use-caseInformasi ini akan digunakan untuk membantu pengalokasian responsibility

Universitas Ahmad Dahlan 6

Page 7: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class dari perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan Atribut dan Association Jelaskan responsibility Membatasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 7

Page 8: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : ClassSebuah AbstraksiMenjelaskan sekumpulan object, meliputi: Properties (atribute) Behaviour (operation)

Teknik Informatika - FTI

Behaviour (operation) Relationship Semantics

Universitas Ahmad Dahlan 8

Page 9: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : Use case realization

Teknik Informatika - FTI

Universitas Ahmad Dahlan 9

Page 10: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Analisis Class : langkah pertama ke arah executable

Teknik Informatika - FTI

Penemuan class adalah langkah pertama dalam perubahan system dari hanya sekedar pernyataan behaviour yang dibutuhkan ke sebuah deskripsi bagaimana system akan bekerja

Universitas Ahmad Dahlan 10

Page 11: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Mencari class berdasarkan behaviour use case

Behaviour lengkap dari sebuah use case harus didistribusikan ke class analisisClass analisis menangani kebutuhan fungsional primerTeknik penemuan kandidat class analisis menggunakan tiga perspektif system yang berbeda, antara lain: Batas(boundary) antara system dan aktornya

Teknik Informatika - FTI

Batas(boundary) antara system dan aktornya Informasi yang digunakan system Lojik pengendali system

Tiga aspek system tersebut kemungkinan akan mengalami perubahanPrespektif system ini visualisasikan dengan penggunaan stereotype(misalnya, boundary, control dan entity)

Universitas Ahmad Dahlan 11

Page 12: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Class Analisis

Teknik Informatika - FTI

Universitas Ahmad Dahlan 12

Page 13: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Boundary ClassMenjadi perantara antara interface dan sesuatu di luar systemTipenya : User interface class: class yang menjadi perantara komunikasi dengan

pengguna system, dimana pengguna ini adalah manusia System interface class: class yang menjadi perantara komunikasi

dengan system lain/system eksternal Device interface class: class yang menyediakan antarmuka ke peralatan

yang mendeteksi event eksternal

Teknik Informatika - FTI

Device interface class: class yang menyediakan antarmuka ke peralatan yang mendeteksi event eksternal

Satu boundary class untuk tiap-tiap actor

Universitas Ahmad Dahlan 13

Page 14: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Tugas dari Class Boundary

Teknik Informatika - FTI

Class Boundary digunakan untuk memodelkan bagian system yang tergantung pada lingkungan disekitarnya(aktor atau system eksternal)Karena class boundary ini berfungsi untuk memisahkan mekanisme system internal dengan lingkungan eksternal disekitarnya, maka perubahan pada GUI atau protokol komunikasi, seharusnya hanya merubah class boundary tanpa merubah class control dan entityGambar diatas memodelkanInteraksi antara system dan lingkungannya

Universitas Ahmad Dahlan 14

Page 15: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Pencarian boundary classDalam menentukan class Boundary, pertimbangkan semua event eksternal dan pastikan ada cara bagi system untuk mendeteksi event tersebut.Sebaiknya, hanya satu boundary class untuk tiap aktor. Hal ini sangat sesuai untuk aplikasi dengan GUI berbasis window dimana biasanya hanya ada satu class boundary untuk masing-masing window.

Teknik Informatika - FTI

Universitas Ahmad Dahlan 15

Page 16: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Petunjuk : Boundary Class

Class User Interface Berkonsentrasi pada informasi apa yang akan ditampilkan

kepada user Tidak terlalu memperhatikan pada detil UI

Class System dan Device Interface

Teknik Informatika - FTI

Class System dan Device Interface Berkonsentrasi pada protokol apa yang harus didefinisikan Tidak terlalu memperhatikan tentang bagaimana protokol

akan diimplementasikan Jika interface ke existing system atau device sudah

didefinisikan, maka responsibility class boundary harus diturunkan langsung dari definisi interface tersebut.

Universitas Ahmad Dahlan 16

Page 17: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Entity Class

Teknik Informatika - FTI

Class Entity merepresentasikan konsep utama dari system yang akan dikembangkanClass Entity menunjukkan struktur data lojik.Sumber ide untuk class entity bisa berasal dari Glossary, aliran event use-case dan key abstraction yang telah didefinisikan pada tahapan analisa arsitektur

Universitas Ahmad Dahlan 17

Page 18: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Peranan Entity Class

Teknik Informatika - FTI

Class Entity merepresentasikan penyimpanan pengupdate-an informasi di dalam systemInformasi tersebut meliputi kejadian dan atau orangBiasanya sebuah entity tidak spesifik ke satu Use-Case Realization.

Universitas Ahmad Dahlan 18

Page 19: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : menemukan entity class

Gunakan aliran event use case sebagai inputKey Abstraction dari use caseSecara tradisional, menggunakan pendekatan pemfilteran kata benda:

Teknik Informatika - FTI

Garis bawahi klausa kata benda di dalam aliran event use case

Buang kandidat yang redundant Buang kandidat yang tidak jelas Buang aktor Buang pembangun implementasi Buang atribut Buang operation

Universitas Ahmad Dahlan 19

Page 20: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Kandidat entity class

Teknik Informatika - FTI

Contoh diatas adalah class entity untuk use case pendaftaran mata kuliah (buat jadwal)Setelah menentukan kandidat class entity, definisikan masing-masing class tersebut. Sebagai contoh: CourseOffering adalah penawaran yang spesifik untuk sebuah kelas, termasuk hari dan

jamnya Schedule adalah kelas yang dipilih oleh mahasiswa untuk semester sekarang Studen adalah orang yang telah mendaftar dalam kelas di suatu universitas

Universitas Ahmad Dahlan 20

Page 21: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Class ControlClass Control mengkoordinasikan perilaku object-object di dalam systemClass control dapat men-decouple antara class entity dan boundary secara efektif, sehingga akan memudahkan perubahan dan reusable object.Class control menyediakan behaviour yang: Tidak tergantung pada sekitarnya Mendefinisikan control logic Hanya berubah sedikit jika ada perubahan di class entity

Menggunakan atau men-set beberapa class entity sehingga butuh untuk

Teknik Informatika - FTI

Menggunakan atau men-set beberapa class entity sehingga butuh untuk mengkoordinasika perilaku class-class entity ini

Untuk use-case yang kompleks, dibutuhkan satu atau lebih class controlContoh class control: pengatur transaksi, koordinator resource dan error handler

Universitas Ahmad Dahlan 21

Page 22: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Peranan Control Class

Teknik Informatika - FTI

Sebuah Class Control bertugas sebagai pengendali behaviour yang spesifik untuk satu atau lebih use caseSebuah class control dapat terlibat dalam beberapa use case atau dalam satu use case dapat terlibat beberapa class control

Universitas Ahmad Dahlan 22

Page 23: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Penemuan Control ClassDisarankan untuk menggunakan satu control class untuk tiap use caseMasing-masing class control bertanggung jawab untuk mengendalikan pemrosesan yang mengimplementasikan fungsi-fungsi yang dideskripsikan dalam use case yang terhubung

Teknik Informatika - FTI

Universitas Ahmad Dahlan 23

Page 24: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Ringkasan : Analisis class

Teknik Informatika - FTI

Universitas Ahmad Dahlan 24

Page 25: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class untuk perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan Atribut dan Association Jelaskan responsibility Membatasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 25

Page 26: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Mendistribusikan perilaku use case ke class

Tujuan mendistribusikan perilaku use-case ke class-class analysis adalah untuk: Menyatakan perilaku use case dalam suatu kolaborasi class analysis Menentukan tanggung jawab class-class analysis

Pengidentifikasian tanggung jawab class analisis terhadap perilaku yang diperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event use case dapat

Teknik Informatika - FTI

dari use case, dimana untuk masing-masing aliran event use case dapat dilakukan: Pengidentifikasian class analisis penentuan use case responsibility ke analisis class Pemodelan interaksi analisis class dalam interaction diagram

Universitas Ahmad Dahlan 26

Page 27: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Petunjuk : Pengalokasian responsibility ke class-class

Gunakan stereotype class analisis sebaai sebuah petunjuk Class Boundary

Teknik Informatika - FTI

Class Boundary Perilaku yang melibatkan komunikasi dengan

aktor

Class Entity Perilaku yang melibatkan data yang

dienkapsulasi dalam sebuah abstraction

Class Control Perilaku yang spesifik untuk sebuah use case

atau bagian aliran event yang sangat penting Universitas Ahmad Dahlan 27

Page 28: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Petunjuk : Pengalokasian responsibility ke class-class

Hal-hal yang mempengaruhi dimana responsibility diletakkan adalah lokasi data yang dibutuhkan untuk melakukan operationCara untuk menentukan class yang memiliki data yang dibutuhkan untuk melaksanakan responsibility adalah Jika Satu class memiliki data, maka letakkan responsibility itu

bersama data itu

Teknik Informatika - FTI

bersama data itu Jika beberapa class yang memiliki data, maka:

Letakkan responsibilitynya pada sebuah class dan tambahkan relationship dengan yang lainnya

Buat class baru, letakkan responsibilitynya pada class baru tersebut dan tambahkan relationship ke class yang akan melaksanakan responsibility

Letakan responsibility dalam class control dan hubungkan dengan class yang membutuhkan untuk melaksanakan responsibilitynya

Universitas Ahmad Dahlan 28

Page 29: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Anatomy Sequence Diagram

Teknik Informatika - FTI

Sequence diagram mendeskripsikan pola interaksi antar object yang diatur dalam sebuah urutan kronologi. Diagram ini menunjukkan objet-object yang terlibat dalam interaksi serta message yang dikirimObject digambarkan dengan garis vertikal putus-putus yang disebut dengan lifelineMessage adalah komunikasi antar object yang membawa informasi dari suatu lifeline object ke lifeline object lainFocus of Control merepresentasikan waktu relatif dimana flow of control difokuskan dalam sebuah objectHirarchical numbering menunjukkan ketergantungan sebuah message ke message yang lainScript mendeskripsikan flow of event secara tekstual

Universitas Ahmad Dahlan 29

Page 30: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Sequence Diagram

Teknik Informatika - FTI

Universitas Ahmad Dahlan 30

Page 31: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Anatomy Collaboration Diagram

Teknik Informatika - FTI

Collaboration Diagram mendeskripsikan pola interaksi antar object. Diagram ini menunjukkan object-object yang terlibat dalam interaksi melalui link dan message yang dikirim antar objectObject dapat direpresentasikan: NamaObject:NamaClass NamaObject :NamaClass

Link adalah hubungan antar object yang dapat digunakan untuk mengirim message. Link digambarkan dengan garis solid antar dua objectMessage : pengertiannya sama dengan message pada sequence diagram

Universitas Ahmad Dahlan 31

Page 32: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Collaboration Diagram

Teknik Informatika - FTI

Universitas Ahmad Dahlan 32

Page 33: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Satu Interaction Diagram Masih belum cukup

Untuk memodelkan aliran event, mulai denga aliran dasar yang paling penting.

Teknik Informatika - FTI

Untuk memodelkan aliran event, mulai denga aliran dasar yang paling penting. Kemudian deskripsikan aliran yang lainnnya seperti aliran exceptional dan optional.Contoh aliran exceptional: Error handling Time-out handling Erroneus input handling

Contoh aliran optional: Aktor memutuskan berdasarkan sejumlah pilihan Urutan aliran event tergantung pada nlai attribut yang tersimpan Urutan aliran event tergantung pada tipe data yang harus diproses

Universitas Ahmad Dahlan 33

Page 34: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Collaboration vs Sequence Diagram

Collaboration Diagram Menunjukkan hubungan

disamping interaksi Lebih baik untuk

memvisualisasikan

Sequence Diagram Menunjukkan urutan

message secara eksplisit Lebih baik dalam

memvisualisasikan

Teknik Informatika - FTI

memvisualisasikan pattern of collaboration

Lebih baik untuk memvisualisasikan semua efek dari object yang diberikan

Lebih mudah digunakan untuk sesi brainstorming

memvisualisasikan keseluruhan aliran

Lebih baik dalam memvisualisasikan spesifikasi yang real time dan scenario yang kompleks

Universitas Ahmad Dahlan 34

Page 35: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class untuk perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan responsibility Jelaskan Atribut dan Association Membatasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 35

Page 36: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Penjelasan tentang responsibilityResponsibility adalah pernyataan tentang sesuatu yang harus disediakan oleh suatu object. Responsibility ini dapat diturunkan dari message. Responsibility ini selanjutnya dapat berkembang menjadi operation dalam class desain, dimana dapat dikarakteristikkan sebagai: Action yang dapat dilakukan oleh object Knowledge yang dimaintain object dan disediakan untuk object lain

Responsibility class analysis dapat dituliskan sebagai ‘analysis’ operation dimana berdasarkan konvensi penamaan,diawali dengan tanda ‘//’

Teknik Informatika - FTI

dimana berdasarkan konvensi penamaan,diawali dengan tanda ‘//’

Universitas Ahmad Dahlan 36

Page 37: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : VOPC(View of Participating Class) Class Diagram

Class Diagram VOPC berisi class-class yang instance-nya(objectnya) terlibat dalam Interaction Diagram Use-Case Realization

Teknik Informatika - FTI

Universitas Ahmad Dahlan 37

Page 38: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Menjaga Konsistensi : Apa yang harus dicari

Dalam rangka mengkritisi : Responsibility yang redundant antar class,

sehingga harus dipilih bahwa responsibility tersebut harus berada dalam satu class

Teknik Informatika - FTI

tersebut harus berada dalam satu class Disjoint responsibility dalam class, jika

terjadi maka pecah class-nya Class dengan satu responsibility Class yang tidak punya responsibility Distribusi behaviour yang lebih baik Class yang berinteraksi dengan banyak

class lain Universitas Ahmad Dahlan 38

Page 39: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class untuk perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan responsibility Jelaskan Atribut dan Association Membatasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 39

Page 40: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : Atribut

Teknik Informatika - FTI

Universitas Ahmad Dahlan 40

Page 41: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Penemuan Atribut

Tujuan mendeskripsikan Atribut dan operation adalah untuk: Mengidentifikasi class lain yang menjadi dependent suatu class

analisis Mendefinisikan event dalam class analisis lain yang harus diketahui

oleh class tertentuMendefinisikan informasi yang menjadi tanggung jawab suatu class

Teknik Informatika - FTI

Mendefinisikan informasi yang menjadi tanggung jawab suatu classPenemuan atribut berdasarkan: Properties/karakteristik dari class yang teridentifikasi Informasi yang dipertahankan oleh class yang teridentifikasi ‘Noun’ yang tidak menjadi class :

Informasinya yang memiliki nilai penting Informasi yang dimiliki object secara unique Informasi yang tidak memiliki perilaku

Universitas Ahmad Dahlan 41

Page 42: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : Association

Hubungan semantic antara dua atau lebih classifier yang menentukan hubungan antar intances-instances

Teknik Informatika - FTI

Hubungan struktural, penentuan bahwa object terhubung dengan object yang lain

Universitas Ahmad Dahlan 42

Page 43: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Penemuan Relationship

Teknik Informatika - FTI

Untuk menemukan dan membuat relationship: Pelajari link-ink dalam collaboration diagram yang menandakan bahwa object-

object dari dua class butuh berkomunikasi untuk melaksanakan use-case. Buat sebuah association atau aggregation yang dibutuhkan antar dua class yang

terhubung Fokuskan hanya pada Association yang dibutuhkan untuk merealisasikan use-

case Tuliskan deskripsi singkat tentang association

Universitas Ahmad Dahlan 43

Page 44: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : AggregationSebuah aggregation adalah bentuk khusus association yang memodelkan hubungan whole-part antara sebuah aggregation(aggregation) dengan bagiannya.Aggregation diperlukan ketika: Sebuah object secara fisik terdiri dari object-object lain Sebuah object merupakan kumpulan lojik dari object-object lain Sebuag object secara fisik berisi object lain

Teknik Informatika - FTI

Sebuag object secara fisik berisi object lain

Universitas Ahmad Dahlan 44

Page 45: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Association atau Aggregation?

Jika dua object diikat secara kuat oleh hubungan whole-part, maka hubungan yang dipakai adalah Aggregation

Teknik Informatika - FTI

Jika dua object dipertimbangkan sebagai object yang tidak saling tergantung walaupun terhubung, maka hubungan yang dipakai adalah Association

Universitas Ahmad Dahlan 45

Page 46: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

RoleRole adalah permukaan yang ditampilkan sebuah class pada masing-masing sisi associationRole harus memiliki nama yang berupa kata benda.

Teknik Informatika - FTI

Universitas Ahmad Dahlan 46

Page 47: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review: Multiplicity

Teknik Informatika - FTI

Universitas Ahmad Dahlan 47

Page 48: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Makna MultiplicityMultiplicity digunakan untuk menentukan: Suatu association bersifat mandatory atau optional. Jika

mulltiplicitynya lebih besar dari nol, berarti associationnya mandatory, jika sebaliknya berarti optional

Jumlah minimum atau maksimum suatu instance bisa dihubungkan dengan instance lain

Teknik Informatika - FTI

dihubungkan dengan instance lain

Universitas Ahmad Dahlan 48

Page 49: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Multiple Association

Teknik Informatika - FTI

Beberapa association bisa terjadi antar dua class yang sama. Jika ini terjadi, maka association ini harus merepresentasikan hubungan yang berbeda dan role yang berbeda. Dan kedua association harus diberi nama.

Universitas Ahmad Dahlan 49

Page 50: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : VOPC : Penemuan Relationship

Teknik Informatika - FTI

Diagram tersebut menunjukkan class-class yang berkolaborasi untuk melaksanakan use-case pendaftaran class beserta relationshipnya

Universitas Ahmad Dahlan 50

Page 51: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class untuk perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan Atribut dan Association Jelaskan responsibility Kualifikasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 51

Page 52: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pendeskripsian Mekanisme AnalisisTujuan kualifikasi mekanisme analisis adalah: Mengidentifikasi mekanisme analisis yang digunakan oleh class Menyediakan informasi tambahan tentang bagaimana class

mengimplementasikan mekanisme analisisYang perlu dilakukan untuk mendeskripsikan mekanisme analisis: Kumpulkan semua mekanisme analisis dalam sebuah daftar

Teknik Informatika - FTI

Gambarkan peta dari class client ke mekanisme analisis Identifikasi karakteristik dari mekanisme analisis

Universitas Ahmad Dahlan 52

Page 53: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Penjelasan Mekanisme Analisis

Setelah Class Analisis diidentifikasi, selanjutnya identifikasi mekanisme analisis yang diimplementasikan ke class analisis yang teridentifikasiContoh: Sebuah class yang harus persistent, dipetakan ke mekanisme

persistency Sebuah class yang harus di-maintain dalam legacy system harus

dipetakan ke mekanisme legacy interface

Teknik Informatika - FTI

Sebuah class yang harus di-maintain dalam legacy system harus dipetakan ke mekanisme legacy interface

Universitas Ahmad Dahlan 53

Page 54: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Penjelasan Mekanisme Analisis

Karakteristik mekanisme analisisPersistency untuk class Schedule: Granularity : 1 sampai 10 Kbytes per

Teknik Informatika - FTI

Granularity : 1 sampai 10 Kbytes per produk

Volume : sampai 2000 jadwal Frekuensi Akses: Create : 500 prhari Read : 2000 access per jam Update : 1000 perhariDelete : 50 perhari

Dll.

Universitas Ahmad Dahlan 54

Page 55: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah Analisis Use Case

Melengkapi penjelasan use caseUntuk masing-masing use case realization: Mencari class-class untuk perilaku use case Membagi perilaku use case ke class-class

Teknik Informatika - FTI

Membagi perilaku use case ke class-class

Untuk masing-masing class analisis yang dihasilkan: Jelaskan Atribut dan Association Jelaskan responsibility Membatasi mekanisme analysis

Menyatukan class-class analysis

Universitas Ahmad Dahlan 55

Page 56: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Menyatukan Class Analisis

Teknik Informatika - FTI

Tujuan penyatuan class analisis untuk memastikana bahwa masing-masing class merepresentasikan konsep tunggal, tanpa overlapping responsibilityUntuk menyatukan class analisis: Gabungkan beberapa class diagram yang digunakan untuk melaksanakan

beberapa use-case Jika ada beberapa class diagram memiliki class yang sama, maka hapuslah class

yang sama pada class diagram gabungan tersebut, sehingga class diagram hasil penggabungan tidak memiliki dua class yang sama

Universitas Ahmad Dahlan 56

Page 57: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

IDENTIFIKASI ELEMENDESAIN

57

Page 58: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Identifikasi elemen desain

Teknik Informatika - FTI

Universitas Ahmad Dahlan 58

Page 59: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah identifikasi elemen desain

Mengidentifikasi class dan subsystemMengidentifikasi interface subsystemMengidentifikasi reuse opportunity

Teknik Informatika - FTI

Mengidentifikasi reuse opportunityMengupdate organisasi model desain

Universitas Ahmad Dahlan 59

Page 60: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Dari class analisis ke elemen desain

Teknik Informatika - FTI

Universitas Ahmad Dahlan 60

Page 61: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pengidentifikasian class desainSebuah class analisis dipetakan langsung ke class desain jika : Berupa class sederhana Menampilkan abstraksi logical single

Class analisis yang lebih kompleks dapat:

Teknik Informatika - FTI

Class analisis yang lebih kompleks dapat: Pecah menjadi beberapa class Dijadikan package Dijadikan sebuah subsystem kombinasi

Universitas Ahmad Dahlan 61

Page 62: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : class dan packageClass : Deskripsi sekumpulan object yang berbagi

responsibility, relationship, operation, atribut dan semantic yang sama

Teknik Informatika - FTI

Package: Mekanisme yang tujuan umumnya untuk

mengumpulkan elemen-elemen menjadi kelompok-kelompok

Elemen model yang dapat berisi elemen model lain

Universitas Ahmad Dahlan 62

Page 63: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Mengelompokkan class desain dalam package

Kriteria pengelompokkan berdasarkan sejumlah faktor yang berbeda, antara lain :

Teknik Informatika - FTI

Unit-unit konfigurasi Pengalokasian resource diantara tim

pengembanga Merefleksikan tipe-tipe user Merepresentasikan produk dan service

yang digunakan systemUniversitas Ahmad Dahlan 63

Page 64: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Tips Packaging : class-class boundary

A. Jika kemungkinan interface system akan mengalami banyak perubahan maka class boundary ditempatkan pada package yang terpisah

B. Jika perubahan interface system tidak akan mengalami perubahan yang banyak maka class boundary ditempatkan dalam satu package dengan class-class fungsional yang berhubungan

Teknik Informatika - FTI

Universitas Ahmad Dahlan 64

Page 65: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Tips Packaging : class-class fungsional

Kriteria untuk menetapkan apakah sebuah class berhubungan dengan class lain secara fungsional Perubahan behaviour dan struktur suatu class memerlukan

perubahan di class lainPemindahan sebuah class akan mempengaruhi class lain

Teknik Informatika - FTI

Pemindahan sebuah class akan mempengaruhi class lain Dua object berinteraksi dengan sejumlah besar message

atau memiliki komunikasi yang kompleks Sebuah class boundary dapat dihubungkan secara fungsional

dengan sebuah class entity utama jika fungsi dari class boundary untuk mengadakan class entity

Dua class yang saling berinteraksi atau dipengaruhi oleh perubahan aktor yang sama

Universitas Ahmad Dahlan 65

Page 66: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Tips Packaging : class-class fungsional

Kriteria untuk menetapkan apakah class-class salin berhubungan secara fungsional : Dua class saling memiliki relationship Satu class membuat instance class lain

Teknik Informatika - FTI

Kriteria untuk menentukan dua class tidak boleh diletakkan dalam satu package: Dua class yang dihubungkan dengan aktor yang berbeda,

harus ditempatkan dalam package yang berbeda Class optional dan mandatory tidak boleh diletakkan dalam

package yang sama

Universitas Ahmad Dahlan 66

Page 67: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Package Dependecies : Package Element Visibility

Hanya class public yang dapat diakses dari luar packege

Teknik Informatika - FTI

packegeKonsep OO : Encapsulation

Universitas Ahmad Dahlan 67

Page 68: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Package Coupling : TipsPackage tidak boleh cross-coupledPackage di layer yang lebih rendah tidak boleh tergantung pada package

Teknik Informatika - FTI

tergantung pada package di layer yang lebih atasSecara umum, ketergantungan tidak boleh melewati layer

Universitas Ahmad Dahlan 68

Page 69: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : Subsystem dan Interface

Subsystem adalah kombinasi dari package dan classSubsystem merealisasikan satu atau lebih interface yang mendefinisikan behaviournya

Teknik Informatika - FTI

Universitas Ahmad Dahlan 69

Page 70: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Review : Subsystem dan Interface (cont.)Subsystem Mengenkapsulasi behaviour secara sempurna Merepresentasikan kemampuan independen dengan interface yang

jelas Memodelkan beberapa variant implementasi

Teknik Informatika - FTI

Universitas Ahmad Dahlan 70

Page 71: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Package vs SubsystemSubsystem Menyediakan behaviour Mengenkapsulasi content-

nya secara sempurna Mudah di-replace

Package Tidak menyediakan

behaviour Tidak mengenkapsulasi

content-nya secara sempurna

Teknik Informatika - FTI

sempurna Tidak dapat di-replace

dengan mudah

Universitas Ahmad Dahlan 71

Page 72: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pemakaian Subsystem

Subsystem dapat digunakan untuk pembagian system menjadi bagian-bagian yang saling tidak bergantung(independen): Penyusunan, pengkonfigurasian, pengiriman

Teknik Informatika - FTI

Pengembangan selama interface tidak berubah Penginstalan antar sekumpulan node komputasional

terdistribusi

Subsystem juga dapat digunakan untuk: Membagi system menjadi unit-unit yang dapat menyediakan

sekuriti terbatas melalui sumberdaya inti Merepresentasikan produk yang sudah ada atau system

eksternal di dalam system (misalnya: komponen)

Universitas Ahmad Dahlan 72

Page 73: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Petunjuk pengenalan Subsystem

Amati kolaborasi objectAmati optionalityPerhatikan user interface systemPerhatikan aktor

Teknik Informatika - FTI

Perhatikan aktorAmati coupling dan cohesion antar classPerhatikan substitusiPerhatikan pendistribusianPerhatikan hal-hal yang mudah berubah

Universitas Ahmad Dahlan 73

Page 74: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Kandidat Subsystem

Class-class analisis yang mungkin berkembang menjadi susbsystem Class-class yang menyediakan service-service dan atau

kegunaan yang kompleks Class-class boundary(antar muka dengan pengguna dan

Teknik Informatika - FTI

Class-class boundary(antar muka dengan pengguna dan antar muka dengan system eksternal)

Existing product dan system eksternal daam desain Software komunikasi Support pengakses database Type dan struktur data Utility umum Produk aplikasi khusus

Universitas Ahmad Dahlan 74

Page 75: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah identifikasi elemen desain

Mengidentifikasi class dan subsystemMengidentifikasi interface subsystemMengidentifikasi reuse opportunity

Teknik Informatika - FTI

Mengidentifikasi reuse opportunityMengupdate organisasi model desain

Universitas Ahmad Dahlan 75

Page 76: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pengidentifikasian Interface-interface

Tujuan : Untuk mengidentifikasi interface dari subsystem berdasarkan

responsibilty

Langkah-langkah :

Teknik Informatika - FTI

Mengidentifikasi sekumpulan kandidat interface untuk semua subsystem

Mencari kesamaan diantara interface Mendefinisikan ketergantungan interface Memetakan interface dengan subsystem Menentukan behaviour yang ditentukan oleh interface Bungkus (package) interface

Universitas Ahmad Dahlan 76

Page 77: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Guideline Inteface

Nama Interface Menunjukkan peranan/tugas dalam system

Deskripsi Interface Menyampaikan responsibility

Teknik Informatika - FTI

Menyampaikan responsibility

Definisi Operation Nama harus menunjukkan hasil operation Mendeskripsikan apa yang dilakukan operation, termasuk

semua parameter dan hasil

Dokumentasi Interace Info yang mendukung package : sequence dan state

diagram, rencana pegujian, dll

Universitas Ahmad Dahlan 77

Page 78: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Desain Subsystem dan Interface

Teknik Informatika - FTI

Universitas Ahmad Dahlan 78

Page 79: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Pemetaan Class Analisis ke Elemen Desain

Teknik Informatika - FTI

Universitas Ahmad Dahlan 79

Page 80: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Konvensi Pemodelan: Subsystem dan Interface

Teknik Informatika - FTI

Universitas Ahmad Dahlan 80

Page 81: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Context Subsystem : CourseCatalogSystem

Teknik Informatika - FTI

Universitas Ahmad Dahlan 81

Page 82: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Subsystem context : BillingSystem

Teknik Informatika - FTI

Universitas Ahmad Dahlan 82

Page 83: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah identifikasi elemen desain

Mengidentifikasi class dan subsystemMengidentifikasi interface subsystemMengidentifikasi reuse opportunity

Teknik Informatika - FTI

Mengidentifikasi reuse opportunityMengupdate organisasi model desain

Universitas Ahmad Dahlan 83

Page 84: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pengidentifikasian Reuse Opportunity

Tujuan: Untuk mengidentifikasi apakah subsystem

dan atau komponen yang sudah ada dapat digunakan kembali berdasarkan

Teknik Informatika - FTI

digunakan kembali berdasarkan interfacenya

Langkah-langkah: Mencari interface-interface yang sama Modifikasi interface baru untuk

penyesuaian Mengganti kandidat interface dengan

interface yang sudah adaPetakan kandidat subsystem ke komponen-

Universitas Ahmad Dahlan 84

Page 85: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Kemungkinan Reuse Opportunity

Internal system yang akan dikembangkan Mengenali keumuman across package dan

subsystem

Teknik Informatika - FTI

subsystemEksternal system yang akan dikembangkan Komponen-komponen yang tersedia secara

komersial Komponen-komponen dari pengembangan

sebelumnya Komponen-komponen yang merupakan

hasil reverse engineerUniversitas Ahmad Dahlan 85

Page 86: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Reuse Opportunity Internal ke System

Teknik Informatika - FTI

Universitas Ahmad Dahlan 86

Page 87: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Langkah-langkah identifikasi elemen desain

Mengidentifikasi class dan subsystemMengidentifikasi interface subsystemMengidentifikasi reuse opportunity

Teknik Informatika - FTI

Mengidentifikasi reuse opportunityMengupdate organisasi model desain

Universitas Ahmad Dahlan 87

Page 88: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pendekatan Layering Application Subsystem merupakan

software yang dikembangkan oleh organisasi

Business specific merupakan subsystem yang bisa digunakan kembali untuk type-type bisnis tertentu

Middleware menawarkan subsystem untuk utility classes dan platform-independent services untuk komputasi

Teknik Informatika - FTI

untuk utility classes dan platform-independent services untuk komputasi objet terdistribusi di dalam lingkungan yang heterogen

System software merupakan software untuk infrasruktur yang sebenarnya seperti system operasi, interface ke hardware tertentu, device driver

Universitas Ahmad Dahlan 88

Page 89: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pertimbangan Layering

Visibility Ketergantungan hanya dalam layer sekarang dan dibawahnya

Volatility Layer yang lebih atas dipengaruhi oleh perubahan kebutuhan Layer yang lebih bawah dipengaruhi oleh perubahan lingkungan

Teknik Informatika - FTI

Layer yang lebih bawah dipengaruhi oleh perubahan lingkunganGenerality Model yang lebih abstract berada di layer yang lebih bawah

Jumlah Layer System kecil : 3-4 layer System kompleks : 5-7 layer

Tujuannya adalah untuk mengurangi coupling dan untuk emmudahkan maintenance

Universitas Ahmad Dahlan 89

Page 90: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Elemen-elemen desain dan Arsitektut

Teknik Informatika - FTI

Universitas Ahmad Dahlan 90

Page 91: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Layer-layer Arsitektural

Teknik Informatika - FTI

Universitas Ahmad Dahlan 91

Page 92: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Pertimbangan Partioning

Coupling dan CohesionOrganisasi userArea Kompetensi dan atau skill

Teknik Informatika - FTI

Area Kompetensi dan atau skillPendistribusian SystemKerahasiaanPerubahan

Petunjuk : Usahakan untuk menghindari ketergantungan siklis

Universitas Ahmad Dahlan 92

Page 93: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : partioning

Teknik Informatika - FTI

Universitas Ahmad Dahlan 93

Page 94: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Layer Aplikasi

Teknik Informatika - FTI

Universitas Ahmad Dahlan 94

Page 95: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Hubungan layer Aplikasi

Teknik Informatika - FTI

Universitas Ahmad Dahlan 95

Page 96: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : layer Service Business

Teknik Informatika - FTI

Universitas Ahmad Dahlan 96

Page 97: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Hubungan Layer Service Bussiness

Teknik Informatika - FTI

Universitas Ahmad Dahlan 97

Page 98: Teknik Analisis dan Desain - Khairuddin Bima · PDF filediperlukan dapat dilakukan dengan melakukan penelusuran aliran event dari use case, dimana untuk masing-masing aliran event

Contoh : Layer Middleware

Teknik Informatika - FTI

Universitas Ahmad Dahlan 98