Home >Education >Rancangan perangkat lunak

Rancangan perangkat lunak

Date post:21-May-2015
Category:
View:7,891 times
Download:5 times
Share this document with a friend
Transcript:
  • 1. Rancangan Perangkat Lunak By M. Ainul Yaqin, S.Si, M.Kom

2. Definisi

  • Rancangan didefinisikan dalam IEEE Standard Glossary of Software Engineering Terminology :
    • Proses mendefinisikan arsitektur, komponen, interface, dan karakteristik lain dari suatu sistem atau komponen.
    • Hasil dari proses tersebut
  • Dipandang sebagai suatu proses, rancangan perangkat lunak adalah aktifitas siklus hidup rekayasa perangkat lunak dalam menganalisa kebutuhan perangkat lunak dalam rangka menghasilkan deskripsi struktur internal perangkat lunak yang akan menjadi dasar konstruksinya.
  • Lebih tepatnya, rancangan perangkat lunak harus menjelaskan arsitektur perangkat lunak yaitu bagaimana perangkat lunak didekomposisi dan diorganisasi ke dalam komponen dan berhubungan dengan komponen-komponen tersebut.

3. Definisi

  • Rancangan perangkat lunak terdiri dari dua aktifitas yaitu :
    • Rancangan arsitektural perangkat lunak : menjelaskan struktur dan organisasi tingkat atas perangkat lunak dan mengidentifikasi berbagai komponen
    • Rancangan detail perangkat lunak : menjelaskan tiap komponen secara memadai untuk memungkinkan pembangunan

4. Area Pengetahuan Perancangan Perangkat Lunak 5. Konsep Perancangan Secara Umum

  • Konsep, notasi, dan terminologi diperkenalkan di sini membentuk suatu dasar pemahaman peran dan lingkup perancangan perangkat lunak.
  • Perangkat lunak tidak hanya meliputi perancangan saja. Dalam pengertian umum, perancangan dapat dipandang sebagai suatu bentuk pemecahan masalah
  • Sejumlah notasi dan konsep lain juga berkepentingan dalam memahami perancangan dalam pengertian umumnya : tujuan, batasan, alternatif,representasi, dan solusi

6. Konsep Perancangan Perangkat Lunak

  • Untuk memahami peranan perancangan perangkat lunak adalah penting untuk memahami konteks yang sesuai, yaitu siklus hidup rekayasa perangkat lunak.
  • Dengan demikian, penting untuk memahami karakteristik umum dari analisis kebutuhan perangkat lunak terhadap konstruksi perangkat lunak terhadap pengujian perangkat lunak

7. Proses Perancangan Perangkat Lunak

  • Perancangan perangkat lunak umumnya terdiri dari 2 tahap proses :
    • Perancangan arsitektural : menjelaskan bagaimana perangkat lunak dijabarkan dan diorganisasikan ke dalam komponen (arsitektur perangkat lunak)
    • Perancangan terinci : menjelaskan kelakukan spesifik dari komponen-komponen tersebut

8. Enabling Techniques

  • Menurut kamus Inggris Oxford, prinsip adalah suatu kebenaran dasar atau hukum umum yang digunakan sebagai dasar pemikiran atau panduan untuk bertindak
  • Prinsip perancangan perangkat lunak disebut jugaEnabling Techniques , adalah pengertian kunci yang dianggap mendasar pada beberapa pendekatan dan konsep perancangan perangkat lunak yang berbeda
  • Teknik yang memungkinkan adalah sebagai berikut :
    • Abstraksi
    • Coupling and cohesion
    • Dekomposisi dan modularisasi
    • Enkapsulasi
    • Pemisahan interface dan implementasi
    • Kecukupan, kelengkapan, dan keprimitifan.

9. Abstraksi

  • Abstraksi adalah proses melipakan informasi sehingga hal-hal yang berbeda dapat diperlakukan seolah-oleh mereka adalah sama
  • Dalam konteks perancangan perangkat lunak ada dua mekanisme abstraksi kunci, yaitu parameterisasi dan spesifikasi
  • Abstraksi dengan spesifikasi ke tiga jenis abstraksi utama, yaitu :
    • Abstraksi prosedural
    • Abstraksi data
    • Abstraksi kontrol

10. Coupling and Cohesion

  • Couplingdidefinisikan sebagai kekuatan hubungan antar modul
  • Cohesiondidefinisikan oleh bagaimana elemen-elemen yang membentuk sebuah modul yang terkait

11. Dekomposisi dan Modularisasi

  • Dekomposisi dan modularisasi perangkat lunak besar menjadi beberapa bagian independen yang lebih kecil, biasanya dengan tujuan menempatkan fungsionalitas atau tanggung jawab dalam komponen yang berbeda

12. Enkapsulasi

  • Enkapsulasi berarti bahwa pengelompokan dan pengemasan elemen-elemen dan detail internal dari abstraksi dan membuat rincian-rincian tersebut tidak dapat diakses

