teknik analisis dan desain - khairuddin bima · pdf filediperlukan dapat dilakukan dengan...
Post on 02-Mar-2018
222 Views
Preview:
TRANSCRIPT
Teknik Analisis danDesain
Ali Tarmuji
T. Informka UAD 1
Ali Tarmuji Email: alitarmuji@gmail.com
ID YM: alitarmuji
Teknik Informatika - FTI
TEKNIK ANALISIS USE CASE
Universitas Ahmad Dahlan 2
Analisa Use CaseAnalisa Use-Case adalah aktivitas yang dilakukan pada tahapan Analyze Behaviour
Teknik Informatika - FTI
Universitas Ahmad Dahlan 3
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
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
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
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
Review : ClassSebuah AbstraksiMenjelaskan sekumpulan object, meliputi: Properties (atribute) Behaviour (operation)
Teknik Informatika - FTI
Behaviour (operation) Relationship Semantics
Universitas Ahmad Dahlan 8
Review : Use case realization
Teknik Informatika - FTI
Universitas Ahmad Dahlan 9
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
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
Class Analisis
Teknik Informatika - FTI
Universitas Ahmad Dahlan 12
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
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
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
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
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
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
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
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
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
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
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
Ringkasan : Analisis class
Teknik Informatika - FTI
Universitas Ahmad Dahlan 24
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
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
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
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
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
Contoh : Sequence Diagram
Teknik Informatika - FTI
Universitas Ahmad Dahlan 30
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
Contoh : Collaboration Diagram
Teknik Informatika - FTI
Universitas Ahmad Dahlan 32
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
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
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
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
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
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
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
Review : Atribut
Teknik Informatika - FTI
Universitas Ahmad Dahlan 40
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
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
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
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
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
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
Review: Multiplicity
Teknik Informatika - FTI
Universitas Ahmad Dahlan 47
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
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
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
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
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
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
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
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
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
IDENTIFIKASI ELEMENDESAIN
57
Identifikasi elemen desain
Teknik Informatika - FTI
Universitas Ahmad Dahlan 58
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
Dari class analisis ke elemen desain
Teknik Informatika - FTI
Universitas Ahmad Dahlan 60
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
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
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
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
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
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
Package Dependecies : Package Element Visibility
Hanya class public yang dapat diakses dari luar packege
Teknik Informatika - FTI
packegeKonsep OO : Encapsulation
Universitas Ahmad Dahlan 67
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
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
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
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
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
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
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
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
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
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
Contoh : Desain Subsystem dan Interface
Teknik Informatika - FTI
Universitas Ahmad Dahlan 78
Contoh : Pemetaan Class Analisis ke Elemen Desain
Teknik Informatika - FTI
Universitas Ahmad Dahlan 79
Konvensi Pemodelan: Subsystem dan Interface
Teknik Informatika - FTI
Universitas Ahmad Dahlan 80
Contoh : Context Subsystem : CourseCatalogSystem
Teknik Informatika - FTI
Universitas Ahmad Dahlan 81
Contoh : Subsystem context : BillingSystem
Teknik Informatika - FTI
Universitas Ahmad Dahlan 82
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
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
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
Reuse Opportunity Internal ke System
Teknik Informatika - FTI
Universitas Ahmad Dahlan 86
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
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
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
Elemen-elemen desain dan Arsitektut
Teknik Informatika - FTI
Universitas Ahmad Dahlan 90
Contoh : Layer-layer Arsitektural
Teknik Informatika - FTI
Universitas Ahmad Dahlan 91
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
Contoh : partioning
Teknik Informatika - FTI
Universitas Ahmad Dahlan 93
Contoh : Layer Aplikasi
Teknik Informatika - FTI
Universitas Ahmad Dahlan 94
Contoh : Hubungan layer Aplikasi
Teknik Informatika - FTI
Universitas Ahmad Dahlan 95
Contoh : layer Service Business
Teknik Informatika - FTI
Universitas Ahmad Dahlan 96
Contoh : Hubungan Layer Service Bussiness
Teknik Informatika - FTI
Universitas Ahmad Dahlan 97
Contoh : Layer Middleware
Teknik Informatika - FTI
Universitas Ahmad Dahlan 98
top related