Breaking News

REKAYASA PERANGKAT LUNAK

1. Model Prototype Metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan

sistem informasi yang lain bila perlu. Penjelasan dari gambar di atas sebagai berikut: • User merasa prototipe merupakan PL yang sesungguhnya, padahal ketika membuat prototipe belum disertakan kualitas PL secara keseluruhan / kemampuan pemeliharaan untuk jangka panjang•developer sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja dengan cepat sehingga akan ditemui ketidakcocokan pada prototipe ketika prototipe dibangun dengan bahasa yang sederhana • Program dibuat ulang / prototipe selalu baru Mengacu pada pemilahan fungsi yang harus ditampilkan oleh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan diperagakan a. Jenis-Jenis Prototyping • Feasibility prototyping – digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun. • Requirement prototyping – digunakan untuk mengetahui kebutuhan aktivitas bisnis user. • Desain Prototyping - digunakan untuk mendorong perancangan system informasi yang akan digunakan. • Implementation prototyping – merupakan lanjytan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan. Adapun keunggulan dan kelemahan dalam model prototype: Keunggulan Prototyping: 1. user dapat berpartisipasi aktif 2. Penentuan kebutuhan lebih mudah diwujudkan 3. Mempersingkat waktu pengembangan SI Kelemahan Prototyping : 1. Proses analisis dan perancangan terlalu singkat 2. Mengesampingkan alternatif pemecahan masalah 3. Bisanya kurang fleksible dalam mengahadapi perubahan 4. Prototype yang dihasilkan tidak selamanya mudah dirubah
5. Prototype terlalu cepat selesai 2. Pengembangan Sistem Formal Pengembangan sistem formal merupakan pendekatan terhadap pengembangan perangkat lunak yang memiliki kesamaan dengan model air terjun, tetapi proses pengembangannya didasarkan pada transformasi matematis dari spesifikasi sistem menjadi program yang dapat dijalankan. Perbedaan kritis antara pendekatan ini dan model air terjun adalah: a. Spesifikasi persyaratan perangkat lunak diperbaiki menjadi spesifikasi formal yang rinci yang dinyatakan dalam notasi matematis. b. Proses pengembangan perancangan, implementasi , dan pengujian unit digantikan oleh proses pengembangan transformasional dimana spesifikasi formal diperbaiki, melalui serangkaian transformasi, menjadi program. Pada proses transformasi, representasi matematis formal dari sistem secara sistematis diubah menjadi representasi sistem yang lebih rinci, tetapi tetap benar secara matematis. Setiap langkah menambahkan perincian sampai spesifikasi formal diubah menjadi program yang ekivalen. Pendekatan ini menghasilkan suatu system matematis yang formal dan mentransformasikan spesifikasi ini dengan menggunakan metode matematik menjadi sebuah program. Transformasi ini bersifat “mempertahankan kebenaran”. Keuntungan: 1. Jarak antara setiap transformasi lebih kecil daripada jarak antara spesifikasi dan program. 2. Terdiri dari serangkaian langkah yang lebih kecil sehingga lebih mudah ditelusuri Kekurangan: 1. Pemilihan transformasi apa yang akan dipakai merupakan pekerjaan yang membutuhkan keahlian dan membuktikan hubungan transformasi adalah sesuatu yang sulit. 3. Model RAD Model RAD bisa dibilang keluarganya dari waterfall, soalnya pada Model RAD mengadopsi dari model waterfall.. lebih jelasnya mungkin bisa diliat keterangan di bawah… • RAD adalah model proses pembangunan perangkat lunak yang incremental. • RAD menekankan pada siklus pembangunan yang pendek/singkat. • RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction. • Pada model ini waktu yang singkat yang di gunakan pada model tsb. • Jika kebutuhan lengkap dan jelas maka waktu yang diperlukan kira2 60 sampai 90 hari. Gambarnya kurang lebih seperti ini: Penjelasan gambarnya mungkin seperti ini: 1. Business modelling : berfungsi menjawab pertanyaan-pertanyaan seperti informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi? 2. Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. karakteristik/atribut dan hubungan antar objek-objek tersebut à analisis kebutuhan dan data 3. Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis. 4. Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan. 5. Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji. Begitu juga Model ini mempunyai kelemahan dan kelebihannya: Kelemahan model RAD: • Sangat Tidak cocok untuk proyek skala besar • Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi Kelebihan model RAD: • Lebih efektif dari pendekatan air terjun dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan. • Cocok untuk proyek yang memerlukan waktu yang singkat. 4. THE INCREMENTAL MODEL Pengertian Model incremental menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna. Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap. Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda. Model Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang lengkap. Proses membangun berhenti jika produk telah mencapai seluruh fungsi yang diharapkan. Pada awal tahapan dilakukan penentuan kebutuhan dan spesifikasi. Kemudian dilakukan perancangan arsitektur software yang terbuka, agar dapat diterapkan pembangunan per-bagian pada tahapan selanjutnya. Tahapan Incremental Model adalah : • Requirement • Specification • Architecture Design Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap modal. Untuk mengantisipasi kondisi yang terjadi pada model incremental, diperkenalkan model More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim desain menindak lanjuti. TIm spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya. Kelebihan Incremental Model • Memberikan kualitas produk operasional pada setiap tahap tetapi hanya satu yang memenuhi persyaratan dari klien • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan • Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian • Memaksimalkan pengembalian modal investasi konsumen Kekurangan Incremental Model • tiap bagian tidak dapat diintegrasikan • setiap tambahan yang dibangun harus dimasukkan kedalam struktur yang ada tanpa menurunkan kualitas dari yang telah dibangun system tersebut sampai saat ini. • Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut 5. Model Spiral Model ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistematis yang dikembangkan model waterfall. Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model: • Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer. • Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software. • Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model. • Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal. • Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software. • Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release. Berikut adalah gambar dari spiral model secara umum : Adapun beberapa Kelebihan dan Kelemahan Model Spiral yang ada: Kelebihan model Spiral : 1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar 3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses . Kelemahan model Spiral: 1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol. 2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur. 3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute 6.Metode Fourth-Generation Techniques (4GT) Istilah Fourth-Generation (generasi keempat) mengarah ke perangkat lunak yang umum yaitu, tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level yang tinggi. Tool akan otomatis menghasilkan sumber berdasarkan spesifikasi tersebut. Teknik 4GT ini menekankan pada kemampuan menentukan perangkat lunak pada level mesin dengan bahasa yang lebih alami atau notasi yang lebih memiliki arti. Saat ini, pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut: Bahasa non-prosedural untuk query basis data, report generation, data manipulation, interaksi layar dan definisi, code generation, kemampuan grafik level tinggi, kemampuan spreadsheet, dan automated generation of HTML serta bahasa-bahasa yang mirip yang digunakan untuk membuat suatu website dengan menggunakan perangkat lunak tertentu. Tiap tool ini ada, tapi hanya untuk aplikasi khusus. Gambar 2.9 Metode Fourth-Generation Techniques (4GT) Metode 4GT ini dimulai dari pengumpulan kebutuhan. Idealnya pelanggan akan menjelaskan kebutuhannya, yang akan langsung ditranslasikan ke prototipe operasional. Tapi, prototipe ini tidak bekerja. Pelanggan mungkin tidak pasti akan hal yang dibutuhkannya atau tidak dapat menentukan informasi yang dapat ditangani tool 4GT. Tool 4GT yang sudah ada tidak cukup canggih untuk mengakomodasikan bahasa alami. Pada saat ini, dialog antara pelanggan dan pengembang yang ada pada metode sebelumnya tetap menjadi bagian penting dari teknik 4GT. Implementasi menggunakan 4GL (Fourth-Generation Language) dapat dihasilkan dari program kode yang sesuai. Tetapi struktur data dengan informasi lainnya harus ada dan dapat diakses oleh 4GL. Untuk aplikasi kecil, adalah mungkin untuk langsung berpindah dari pengumpulan kebutuhan ke implementasi menggunakan bahasa non-prosedural (Fourth-Generation Language - 4GL). Kelebihan: Karena 4GT menggunakan 4GL yang “notabene” merupakan bahasapemrograman yang khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT. Bahkan ada 4GL yang bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools. Kekurangan: Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL. Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional. 4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.

Tidak ada komentar