13. Pemisahan Interface dan Implementasi

  • Pemisahan interface dan implementasi meliputi mendefinisikan suatu komponen dengan menetapkan sebuah interface publik, diketahui oleh klien, terpisah dari rincian tentang bagaimana komponen tersebut direalisasikan

14. Kecukupan, Kelengkapan, dan Keprimitifan

  • Mencapai kecukupan, kelengkapan, dan keprimitifan berarti memastikan bahwa komponen perangkat lunak mendapatkan semua karakteristik penting dari sebuah abstraksi, tidak lebih

15. Isu Kunci dalam Perancangan Perangkat Lunak

  • Sejumlah isu pokok yang harus ditangani diataranya adalah kualitas, dekomposisi, organisasi, dan paket komponen perangkat lunak
  • Selain itu ada beberapa isu lintas sektor yang juga harus ditangani dintaranya adalahconcurrency , pengendalian dan penanganan kejadian ( event ), distribusi komponen, penangananerror , eksepsi, dan toleransifault,interaksi dan presentasi, dandata persistence

16. Concurrency

  • Bagaimana men-dekomposisi perangkat lunak ke dalam proses,task , danthreaddan menangani isu yang terkait dengan efisiensi,atomicity , sinkronisasi, dan penjadwalan

17. Pengendalian dan Penanganan Event

  • Bagaimana mengorganisasi data dan mengendalikan alirannya
  • Bagaimana menanganieventreaktif dan temporal melalui berbagai mekanisme sepertiimplicit invocationdancall-backs

18. Distribusi Komponen

  • Bagaimana mendistribusikan perangkat lunak pada perangkat keras
  • Bagaimana komponen berkomunikasi
  • Bagaimanamiddlewaredapat digunakan untuk menangani perangkat lunak heterogen

19. PenangananErrordan Eksepsi, dan ToleransiFault

  • Bagaimana mencegah dan mentoleransifaults , dan menangani kondisi eksepsional

20. Interaksi dan Presentasi

  • Bagaimana interaksi struktur dan organisasi dengan pengguna dan presentasi informasi (misalnya : pemisahan logika presentasi dan bisnis dengan menggunakan pendekatan model-view-controller)

21. Data Persistence

  • Bagaimana menangani data selamanya

22. Struktur dan Arsitektur Perangkat Lunak

  • Arsitektur perangkat lunak adalah deskripsi dari beberapa subsistem dan komponen dari sistem perangkat lunak dan hubungan diantara mereka
  • Struktur internal adalah cara dimana sesuatu dibangun atau diorganisasi dari perangkat lunak yang dihasilkan
  • Konsep-konsep yang berguna selama
    • Desain arsitektur : gaya arsitektur
    • Desain rinci : pola desain tingkat rendah

23. Struktur dan Sudut Pandang Arsitektural

  • Aspek ini sering disebut sudut pandang : Sudut pandang merupakan aspek parsial dari sebuah arsitektur perangkat lunak yang menunjukkan sifat spesifik dari sistem perangkat lunak
  • Pandangan ini berbeda pada berbagai masalah yang berkaitan dengan perancangan perangkat lunak misalnya pandangan logis (pemenuhan kebutuhan fungsional) sehubungan dengan pandangan proses (isuconcurrency ) dibandingkan dengan pandangan fisik (isu distribusi) dari pandangan pengembangan (bagaimana rancangan dibagi menjadi unit-unit implementasi)
  • Gaya arsitektur adalah satu set kendala pada arsitektur yang mendefinisikan satu set atau keluarga yang memenuhinya
  • Gaya arsitektur dapat dianggap sebagai metamodel yang dapat memberikan organisasi tingkat tinggi perangkat lunak (arsitektur mikro-nya)

24. Struktur dan Sudut Pandang Arsitektural

  • Berbagai penulis mengidentifikasi sejumlah gaya arsitektur utama :
    • Struktur umum
    • Sistem terdistribusi
    • Sistem interaktif
    • Sistem yang dapat beradaptasi
    • Dan lain-lain

25. Pola Rancangan (Pola Mikroarsitektur)

  • Pola : solusi umum untuk masalah umum dalam konteks tertentu
  • Gaya arsitektur dapat dipandang sebagai pola yang mendeskripsikan organisasi perangkat lunak tingkat tinggi (makroarsitektur-nya), pola desain lainnya dapat digunakan untuk mendeskripsikan detil di tingkat rendah, tingkat lokal (mikroarsitektur-nya)
    • Pola kreasional (contoh : builder, pabrik, prototype)
    • Pola struktural (contoh : adapter, proxy, bridge)
    • Pola perilaku (contoh : command, interpreter, template)

26. Keluarga dari Program dan Kerangka Kerja

  • Pendekatan yang memungkinkan untuk menggunakan kembali rancangan dan komponen perangkat lunak dapat dilakukan dengan mengidentifika

Click here to load reader

Embed Size (px)
Recommended