tib15 - analisis & desain berorientasi objek

Download Report

Transcript tib15 - analisis & desain berorientasi objek

Pertemuan 1
Konsep Dasar OOAD
TIB15 - ANALISIS & DESAIN
BERORIENTASI OBJEK
Materi Yang Dibahas
• Konsep Sistem Informasi
–
–
–
–
–
–
Pengertian Sistem Informasi
Karakteristik Sistem
Atribut software yang baik
Realibilitas Sistem
Produktifitas sistem
Maintabilitas
• Konsep Object Oriented
–
–
–
–
–
–
Object-oriented development
Karakteristik OOD
Kegunaan OOD
Unified Modeling Language
Model Objek dan UML
Pemodelan Sistem UML
• Metodologi Pengembangan Sistem
Pengertian Sistem Informasi
• Sebuah Sistem Informasi adalah sebuah
sistem yang memproses data menjadi
informasi berdasarkan prediksi anggapan
logis
• Sistem Informasi adalah suatu sistem
terintegrasi yang mampu menyediakan
informasi yang bermanfaat bagi
penggunanya
Karakteristik Sistem
Suatu Sistem mempunyai:
•
Komponen.(Components)
Terdiri dari sejumlah komponen yang saling berinteraksi, dan bekerjasama membentuk satu kesatuan.
•
Batas Sistem.(Boundary)
Merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau dengan lingkungan luarnya.
•
Lingkungan Luar Sistem.(Environments)
Segala sesuatu diluar batas dari sistem yang mempengaruhi kerja sistem
•
Penghubung.(Interface)
Merupakan media penghubung antara subsistem, yang memungkinkan sumber-sumber daya mengalir dari satu
subsistem ke subsistem lainnya.
•
Masukkan.(Input)
Adalah sumber daya yang dimasukkan kedalam sistem,
•
Keluaran.(Output)
Hasil dari sumber daya yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan.
•
Pengolah.(process)
Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukkan menjadi keluaran.
•
Sasaran.(Objective)
Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective).
Atribut software yang baik
• Software harus memenuhi persyaratan fungsional dan
kinerja pada user harus maintainable, dependable dan
acceptable.
• Maintainability
– Software menyesuaikan untuk memenuhi perubahan kebutuhankebutuhan;
• Dependability
– Software harus dapat diandalkan;
• Efficiency
– Software tidak boleh menghamburkan penggunaan sumber daya
sistem
• Acceptability
– Software harus dapat diterima oleh user sesuai dengan yang
sudah rancang. Ini berarti harus dapat dimengerti, dapat
dipergunakan dan kompatibel dengan sistem lain.
Produktifitas sistem
• saat ini dibutuhkan sistem yang lebih banyak, lebih
bagus dan lebih cepat.
• Hal ini membutuhkan lebih banyak programmer dan
penganalisa sistem yang berkualitas, kondisi kerja
ekstra, kemampuan pemakai untuk mengembangkan
sendiri,
• bahasa pemrograman yang lebih baik, perawatan
sistem yang lebih baik (umumnya 50 % sampai 70 %
sumber daya digunakan untuk perawatan sistem),
• disiplin teknis pemakaian perangkat lunak dan
perangkat pengembangan sistem yang terotomasi.
Realibilitas Sistem
• waktu yang dihabiskan untuk testing sistem
secara umum menghabiskan 50% dari waktu total
pengembangan sistem.
• Dalam kurun waktu 30 tahun sejumlah sistem
yang digunakan di berbagai perusahaan
mengalami kesalahan dan ironisnya sangat tidak
mudah untuk mengubahnya.
• Jika terjadi kesalahan, harus dilakukan:
– melakukan pelacakan sumber kesalahan dan harus
menemukan cara untuk mengoreksi kesalahan
tersebut dengan mengganti program,
– menghilangkan sejumlah statement lama atau
menambahkan sejumlah statement baru.
Maintabilitas
perawatan mencakup
• modifikasi sistem sesuai perkembangan perangkat
keras untuk meningkatkan kecepatan pemrosesan
(yang memegang peranan penting dalam
pengoperasian sistem),
• modifikasi sistem sesuai perkembangan
kebutuhan pemakai. Antara 50% sampai 80%
• pekerjaan yang dilakukan pada kebanyakan
pengembangan sistem dilakukan untuk revisi,
modifikasi, konversi,peningkatan dan pelacakan
kesalahan.
Metodologi Pengembangan
Sistem
1.
Analisis Sistem
–
–
2.
Perancangan Sistem:
–
3.
Instalasi sistem, beralih dari sistem lama ke sistem baru, melakukan pelatihan dan panduan
seperlunya.
Operasi dan Perawatan:
–
7.
melakukan validasi dan verifikasi sistem
Implementasi Sistem:
–
6.
membangun perangkat lunak yang diperlukan untuk mendukung sistem
Testing Sistem:
–
5.
merancang output, input, struktur file, program, prosedur perangkat keras dan perangkat lunak
yang diperlukan untuk mendukung sistem informasi
Pembangunan sistem
–
4.
menganalisa dan mendefinisikan masalah dan kemungkinan solusinya untuk sistem informasi dan
proses organisasi.
Menentukan requirement sistem
mendukung operasi sistem informasi dan melakukan perubahan atau tambahan fasilitas.
Evaluasi Sistem:
–
mengevaluasi sejauih mana sistem telah dibangun dan seberapa bagus sistem telah dioperasikan
Object-oriented development
Analisis, desain dan pemrograman adalah
kegiatan yang terkait tetapi berbeda.
• OOA berkaitan dengan mengembangkan
model obyek dari domain aplikasi
• OOD berkaitan dengan mengembangkan
model berorientasi obyek sistem untuk
melaksanakan persyaratan.
• OOP berkaitan dengan mewujudkan OOD
menggunakan bahasa pemrograman OO
seperti Java atau C + +.
Karakteristik OOD
• Objek adalah abstraksi dari entitas sistem
nyata dan mengatur dirinya sendiri
• Objek independen dan merangkum kondisi
dan representasi informasi
• Fungsi sistem dinyatakan dalam hal layanan
objek.
• Berbagi data ditiadakan. Objek
berkomunikasi dengan meneruskan message
(pesan)
• Objek dapat didistribusikan dan dieksekusi
secara berurutan ataupun secara paralel.
Kegunaan OOD
• Mudah untuk maintenance. Objek dapat
dimengerti sebagai entitas yang berdiri
sendiri.
• Objek potensial sebagai komponen yang
dapat dipakai ulang.
• Untuk beberapa sistem, dimungkinkan
pemeteaan yang jelas dari entitas nyata
ke objek sistem
Identifikasi Obyek
• Identifikasi Obyek adalah bagian tersulit
dari OOD.
• Tidak ada 'magic formula' untuk
identifikasi obyek. Memerlukan keahlian,
pengalaman dan pengetahuan domain
dari perancang sistem.
• Identifikasi obyek adalah proses berulang.
Pendekatan Identifikasi Obyek
• Gunakan pendekatan grammatical
berdasarkan deskripsi natural language dari
sistem.
• Berdasarkan pendekatan semua yang
tampak pada domain aplikasi.
• Gunakan pendekatan perilaku (behavioural)
dan identifikasi obyek berdasarkan partisipasi
pada kebiasaan apa yang berlaku.
• Gunakan analisa berbasis skenario. Obyek,
atribut dan method pada setiap seknarioyang
teridentifikasi.
Unified Modeling Language
• Notasi yang berbeda untuk menggambarkan
berorientasi obyek desain yang diusulkan
pada 1980-an dan 1990-an.
• The Unified Modeling Language penyatuan
dari notasi-notasi ini
• UML menjelaskan notasi untuk sejumlah
model yang berbeda yang mungkin di
hasilkan selama OOAD
• Secara defacto menjadi standard untuk
pemodelam berorientasi Objek
Model Objek dan UML
• UML merupakan representasi standar yang dibuat oleh
pengembang banyak digunakan pada analisa
berorientasi objek dan metode desain.
• Merupakan standart efektif untuk Pemodelan
berorientasi objek
Pemodelan Sistem UML
Use Case
Use Case
Diagrams
Activity
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Sequence
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Collaboration
Diagrams
Diagrams
Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams
State
State
Diagrams
Class
Diagrams
Diagrams
Model
Deployment
Diagram
State
State
Diagrams
Object
Diagrams
Diagrams
State
State
Diagrams
State
Diagrams
Diagrams
Component
Component
Diagrams
Component
Diagrams
Diagrams
Diagram-diagram UML
•
•
•
•
•
•
•
•
Diagram Use Case (Use Case Diagram)
Diagram Aktivitas (Activity Diagram)
Diagram Urutan (Sequence Diagram)
Diagram Kolaborasi (Collaboration Diagram)
Diagram Kelas (Class Diagram)
Diagram Status (Statechart Diagram)
Diagram Komponen (Component Diagram)
Diagram (Deployment Diagram)
Diagram UML untuk masingmasing kebutuhan
 Use Case diagrams untuk menggambarkan interaksi user
dengan system.
 Class diagrams untuk menggambarkan logical structure.
 Object diagrams untuk menggambarkan objects and links.
 State diagrams untuk menggambarkan behavior.
 Component diagrams untuk menggambarkan physical structure
of the software.
 Deployment diagrams untuk menunjukkan pemetaan software ke
konfigurasi hardware.
 Interaction diagrams (i.e., collaboration and sequence diagrams)
untuk menggambarkan perilaku.
 Activity diagrams untuk menggambarkan flow dari kejadian pada
sebuah use case.
Overview of UML Diagrams
• Behavioral/perilaku
•
•
– Activity diagram
– Statechart diagram
– Use case diagram
Structural
– Class diagram
– Component diagram
– Deployment diagram
Interaction
– Communication(collaberation) diagram
– Sequence diagram
Referensi:
• Ian Sommerville, Software Engineering,
7th-ed, 2004, Prentice hall, USA
• N. Ashrafi, Object Oriented systems
Analysis and Design, Pearson
International Edition, 2008, Pearson
Education, USA
• Sholiq, Pemodelan Sistem Informasi
Berorientasi Objek dengan UML, 2006,
Graha Ilmu, Indonesia