290 likes | 527 Views
Pendekatan dalam Produksi Perangkat Lunak. Model Waterfall Model Prototyping (Evolusioner) Model formal Model perakitan komponen guna ulang. Ian Sommerville. Model Proses. Roger S.Pressman. Proses- Data Flow Diagram. Produksi P/L. Teknik Normalisasi. Terstruktur. Data.
E N D
Model Waterfall Model Prototyping (Evolusioner) Model formal Model perakitan komponen guna ulang Ian Sommerville Model Proses Roger S.Pressman Proses- Data Flow Diagram Produksi P/L Teknik Normalisasi Terstruktur Data Entity Relationships Diagram Program - Flowchart Pendekatan Use case diagram Activity diagram Sequence diagram Collaboration diagram Class diagram Statechart diagram Component diagram Deployment diagram Objek UML
Pendekatan dalam Produksi P/L Structured Analisys and Design / SSAD Produksi P/L Object-oriented Analysis and Design / OOAD
(Structured Analisys and Design / SSAD) • Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata. • Teknik terstruktur merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk memecahkan masalah.
Pemrograman Terstruktur • Pascal, Prolog, VB 6.0 • SSAD • DFD, ERD, Flowchart, STD • OOP • C++, Java, IOS • OOAD • UML (Turunan, p
(Structured Analisys and Design / SSAD) • Perancangan terstruktur merupakan aktivitas mentransformasikan suatu hasil analisis kedalam suatu perencanaan untuk dapat diimplementasikan (diotomasikan). Pendekatan terstruktur dilengkapi dengan alat-alat (tools) dan teknik-teknik (techniques) yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan diperoleh sistem yang strukturnya didefinisikan dengan baik dan jelas. • Melalui pendekatan terstruktur, permasalahan yang komplek di organisasi dapat dipecahkan dan hasil dari sistem akam mudah untuk dipelihara, fleksibel, lebih memuaskan pemakainya, mempunyai dokumentasi yang baik, tepat waktu, sesuai dengan anggaran biaya pengembangan, dapat meningkatkan produktivitas dan kualitasnya akan lebih baik(bebas kesalahan).
(Structured Analisys and Design / SSAD) • Pada pendekatan terstruktur dibedakan atas dua pendekatan yaitu : • Pendekatan berorientasi proses • Pada pendekatan terstruktur yang beorientasi proses yang dilakukan adalah memeriksa input, output dan proses untuk sistem. Pendekatan berorientasi proses bekerja sangat baik jika professional sistem mengetahui lebih lanjut tentang input, proses dan output yang dihasilkan dari sistem. • Pendekatan beorientasi data • Pada pendekatan terstruktur beorientasi data yang dilakukan adalah memeriksa keputusan–keputusan yang dibuat sistem dan kemudian bekerja ke belakang untuk mengidentifikasi data yang dibutuhkan untuk mendukung keputusan tersebut. Pendekatan ini digunakan jika proses sistem, seperti input dan output belum ditentukan.Pada kasus ini, professional sistem harus berusaha dengan user menentukan bagaimana sistem nantinya. Fokusnya adalah untuk menentukan kebutuhan data untuk keputusan–keputusan yang akan berbasis pada data.
Ciri-Ciri Utama Pendekatan Terstruktur • Merancang berdasar modul • Modularisasi adalah proses yang membagi suatu sistem menjadi beberapa modul yang dapat beroperasi secara independen • Bekerja dengan pendekatan top-down • Dimulai dari level atas (secara global) kemudian diuraikan sampai tingkat modul (rinci) • Dilakukan secara iterasi • Dengan iterasi akan didapat hasil yang lebih baik, terlalu banyak iterasi juga akan menurunkan hasilnya dan menunjukkan bahwa tahap sebelumnya tidak dilakukan dengan baik • Kegiatan dilakukan secara pararel • Pengembangan subsistem-subsistem dapat dilakukan secara pararel, sehingga akan memperpendek waktu pengembangan sistem
Kelebihan Pendekatan Terstruktur • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer. • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan. • SSAD merupakan metode yang diketahui secara umum pada berbagai industry. • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan. • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan • SSAD relatif simpel dan mudah dimengerti.
Kekurangan Pendekatan Terstruktur • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional. • Sedikit sekali manajemen langsung terkait dengan SSAD • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses. • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
Kekurangan Pendekatan Terstruktur • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi. • Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem. • SSAD tidak selalu memenuhi kebutuhan pengguna. • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
Tools Pendekatan Perancangan Terstruktur • DFD (Data Flow Diagram ) • Kamus Data • Entity Relationship Diagram (ERD) • State Transition Diagram (STD).
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD) • Pendekatan berorientasi objek merupakan paradigma pemrograman yang berorientasikan kepada objek. • Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. • Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. • Seiring dengan trend sebuah metodologi dibangun untuk membantu programmer dalam mengunakan bahasa pemrograman berorientasi obyek. Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD) • Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman tersrtuktur. • Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. • Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD) • Pendekatan perancangan sistem berorientasi objek adalah suatu teknik pendekatan baru dalam melihat permasalahan dan sistem (system perangkat lunak, sistem informasi, atau system lainnya). Pendekatan ini memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek-objek dunia nyata.
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD) • Terdapat beberapa cara untuk mengabstraksikan dan memodelkan objek- objek tersebut, yaitu abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. • Saat mengabstraksikan dan memodelkan objek, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan. • Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat lunak. • Ada berbagai teknik yang dapat digunakan pada masing- masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Pendekatan analisis berbasis objek adalah • Saat mengabstraksikan dan memodelkan objek mi, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan. • Dalam rekavasa perangkat lunak. konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis. perancangan. pemrograman, dan pengujian perangkat lunak. • Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Pendekatan analisis berbasis objek adalah • Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan sistem (sistem perangkat lunak. System informasi, atau sistem lainnva). • Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata. • Ada banvak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dan abstraksi objek. kelas. hubungan antar kelas sampai abstraksi sistem.
Karakteristik atau sifat Pendekatan Objek • Abstraksi, yaitu prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan. • Enkapsulasi, yaitu pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek. • Pewarisan (Inheritance), yaitu mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya. • Reusability, yaitu pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.
Karakteristik atau sifat Pendekatan Objek (Lanjutan) • Generalisasi dan Spesialisasi, yaitu menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. • Komunikasi Antar Objek, yaitu dilakukan lewat pesan yang dikirim dari satu objek ke objek lainnya. • Polymorphism, yaitu kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama, sehingga menghemat baris program.
Kelebihan Pendekatan Berorientasi Objek • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000). • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem. • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi. • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
Kelebihan Pendekatan Berorientasi Objek • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007). • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga. • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek. • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan Pendekatan Berorientasi Objek • Pada awal desain OOAD, sistem mungkin akan sangat simple. • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD. • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD. • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem. • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
Kekurangan Pendekatan Berorientasi Objek • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005). • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sulit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
Tools Pendekatan Berorientasi Objek • Rational Unified Process (RUP) (Rational Software – IBM 2003) • Fusion (Coleman 1994) • STS development Method 3 (ADM3) (Firesmith 1993) • Berard’s object-oriented design (Berard 1991) • Booch’s object-oriented design (Booch 1983, 1991) • Coad and Yourdon’s object – oriented analysis (Coad & Yourdon 1989) • Coad and Yourdon’s object-oriented analysis (OOA) (Coad & Yourdon 1991) • Jacobson’s Objectory (Jacobson & Linstrom 1992) • Rumbaugh’s object modelling technique (OMT) (Rumbaugh et al. 1991) • Object-oriented system analysis (OOA) (Shlaer & Mellor 1988)
Perbedaan Pendekatan Terstruktur dengan Pendekatan Berorientasi Objek