Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan
Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan

Metode Pengembangan Perangkat Lunak Model Formal

Metode Pengembangan Perangkat Lunak Model Formal

Kali ini saya akan membahas mengenai metode pengembangan perangkat lunak model formal. Diantara semua metode yang ada, yang paling sering dipakai dan digunakan adalah metode ini karena dengan model formal didapat penyelesaian permasalahan yang pas dan tepat tetapi ada beberapa yang faktor yang membuat metode ini tidak cocok untuk beberapa pengembangan perangkat lunak jenis lain.

Metode pengembangan perangkat lunak model formal mencangkup sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak computer. Metode ini memungkinkan perekayasa perangkat lunak untuk mengkhususkan, mengembangkan, dan memverifikasi system berbasis computer dengan menggunakan notasi matematis yang tepat.variasi dalam pendekatan ini, disebut clean-room rekayasa perangkat lunak, sedang diaplikasikan oleh banyak organisasi pengembang perangkat lunak.

Bila metode pengembangan perangkat lunak model formal dipakai selama masa pengembangan, maka akan memberikan mekanisme untuk mengeliminasi banyak masalah yang sulit dipecahkan menggunakan paradigma perangkat lunak yang lain. Ambiguitas, ketidaklengkapan, dan ketidak-konsistenan bisa ditemukan dan diperbaiki secara mudah, tidak melalui kajian ad hoc tetapi melalui aplikasi analisis matematis. Jika metode ini dipakai selama proses perancangan, maka berfungsi sebagai dasar bagi verifikasi program sehingga memungkinkan perekayasa  untuk menemukan dan memperbaiki kesalahan yang mungkin saja tidak terdeteksi.

Metode pengembangan perangkat lunak model formal akan banyak memperoleh penganut diantara pengembang perangkat lunak yang harus membangun perangkat lunak yang kritis untuk keselamatan (misal : pengembangan perangkat medis, dan penerbangan pesawat), serta diantara yang harus menderita karena faktor ekonomis yang harus dialami oleh perangkat lunak.

Metode Pengembangan Perangkat Lunak Model Formal

Metode ini mempunyai keterbatasan dalam pemakaiannya. Keunggulan dari metode pengembangan perangkat lunak model formal ini adalah mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada sistem yang kritis. Hal ini menjadi efektif dari segi biaya.

Pemakaian model pengembangan formal memerlukan tingkat kerahasian sebelum digunakan. Sedangkan permasalahan dalam metode pengembangan perangkat lunak model formal:
  • Pengembangan model formal banyak memakan waktu dan mahal.
  • Karena beberapa pengembang perangkat lunak perlu mempunyai latar belakang yang diperlukan untuk mengaplikasikan metode formal, maka diperlukan pelatihan yang ekstensif.
  • Sulit untuk menggunakan model – model sebagai sebuah mekanisme komunikasi bagi pemakai yang secara teknik belum canggih.

Sumber : modul rekayasa perangkat lunak ITS

Metode Pengembangan Perangkat Lunak 4GT

Metode Pengembangan Perangkat Lunak Fourth Generation Techniques (4GT)

Istilahnya metode pengembangan perangkat lunak generasi keempat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi.  Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut:
  1. Bahasa non prosedural untuk query basis data;
  2. Report generation;
  3. Data manipulation ;
  4. Interaksi layar ;
  5. Kemampuan grafik level tinggi ;
  6. Kemampuan spreadsheet .
Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus. Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT meliputi:
  1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
  2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
  3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
  4. Pengujian.
  5. Membuat dokumentasi.
  6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.
Kelebihan dari metode pengembangan perangkat lunak ini diantaranya :
  • Pengurangan waktu dan peningkatan produktivitas secara besar
  • Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang  khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.
  • Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
Untuk aplikasi yang kecil, adalah mungkin untuk langsung berpindah dari pengumpulan kebutuhan ke implementasi dengan menggunakan metode 4GL. Tapi untuk aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan 4GL. Penggunaan 4GL tanpa perencanaan yang matang (untuk proyek skala besar) akan meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode pengembangan perangkat lunak model konvensional.

Metode Pengembangan Perangkat Lunak Fourth Generation Techniques (4GT)

Kekurangan metode pengembangan perangkat lunak ini
  • Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
  • 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.
Pembahasan materi metode pengembangan perangkat lunak sudah complete, kalo ada yang masih ada yang perlu di tambah bisa kontak admin yach, coz sambil belajar juga :D
Salam dumay (^_^)

Metode Pengembangan Perangkat Lunak - Evolusioner

Metode Pengembangan Perangkat Lunak - Evolusioner

Sebelumnya saya sudah membahas mengenai model prototype, RAD dan metode konvensional. Kali ini saya akan membahas mengenai metode pengembangan perangkat lunak model evolusioner. sebenarnya metode ini bisa di pisah menjadi 2 metode, tetapi beberapa referensi yang saya dapat menyatakan bahwa metode spiral dan incremental masuk ke dalam metode evolusioner. saya tidak akan membahas mengenai perbedaan kesepakan tetapi saya akan menjelaskan sedikit mengenai metode tersebut.
Metode pengembangan perangkat lunak model evolusioner adalah model iterative, ditandai dengan tingkah laku yang memungkinkan perekayasa perangkat lunak mengembangkan versi perangkat lunak yang lebih lengkap sedikit demi sedikit. Kebutuhan produk dan bisnis kadang-kadang berubah seiring dengan laju perkembanganya. Dalam situasi tersebut maupun lainya, perekayasa perangkat lunak membutuhkan sebuah model proses yang sudah dirancang secara eksplisit untuk mengakomodasi perkembangan produk sepanjang waktu. Model ini bukan termasuk metode pengembangan perangkat lunak klasik. Model evolusioner meliputi :

A.    Model pertambahan

Metode pengembangan perangkat lunak secara incremental menggabungkan elemen-elemen model sekuensial linier (diaplikasikan secara berulang) dengan filosofi prototype iterative. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan, perangkat lunak “yang bisa disampaikan.” Contoh, perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigm pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product).

Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.
Gb. Model Incremental

Perkembangan pertambahan, khususnya berguna pada staffing, tidak bisa dilakukan menggunakan implementasi lengkap oleh batas waktu bisnis yang sudah disepakati untuk proyek tersebut. jika produk inti diterima dengan baik, maka staf tambahan bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya.

B.    Model spiral


Awalnya diusulkan oleh Boehm (BOE88), adalah metode pengembangan perangkat lunak yang evolusioner, merangkai sifat iterative dari prototype dengan cara control dan aspek sistematis dari model sekuensial linier. Model yang berpotensi untuk pengembangan versi pertambahan perangkat lunak secara cepat. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain :


  • Komunikasi pelanggan, tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif diantara pengembang dan pelanggan.
  • Perencanaan, tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan.
  • Analisis resiko, tugas-tugas yang dibutuhkan untuk menaksir resiko-resiko, baik manajemen maupun teknis.
  • Perekayasaan, tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
  • Konstruksi dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi) 
  • Evaluasi pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa perekayasaan, dan dimplementasikan selama masa pemasangan.
Metode pengembangan perangkat lunak spiral menjadi pendekatan yang realistis bagi perkembangan system dan perangkat lunak skala besar. Karena perangkat lunak terus bekerja  selama proses bergerak, pengembang dan pemakai memahami, dan bereaksi lebih baik terhadap resiko dari Setiap tingkat evolusi. Model spiral menggunakan prototype sebagai mekanisme pengurangan resiko.

Model spiral membutuhkan keahlian penafsiran resiko yang masuk akal, dan sangat bertumpu pada keahlian ini untuk mencapai keberhasilan. Jika sebuah resiko tidak dapat ditemukan dan diatur, pasti akan terjadi masalah. Model ini membutuhkan waktu bertahun-tahun sampai kehandalannya bisa dipertimbangkan dengan kepastian absolute.

Metode Pengembangan Perangkat Lunak - Evolusioner

C.    Metode pengembangan perangkat lunak model rakitan komponen

Model ini menggabungkan beberapa karakteristik model spiral. Bersifat evolusioner, sehingga membutuhkan pendekatan iterative untuk menciptakan perangkat lunak. Tetapi model ini merangkai aplikasi dari komponen perangkat lunak sebelum dipaketkan (kadang disebut kelas). 
Aktivitas pengembangan perangkat lunak dimulai dengan  identifikasi calon kelas. Dipenuhi dengan mengamati data yang akan dimanipulasi oleh aplikasi dan algoritma-algoritma yang akan diaplikasikan. Data dan algoritma yang berhubungan dikemas ke dalam kelas. Kelas-kelas tersebut disimpan dalam class library (tempat penyimpanan).

Model ini membawa pada penggunaan kembali perangkat lunak, dan kegunaan kembali itu memberi sejumlah keuntungan yang bisa diukur pada pengembangan perangkat lunak.

D.    Model perkembangan konkruen

Representasi aktivitas dalam metode pengembangan perangkat lunak ini meliputi aktivitas analisis, bisa berada dalam salah satu dari keadaan-keadaan yang dicatat pada saat tertentu. Dengan cara yang sama, aktivitas yang lain (desain atau komunikasi pelanggan) dapat direpresentasikan dalam sebuah sikap yang analog. Semua aktifitas ada secara konkruen tetapi dia tinggal didalam keadaan yang berbeda. Model ini sering digunakan sebagai paradigma bagi pengembangan aplikasi klien/server.

Kenyataanya model proses konkruen bisa diaplikasikan ke dalam semua tipe metode pengembangan perangkat lunak, dan memberikan gambaran akurat mengenai keadaan tertentu dari sebuah proyek. Selain membatasi aktivitas perekayasa ke dalam sederetan kejadian, model proses juga mendefinisikan jaringan aktivitas. 

Itulah sedikit penjelasan mengenai metode pengembangan perangkat lunak model evolusioner. semoga membantu untuk materi kuliahnya
salam dumay (^_^)

Metode Pengembangan Perangkat Lunak (RAD)

Metode Pengembangan Perangkat Lunak (RAD)

Metode pengembangan perangkat lunak yang akan saya bahas adalah model raid aplication development atau yang biasa disebut dengan metode RAD, seperti tulisan yang sebelumnya yang membahas metode pengembangan perangkat lunak model prototype. Metode ini di dalam pengembangannya menggunakan semua sumberdaya yang ada dengan tujuan pengembangan perangkat lunak yang sangat cepat dan singkat.  Dan boleh dikatakan ini merupakan model pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat atau pendek.

Jika kebutuhan dipahami dengan baik, proses metode pengembangan perangkat lunak RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari). Pendekatan RAD model menekankan cakupan :

a.     Pemodelan bisnis (Bussiness Modelling)

Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis ? Kemana informasi itu pergi? Siapa yang memprosesnya ?

b.    Pemodelan data (Data Modelling)

Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik/attribut dari masing-masing objek diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.

c.     Pemodelan proses (Process Modelling)

Aliran informasi yang didefinisikan dalam fase pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.

d.    Pembuatan aplikasi (Application generation)

Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, metode pengembangan perangkat lunak RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Pada semua kasus, alat-alat Bantu otomatis dipakai untuk memfasilitasi kontruksi perangkat lunak.

e.    Pengujian dan pergantian (Testing and turnover)

Karena proses metode pengembangan perangkat lunak RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji

Metode Pengembangan Perangkat Lunak (RAD)

Kelemahan model  RAD :
  1. Untuk proyek dengan skala besar, metode pengembangan perangkat lunak RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD yang baik.
  2. Metode pengembangan perangkat lunak RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen dalam aktivitas rapid-fire untuk melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat. Jika komitmen tersebut tidak ada, proyek RAD gagal.
  3. Tidak semua aplikasi sesuai untuk metode pengembangan perangkat lunak RAD.bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematic. RAD menjadi tidak sesuai jika risiko teknisnya tinggi.
Semoga tulisan ini bisa melengkai referensi tentang metode pengembangan perangkat lunak yang konvensional. salam dumay (^_^)

METODE PENGEMBANGAN PERANGKAT LUNAK (Prototype)

Metode Pengembangan Perangkat Lunak (Prototype)

Metode pengembangan perangkat lunak yang akan saya bahas adalah model prototype, seperti tulisan yang sebelumnya yang membahas metode pengembangan perangkat lunak model sekuel linier. Metode ini memiliki 3 unsur yang perlu diperhatikan di dalam pengembangan perangkat lunak yaitu kebutuhan pelanggan, pembuatan pasar atau market dan uji coba kebutuhan pasar. Secara garis besar dapat terlihat pada gambar berikut ini


Metode Prototyping sebagai suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak tetapi juga merevolusi mwtode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC. Metode Prototype merupakan metode pengembangan perangkat lunak yang memodelkan dari sistem kerja suatu perangkat lunak yang belum lengkap dari pihak user. Para pengembang perangkat lunak melakukan koordinasi dan pertemuan-pertemuan yang secara intensif dengan user guna menampung informasi yang akan dijadikan dasar dalam perancangan perangkat lunak. Prototype dari perangkat lunak yang dihasilkan kemudian dipresentasikan kepada  dan user diberikan kesempatan untuk memberikan masukan masukan sehingga perangkat lunak yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan user.

Perubahan dan presentasi prototype ini dapat dilakukan berkali-kali sampai dicapai kesepakatan bentuk perangkat lunak yang akan dipakai

Metode Pengembangan Perangkat Lunak (Prototype)

Metode pengembangan perangkat lunak ini dimulai dengan pengumpulan kebutuhan. Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan secara umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari prototyping model terdiri dari :
  1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.
  2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.
  3. Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.
secara ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja dibangun, pengembang harus menggunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat bantu (contoh: window manager, dsb) yang memungkinkan program yang bekerja agar dimunculkan secara cepat.

Kelemahan prototyping model :
  1. Pelanggan yang melihat working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik
  2. Pengembang kadang-kadang membuat implementasi sembarang, karena ingin working version bekerja dengan cepat.
Metode pengembangan perangkat lunak model prototype dirancang agar dapat menerima perubahan-perubahan dalam rangka menyempurnakan protitype yang sudah ada sehingga pada akhirnya dapat menghasilkan perangkat lunak yang dapat diterima dan perubahan-perubahan yang terjadi dapat dianggap merupakan bagian dari proses pengembangan itu sendiri

artikel berikutnya akan saya jelaskan mengenai metode pengembangan perangkat lunak model RAD.
salam dumay (^_^)

Daftar Pustaka:
Jauhari, Jaidan. ___.“Modul Rekayasa Perangkat Lunak.”__:__.pdf.
Pressman, Roger S. 2002.”Rekayasa Perangkat Lunak (Pendekatan Praktis).” Yogyakarta : Andi.

Metode Pengembangan Perangkat Lunak

METODE  PENGEMBANGAN  PERANGKAT  LUNAK

Secara prinsip metode pengembangan perangkat lunak bertujuan untuk membantu menghasilkan perangkat lunak yang berkualitas. Berikut faktor-faktor yang perlu di cermati dalam pengembangan perangkat lunak.
Metode pengembangan perangkat lunak (atau disebut juga model proses atau paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan proses, metode, dan perangkat (tools). Metode-metode pengembangan perangkat lunak,  memberikan teknik untuk membangun perangkat lunak yang berkaitan dengan serangkaian tugas yang luas yang menyangkut analisis kebutuhan, konstruksi program, desain, pengujian, dan pemeliharaan.

Metode-Metode Pengembangan Perangkat Lunak secara umum ada 4 diantaranya yaitu metode sekuensial linier, prototype, RAD, Fourth Generation Techniques (4GT) dan spiral adapun metode-metode yang lain yaitu  metode Proses Perangkat Lunak Evolusioner (pertambahan, spiral, konkruen), dan metode formal.

METODE  PENGEMBANGAN  PERANGKAT  LUNAK

Pada artikel ini akan saya jelaskan mengenai pemodelan secara sekuensial linier, metode pengembangan perangkat lunak model ini sering juga disebut dengan “siklus kehidupan klasik” atau “model air terjun” atau bisa juga di sebut waterfall.

Metode pengembangan perangkat lunak ini menggunakan pendekatan pada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas :

a.    Rekayasa dan pemodelan system/informasi
Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data

b.    Analisis kebutuhan perangkat lunak
Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi : Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Hasilnya harus didokumentasi dan direview ke pelanggan
c.    Desain

Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak, Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang di mengerti perangkat lunak sebelum dimulai penulisan program. Desain ini harus terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat lunak.

d.    Generasi kode
Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman

e.    Pengujian
Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal dan mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan.

f.    Pemeliharaan
Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Pemeliharaan perangkat lunak mengaplikasikan lagi Setiap fase program sebelumnya dan tidak membuat yang baru. Kegiatan :

  • Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
  • Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya sistem operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan printer driver
  • Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya
Model sekuensial adalah metode pengembangan perangkat lunak yang paling luas dipakai dan paling tua.
Kelemahan model ini antara lain :
  • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah kembali/iterasi sering menyebabkan masalah baru.
  • Linear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana karena kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya tersebut.
  • Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir rentang waktu proyek.
  • Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

Itulah sedikit ulasan materi kuliah tentang metode pengembangan perangkat lunak
 Untuk artikel berikutnya saya jelaskan metode model prototype
Salam dumay (^_^)

Daftar Pustaka:
Jauhari, Jaidan. ___.“Modul Rekayasa Perangkat Lunak.”__:__.pdf.
Pressman, Roger S. 2002.”Rekayasa Perangkat Lunak (Pendekatan Praktis).” Yogyakarta : Andi.

Analisis Risiko Rekayasa Perangkat Lunak

Analisis Risiko Rekayasa Perangkat Lunak

Risiko adalah hal yang tidak akan pernah dapat dihindari pada suatu kegiatan / aktivitas yang di lakukan manusia, termasuk aktivitas project pembangunan dan project konstruksi. Karena dalam setiap kegiatan, seperti kegiatan konstruksi, pasti ada berbagai ketidakpastian (uncertainty).  faktor ketidakpastian inilah yang akhirnya menyebabkan timbulnya risiko pada suatu kegiatan. Para ahli mendefinisikan risiko sebagai berikut :
  1. Risiko adalah suatu variasi dari hasil – hasil yang dapat terjadi selama periode tertentu pada kondisi tertentu (William & Heins, 1985).
  2. Risiko adalah sebuah potensi variasi sebuah hasil (William, Smith, Young, 1995).
  3. Risiko adalah kombinasi probabilita suatu kejadian dengan konsekuensi atau akibatnya (Siahaan,2007).
Jenis-jenis Risiko
Risiko adalah buah dari ketidakpastian, dan tentunya ada banyak sekali faktor – faktor ketidakpastian pada sebuah project yang tentunya dapat menghasilkan berbagai macam risiko. Risiko dapat dikelompokkan menjadi beberapa macam menurut karakteristiknya, yaitu lain:
A.   Analisis Risiko berdasarkan sifat
  1. Risiko Spekulatif (Speculative Risk), yaitu risiko yang memang sengaja diadakan, agar di lain pihak dapat diharapkan hal – hal yang menguntungkan. Contoh: Risiko yang disebabkan dalam hutang piutang, membangun project, perjudian, menjual produk, dan sebagainya.
  2. Risiko Murni (Pure Risk), yaitu risiko yang tidak disengaja, yang jika terjadi dapat menimbulkan kerugian secara tiba – tiba. Contoh : Risiko kebakaran, perampokan, pencurian, dan sebagainya.
B.    Analisis Risiko berdasarkan bisa tidaknya dialihkan
  1. Risiko yang dapat dialihkan, yaitu risiko yang dapat dipertanggungkan sebagai obyek yang terkena risiko kepada perusahaan asuransi dengan membayar sejumlah premi. Dengan demikian kerugian tersebut menjadi tanggungan (beban) perusahaan asuransi.
  2. Risiko yang tidak dapat dialihkan, yaitu semua risiko yang termasuk dalam risiko spekulatif yang tidak dapat dipertanggungkan pada perusahaan asuransi.
C.    Analisis Risiko berdasarkan asalnya
  1. Risiko Internal, yaitu risiko yang berasal dari dalam perusahaan itu sendiri.  Misalnya risiko kerusakan peralatan kerja pada project karena kesalahan operasi, risiko kecelakaan kerja, risiko mismanagement, dan sebagainya.
  2. Risiko Eksternal, yaitu risiko yang berasal dari luar perusahaan atau lingkungan luar perusahaan. Misalnya risiko pencurian, penipuan, fluktuasi harga, perubahan politik, dan sebagainya.

Analisis Risiko Rekayasa Perangkat Lunak

Selain macam – macam Analisis Risiko diatas, Trieschman, Gustavon, Hoyt, (2001), juga mengemukakan beberapa macam risiko yang lain, diantaranya :
A.    Analisis Risiko secara Statis dan Risiko Dinamis (berdasarkan sejauh mana ketidakpastian berubah karena perubahan waktu)
  1. Risiko Statis.  Yaitu risiko yang asalnya dari masyarakat yang tidak berubah yang berada dalam keseimbangan stabil. Risiko statis dapat bersifat murni ataupun spekulatif.  Contoh risiko spekulasi statis : Menjalankan bisnis dalam ekonomi stabil.  Contoh risiko murni statis : Ketidakpastian dari terjadinya sambaran petir, angin topan, dan kematian secara acak (secara random).
  2. Risiko Dinamis. Risiko yang timbul karena terjadi perubahan dalam masyarakat. Risiko dinamis dapat bersifat murni ataupun spekulatif. Contoh sumber risiko dinamis : urbanisasi, perkembangan teknologi, dan perubahan undang – undang atau perubahan peraturan pemerintah.
B.    Analisis Risiko  secara Subyektif dan Risiko Obyektif
  1. Risiko Subyektif, risiko yang berkaitan dengan kondisi mental seseorang yang mengalami ragu – ragu atau cemas akan terjadinya kejadian tertentu.
  2. Risiko Obyektif, probabilita penyimpangan aktual dari yang diharapkan (dari rata – rata) sesuai pengalaman.
Manajemen Risiko
Untuk dapat menanggulangi semua risiko yang mungkin terjadi, diperlukan sebuah proses yang dinamakan sebagai manajemen risiko. Adapun beberapa definisi manajemen risiko dari berbagai literatur yang didapat, antara lain :
  1. Manajemen risiko merupakan proses formal dimana faktor – faktor risiko secara sistematis diidentifikasi, diukur, dan dicari
  2. Manajemen risiko merupakan metoda penanganan sistematis formal dimana dikonsentrasikan pada pengientifikasian dan pengontrolan peristiwa atau kejadian yang memiliki kemungkinan perubahan yang tidak diinginkan.
  3. Manajemen risiko, dalam konteks project, adalah seni dan pengetahuan dalam mengidentifikasi, menganalisis, dan menjawab faktor – faktor risiko sepanjang masa project.
Definisi Manajemen Risiko :
  • Menurut Williams dan Heins, 1985 : Manajemen risiko merupakan pengenalan, pengukuran, dan perlakuan terhadap kerugian dari kemungkinan kecelakaan yang muncul.
  • Redja, 2008 : Manajemen risiko merupakan sebuah proses untuk mengidentifikasi terjadinya kerugian yang dialami oleh suatu organisasi dan memilih teknik yang paling tepat untuk menangani kejadian tersebut.
  • Al Bahar dan Crandall, 1990 : Manajemen risiko adalah sebuah proses formal untuk mengidentifikasi, menganalisis, dan merespon sebuah risiko secara sistematis, sepanjang jalannya project, untuk mendapatkan tingkatan tertinggi atau yang bias diterima, dalam hal mengeliminasi risiko atau kontrol risiko.
  • Williams, Smith, Young, 1995 : Manajemen risiko merupakan suatu aplikasi dari manajemen umum yang mencoba untuk mengidentifikasi, mengukur, dan menangani sebab dan akibat dari ketidakpastian pada sebuah organisasi.
Jaminan Kualitas Perangkat Lunak
            Jaminan kualitas perangkat lunak  ( Software Quality Assurance / SQA ) adalah aktivitas pelindung yang diaplikasikan pada seluruh proses perangkat lunak.
SQA meliputi :
  • pendekatan manajemen kualitas
  • teknologi rekayasa perangkat lunak yang efektif (metode dan peranti)
  • kajian teknik formal yang diaplikasikan pada keseluruhan proses perangkat lunak
  • strategi pengujian multitiered (deret bertingkat)
  • kontrol dokumentasi perangkat lunak dan perubahan
  • prosedur untuk menjamin kesesuaian dengan standar pengembangan perangkat lunak  mekanisme pengukuran dan pelaporan.
Pengelolaan Konfigurasi Perangkat Lunak 
Dalam Pengelolaan Konfigurasi Perangkat Lunak dibagi menjadi 7 tahapan, yaitu:
A.    Definition ( Untuk dapat mengerti tentang permasalahan pengguna agar bisa memperkirakan biaya dan waktu ).
Pada tahap ini dibagi menjadi 3 aktivitas utama, yaitu:
  • Requirements document ( RD ).
  • Keputusan untuk dikerjakan/tidak dikerjakan(The Go / No-Go Decision).
  • Proposal ( Analysis Proposal ) Apa saja yang akan disampaikan, kapan dan berapa biaya.
B.    Analysis
  • Functional Specifications (FE), apa saja yang akan diselesaikan oleh sistem untuk pengguna , dan juga kontrak antara pengguna dan Project Team ( PT ).
  • Menghasilkan Proposal.
C.    Design
  • Rancangan Sistem, spesifikasi rancangan dan pengujian rancangan
  • Rencana Acceptance Test (ATP), daftar pengujian yang akan digunakan untuk menguji fungsi pada sistem kepada pengguna pada tahap acceptance.
D.    Programming
  • Rancangan Modul, programmer menerima beberapa tingkatan dari rancangan . Tugas programmer adalah membuat lebih rinci sehingga dapat dibuat programnya rancangan.
  • Coding
E.  System Test, Untuk memastikan setiap bagian dari program dapat terintegrasi sehingga dapat menjalankan fungsi sistem sebagaimana yang diinginkan
  • Integrasi
  • Pengujian
F.    Acceptance
  • Pada tahap ini akan dilakukan pengujian sesuai dengan Acceptance Test Planning (tahap 3) yang telah didefinisikan untuk memastikan sistem berjalan sukses sukses.
  • Hal yang penting adalah pengesahan sebagai acceptance pengguna terhadap pengujian
G.    Operation
  • Warranty (aktivitas utama)
  • Post Project Review (aktivitas tambahan)
  • Nilai tambah untuk project berikutnya
  • Maintenance
Alat Manajemen Lingkup Project
            Dalam aplikasi Manajemen Project, terdapat beberapa alternatif alat (tools) yang dapat digunakan. Alat-alat tersebut digunakan berdasarkan knowledge yang dimaksud. Dalam tulisan ini akan dibahas mengenai tool yang digunakan ketika membahas mengenai lingkup pekerjaan.

Manajemen lingkup (scope management) project termasuk salah satu knowledge area yang paling penting dalam PMBOK. Banyak knowledge area lain yang tergantung dengan scope management ini. Kesalahan dalam manajemen lingkup sudah pasti akan menyebabkan kesalahan lain yang bersifat efek domino. Untuk itu sangat penting untuk dipahami.

Berdasarkan PMBOK 2004, Manajemen Lingkup Project (Project Scope Management) terbagi atas lima tahap. Berikut tahapan dan tools yang dapat digunakan yaitu:
A.    Scope Planning:
  • Expert Judgement, dalam pengertian praktisnya adalah pertimbangan / pendapat ahli / orang yang berpengalaman. Dalam hal ini, experts judgement adalah pendapat orang yang berpengalaman / ahli terkait bagaimana project yang sejenis mengelola lingkup yang digunakan dalam rencana pengelolaan lingkup project (Project Scope Management Plan)
  • Templates, Forms, Standarts, ini adalah bentuk atau cara kerja atau daftar isian atau standard dalam memproses suatu input. Alat ini akan memudahkan dalam hal memproses data karena dibuat lebih praktis.
B.    Scope Definition
  • Product Analisis, tiap area aplikasi memiliki satu atau lebih metode yang diterima secara umum untuk menterjemahkan obyektif project menjadi sasaran dan persyaratan yang nyata. Product analysis termasuk teknik-teknik seperti breakdown produk, analisis sistem, engineering sistem, value engineering, analisis nilai dan analisis fungsional.
  • Alternatives indentification, identifikasi alternatif adalah suatu teknik yang digunakan untuk men”generate” pendekatan berbeda untuk melaksanakan dan menghasilkan pekerjaan project. Suatu variasi atas teknik manajemen umum sering digunakan disini, yang sering digunakan adalah brainstorming dan berfikir lateral.
C.    Experts Judgement
  • Stakeholder Analisis, analisis stakeholder identifikasi pengaruh dan ketertarikan dari berbagai pihak yang terkait dan terpengaruh di project dan dokumen yang mereka perlukan, inginkan dan harapkan. Analisis akan memilih dan memprioritaskan dan menilai kebutuhan, keinginan dan harapan untuk menciptakan persyaratan. Ketertarikan stakeholder bisa berdampak positif dan negatif oleh pelaksanaan dan penyelesaian project dan mereka mungkin juga menggunakan pengaruh atas project dan hasil-hasilnya.
D.    Create WBS
  • WBS Templates, walaupun project itu unik, form WBS dari project sebelumnya dapat sering digunakan sebagai template untuk project baru jika beberapa project menyerupai project sebelumnya dengan sedikit perkembangan.
  • Decomposition, dekomposisi adalah subbagian sasaran project yang lebih kecil, komponen yang lebih managable hingga pekerjaan dan sasaran terdefinisi menjadi the work package level ( level terendah dalam WBS dan titik dimana biaya dan schedule pekerjaan menjadi dapat diperkirakan dengan lebih baik). Level atas detail paket pekerjaan akan bervariasi secara ukuran dan kompleksitas project.
E.    Scope Verification
  • Inspection, inspeksi meliputi aktifitas seperti pengukuran, pemeriksaan, dan verifikasi untuk menentukan apakah pekerjaan dan sasaran mencapai persyaratan dan kriteria penerimaan produk. Inspeksi disebut juga review, review produk, audit.
F.    Scope Control
  • Change Control System, prosedur dimana lingkup project dan produk dapat diubah. Sistem ini meliputi dokumentasi, sistem tracking, dan level persetujuan yang diperlukan untuk pengesahan perubahan. Sistem ini terintegrasi dengan semua sistem informasi manajemen project untuk mengendalikan lingkup project. Ketika project dikelola di bahwa suatu kontrak, sistem kendali perubahan juga mengikuti dengan semua pasal kontrak yang relevan.
  • Variance Analysis, pengukuran kinerja project digunakan untuk menilai tingkat perubahan yang terjadi. Aspek penting dalam pengendalian lingkup project adalah menentukan penyebab perubahan secara relatif terhadap baseline lingkup pekerjaan dan memutuskan apakah langkah koreksi diperlukan.
  • Replanning, permintaan perubahan yang telah disetujui menyebabkan lingkup project dapat mensyaratkan modifikasi WBS dan Kamus WBS. Pernyataaan lingkup project, dan rencana manajemen lingkup project. Persetujuan tersebut dapat menyebabkan update pada komponen-komponen rencana manajemen project
  • Configuration Management System, suatu sistem manajemen konfigurasi yang resmi memberikan prosedur untuk status sasaran, dan menjamin bahwa permintaan perubahan atas lingkup project / lingkup produk secara menyeleuruh dipertimbangkan dan didokumentasikan sebelum diproses melalui proses kendali perubahan terintegrasi.
Sedikit tulisan mengenai Analisis risiko rekayasa perangkat lunak yang merupakan tambahan pendukung untuk tulisan saya http://kuliahku-kampusku.blogspot.com/2013/05/materi-rekayasa-perangkat-lunak.html


Salam dumay (^_^)

Sumber : Modul digital ITS

Persiapan Project Perangkat Lunak

PERSIAPAN PROJECT PERANGKAT LUNAK

Untuk Menjadi project manager harus menguasai beberapa hal untuk dapat menyusun suatu planning project rekayasa perangkat lunak.

Sifat manajemen project haruslah seperti berikut ini:
  • Menyeselsaikan masalah,
  • Mengerjakan sesuatu hingga selesai,
  • Memiliki batas waktu mulai dan selesainya,
  • Membutuhkan resource/sumber daya dan waktu,
  • Bagi beberapa orang merupakan kesempatan/opportunity dan menarik.
Manajemen itu berupa persiapan pekerjaan, pelaksanaan rencana, mengendalikan project tersebut dan terakhir menutup project dengan sebuah kesimpulan, yaitu sukses.

Tahapan project perangkat Lunak dapat di lihat seperti gambar berikut

                                                                 Gambar Tahapan Project Perangkat Lunak
  1. Initiating: project sedang dalam proses untuk dipilih/disetujui, disponsori, didanai, dan diluncurkan.
  2. Planning: perencanaan adalah proses yang berulang (perhatikan gambar). Perencanaan pada dasarnya menggambarkan proses bagaimana project akan dilaksanakan hingga selesai.
  3. Executing: setelah project direncanakan, tim project memulai pekerjaannya.
  4. Controlling: selama tim project mengerjakan tugasnya, project manager mengontrolnya.
  5. Closing: setelah project diselesaikan project manager akan menutup project software.
Banyak project gagal di awal, bukan di akhir. Artinya, persiapan adalah bagian yang sangat penting bagi project software. Persiapan diwujudkan dalam bentuk perencanaan project. 

Persiapan Project Perangkat Lunak

Tujuan Perencanaan Project Perangkat Lunak
Perencanaan project Rekayasa Perangkat Lunak dari berbagai sudut pandang kurang lebih memiliki tujuan sebagai berikut:
I.    Bagi Project Manager:
  1. untuk menggambarkan status project kepada manajer senior dan stakeholder,
  2. untuk merencanakan aktivitas tim project.
II.    Bagi anggota Tim project: untuk memahami konteks pekerjaan.
III.    Bagi Manajer Senior:
  1. untuk memastikan apakah biaya dan waktu yang dialokasikan masuk akal dan terkendali,
  2. untuk melihat apakah project dilaksanakan secara efisien dan cost effective.
IV.    Bagi Stakeholder:
  1. untuk memastikan apakah project masih berada pada jalurnya,
  2. untuk memastikan kebutuhan mereka sedang diakomodir oleh project.
Perencanaan project rekayasa perangkat lunak membahas berbagai tindakan atau pekerjaan yang perlu dilakukan oleh semua yang terlibat di dalam project, termasuk dokumen-dokumen yang sebaiknya dibuat. Dokumen Perencanaan Project Rekayasa Perangkat Lunak akan terdiri atas sub-sub dokumen berikut ini:
  1. Vision and Scope
  2. Statement of Work
  3. Resource List
  4. Work Breakdown Structure
  5. Project Schedule
  6. Risk Plan
Vision and Scope
Dokumen ini adalah hasil kerja pertama dari seorang project manager. Berikutnya dokumen ini akan menjadi tool utama bagi project manager untuk acuan bagi dokumen-dokumen dan proses-proses berikutnya. Dokumen Vision and Scope yang baik dapat mencegah terjadinya masalah-masalah yang dapat memakan biaya yang besar. Dengan menunjukkan dokumen ini, baik kepada stakeholder maupun anggota tim project, diharapkan pemahaman yang sama tentang project yang sedang berjalan dapat diraih. Dokumen ini dapat dibagi menjadi dua bagian,yaitu:
  1. Problem Statement
  2. Vision of the Solution
Statement of Work
Statement of Work adalah dokumen yang menggambarkan semua produk yang akan dihasilkan selama project berjalan dan siaa yang akan mengerjakannya. Secara lebih detil, di dalam SOW akan dirinci:
  1. Daftar fitur yang akan dibuat; jika software akan dirilis dalam fase-fase, maka fiturnya juga harus dibagi ke dalam fase-fase tersebut.
  2. Deskripsi hasil kerja (work product: spesifikasi kebutuhan, source code, test plan, laporan defect, dll) yang akan dibuat.
  3. Estimasi usaha setiap work product tersebut.
Resource List
Resource list adalah daftar resource/sumber daya yang digunakan selama project berlangsung. Daftar ini berisi apa saja yang dibutuhkan berdasarkan jadwal project dengan mencantumkan deskripsi resource tersebut serta limit ketersediaan resource tersebut. Daftar semacam ini umumnya dapat dibuat menggunakan software manajemen project. Tetapi bisa juga dibuat dengan worksheet atau word processor. Setelah SOW dan Resource List dibuat, seorang project manager harus membuat jadwal project (project schedule). Ini bisa dilakukan dengan urutan sebagai berikut:
  1. Membuat Work Breakdown Structure
  2. Estimasi usaha yang dibutuhkan oleh setiap pekerjaan pada WBS
  3. Project schedule dibuat dengan mengalokasikan resource dan waktu, berdasarkan kalender, untuk tiap pekerjaan pada WBS.
Work Breakdown Structure
Work Breakdown Structure, disingkat WBS, berisi daftar pekerjaan yang jika diselesaikan akan menghasilkan work product. WBS menyebutkan:
  1. Apa saja pekerjaan yang akan dilakukan,
  2. Tipe-tipe resource yang dibutuhkan untuk bekerja,
  3. Estimasi tiap elemen pekerjaan,
  4. Identifikasi lokasi penyimpanan.
Tetapi tidak mencantumkan:
  1. Siapa yang mengerjakan pekerjaan-pekerjaan itu,
  2. Dan kapan pekerjaan itu akan diselesaikan.

Project Schedule
Project Schedule atau jadwal project dibuat oleh project manager untuk mengatur manusia di dalam project dan menunjukkan kepada organisasi bagaimana pekerjaan (project) akan dilaksanakan. Ini adalah alat untuk memantau (bagi project manager) apakah project dan tim masih terkendali atau tidak.

Project schedule berbentuk kalender yang dihubungkan dengan pekerjaan yang harus dikerjakan dan daftar resource yang dibutuhkan. Sebelum jadwal dibuat, WBS harus terlebih dahulu ada, jika tidak maka jadwal tersebut akan terkesan mengada-ada.

Risk Plan
Risk plan adalah daftar resiko/masalah yang mungkin terjadi selama project berlangsung dan bagaimana menangani terjadinya resiko tersebut. Bagaimanapun juga ketidakpastian adalah musuh semua rencana, termasuk rencana project. Terkadang ada saja waktu-waktu yang tidak menyenangkan bagi project, banyak kesulitan terjadi misalnya suatu resource tiba-tiba tidak tersedia. Oleh karenanya risk plan adalah persiapan terbaik menghadapi ketidakpastian.

Tulisan ini sebagai pelengkap tulisan saya yang ada pada halaman http://kuliahku-kampusku.blogspot.com/2013/05/materi-rekayasa-perangkat-lunak.html

Salam dumay (^_^)

Sumber : di sadur dari tulisan Amri Shodiq, ilmu komputer 2003-2007

Materi Rekayasa Perangkat Lunak

Materi Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak merupakan salah satu mata kuliah yang di dapat pada jurusan Informatika, biasanya sekitar semester 6. Rekayasa perangkat Lunak membahas mengenai semua hal yang berkaitan dengan pengembangan suatu perangkat lunak atau yang biasa kita kenal sebagai software, meskipun perangkat lunak tidak hanya software saja terkadang juga batch programming, prosedur ataupun class dan lain sebagainya.

Rekayasa perangkat lunak juga menjadi salah satu jurusan di SMK di Indonesia. Adapun pembahasan materinya di dalam sekolah menengah kejuruan menjelaskan semua tentang proses-proses pembuatan suatu perangkat lunak, tetapi lebih ditekankan didalam proses coding dan pembuatannya saja untuk analisis dan beberapa komponen lain masih belum di perdalam.

Rekayasa perangkat lunak sebenarnya adalah proses update atau pengubahan suatu perangkat lunak yang bertujuan untuk mengembangkan, memelihara serta membangun suatu perangkat lunak agar dapat bekerja secara efisien dan efektif bagi user.

Didalam perkuliahan materi rekayasa perangkat lunak secara garis besar ada 6 materi yaitu :
  1. Pengenalan Rekayasa Perangkat Lunak
  2. Konsep dasar rekayasa perangkat lunak
  3. Metode Pengembangan perangkat lunak
  4. Analisis Risiko
  5. Persiapan Project perangkat lunak
  6. Analisis Desain
  7. Testing dan implementasi
Di dalam materi pengenalan rekayasa perangkat lunak yang pertama dipelajari adalah materi secara umum yaitu pengertian berdasarkan kesepakatan serta beberapa tokoh, definisi secara umum, sejarah, perkembangan, tokoh-tokohnya. Di dalam materi ini juga di jelaskan tentang perangkat lunak secara umum, mulai dari karakteristik suatu perangkat lunak, tujuan pembuatan dari beberapa sisi baik itu dari sisi pengguna, dari sisi sponsor atau pihak yang mendanai ataupun dari sisi pengembang.

Konsep Dasar Rekayasa Perangkat Lunak. Didalam materi ini di jelaskan tentang konsep-konsep dasar dalam mengembangkan suatu perangkat lunak.  Dijelaskan juga tentang rekayasa perangkat lunak di dalam dunia praktis atau lapangan. Di dalam materi ini juga di jelaskan tentang siklus suatu rekayasa perangkat lunak mulai dari pra produksi, pengembangan, pasca produksi hingga rekayasa atau yang biasa kita lakukan dalam software adalah patch (menutupi kekurangan).  Di sini juga dijelaskan mengenai tingkatan perangkat lunak, jenis-jenis perangkat lunak dan perkembangan perusahaan perangkat lunak.

Metodologi pengembangan perangkat lunak atau disebut juga model proses atau paradigma rekayasa perangkat lunak adalah suatu strategi pengembangan yang memadukan proses, metode, dan perangkat (tools). Didalam matei ini di jelaskan mengenai metode-metode pengembangan perangkat lunak yang pernah di pakai dan sering di pergunakan di dalam mengembangkan software diantaranya metode sekuensial linier, prototype, RAD, Fouth Generation Techniques (4GT) , spiral, metode Proses Perangkat Lunak Evolusioner (pertambahan, spiral, konkruen), dan metode formal.

Materi Rekayasa Perangkat Lunak

Analisis Resiko,di dalam matei ini di jelaskan mengenai resiko-resiko yang akan di hadapi dalam pengembangan suatu perangkat lunak. Di sini dijelaskan semua mengenai jenis-jenis resiko kemudian bagaimana menanganinya atau memanagement suatu resiko. Dan Bagaimana suatu resiko itu dapat di manfaatkan sebagai referensi di dalam pengembangan perangkat lunak dan selanjutnya.

Persiapan Project Perangkat Lunak, di dalam materi ini menjelaskan apa saja yang perlu di siapkan di dalam mengembangkan suatu project perangkat lunak. materi ini menjelaskan tentang manajemen proyek suatu pengembangan perangkat lunak berdasarkan tahap-tahap pengembangan yang baik, mulai dari Initiating(proyek sedang dalam proses untuk dipilih/disetujui, disponsori, didanai, dan diluncurkan. Planning (perencanaan adalah proses yang berulang dan menggambarkan proses bagaimana proyek akan dilaksanakan hingga selesai), Executing (setelah proyek direncanakan, tim proyek memulai pekerjaannya), Controlling (selama tim proyek mengerjakan tugasnya, project manager mengontrolnya) dan yang terakhir adalah Closing (setelah proyek diselesaikan project manager akan menutup proyek software).

Materi berikutnya adalah Analisis desain. Di dalam materi ini di jelaskan tentang sistem informasi, fase-fase analisis desain, maintenance sistem, case tools, metodologi alternatif.

Materi yang terakhir adalah Testing dan Implementasi. Di jelaskan secara umum karakterisk strategi pengujian perangkat lunak, tahapan-tahapan proses pengujian, dijelaskan pula faktor-faktor apa saja yang di perlukan didalam pengujian suatu perangkat lunak. Kemudian pengimplementasian kepada user seperti apa dan bagaimana suatu rekayasa dianggap berhasil atau gagal.

Mata Kuliah Rekayasa Perangkat Lunak biasanya memiliki prasayarat algoritma 1 dan 2, hal ini bertujuan agar mahasiswa yang mengampu dapat memahami secara menyeluruh materi yang akan di dapat sehingga tidak perlu lagi mengulang materi yang sudah di dapat sebelumnya.

Itulah sedikit penjelasan mengenai Materi rekayasa perangkat lunak, untuk modul rekayasa perangkat lunak bisa di download di LINK ini.

Salam dumay (^_^)

RPL Rekayasa Perangkat Lunak

RPL - Rekayasa perangkat lunak

RPL yang sebenarnya merupakan singkatan dari rekayasa perangkat lunak. Apa sich artinya rekayasa perangkat lunak itu?. Sebelum membahas mengenai apa itu rekayasa perangkat lunak seharusnya kita tahu apa sebenarnya dari perangkat lunak itu sendiri. Apakah perangkat lunak itu adalah barang-barang halus seperti makanan, serbuk-serbuk atau hal-hal lain yang lunak-lunak. Tentu saja tidak bukan! Jadi apakah yang dimaksud perangkat lunak itu, perangkat lunak yang dimaksudkan di sini adalah semua program yang ada di dalam komputer. Secara definisi, perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi baik itu berupa program atau prosedur. Sedangkan program adalah kumpulan perintah yang dimengerti oleh komputer, dan prosedur adalah perintah yang di butuhkan oleh pengguna dalam memproses informasi.
Setelah tahu arti dari perangkat lunak, lalu apakah definisi dari rekayasa perangkat lunak itu? Sebenarnya rekayasa perangkat lunak merupakan adopsi dari penjabaran software engineering. Software engineering sendiri menurut IEEE Computer Society adalah penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

Setelah perkembangannya ada juga yang menyatakan bahwa rekayasa perangkat lunak adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.

Sebenarnya rekayasa perangat lunak itu merupakan pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara dan membangun kembali dengan menggunakan prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja efisien dan efektif untuk pengguna.

RPL - Rekayasa perangkat lunak

Dari beberapa definisi dan penjelasan diatas ada beberapa kategori dari suatu rekayasa perangkat lunak yaitu :
1. Maintainability yang artinya perangkat lunak dapat terus dirawat dan dipelihara.
Pengertian lain dari maintainability adalah suatu usaha yang diperlukan untuk menemukan dan memperbaiki kesalahan dalam perangkat lunak. maintanability diperlukan untuk pemeliharaan perangkat lunak dimana setelah dikembangkan dan diimplementasikan terdapat beberapa hal yang perlu diperbaiki berdasarkan hasil ujicoba maupun evaluasi. Suatu perangkat lunak yang baik dikatakan maintainability dapat dengan mudah direvisi apabila diperlukan.

2. Dependability yang artinya perangkat lunak dapat mengikuti perkembangan teknologi.
Dependability maksudnya suatu perangkat lunak dapat diandalkan dan mengikuti perkembangan, secara kasarnya dependability itu maksudnya adalah kepercayaan konsumen terhadap suatu perangkat lunak.  Sebenarnya dependability itu sendiri tergantung dari beberapa faktor diantaranya availability (ketersediaan sistem pada setiap waktu diperlukan oleh sistem) , reliability (kecenderungan sistem gagal dalam melaksanakan perintah), security(bagian dari sistem yang mencerminkan kemampuan untuk berjalan secara normal tanpa menyebabkan resiko bagi pengguna) dan safety(berkaitan dengan kehandalan sistem dalam menangkal ancaman dari luar sistem).

3. Robust yang artinya perangkat lunak dapat mengikuti keinginan pengguna.
Maksud dari robust perangkat lunak adalah kinerja atau hasil yang diharapkan meskipun dalam kondisi yang tidak ideal seperti adanya gangguan yang tidak terkendali yang dapat mempengaruhi kinerja perangkat lunak.

4. efektif dan efisien dalam menggunakan energi dan penggunaannya
suatu perangkat lunak dikatakan efektif dan efisien artinya pengguna tidak harus melakukan proses yang berulang-ulang hanya untuk menghasilkan beberapa output yang diinginkan.

5. Usability yang artinya dapat memenuhi kebutuhan yang diinginkan
Usability adalah tingkat kualitas dari perangkat lunak yang mudah dipelajari, mudah digunakan dan mendorong pengguna untuk menggunakan perangkat lunak sebagai alat bantu positif dalam menyelesaikan tugas. Usability adalah suatu ukuran, dimana pengguna dapat mengakses fungsionalitas dari sebuah perangkat lunak dengan efektif, efisien dan memuaskan dalam mencapai tujuan tertentu

Ya itulah sedikit penjelasan mengenai RPL- rekayasa perangkat lunak versi ane gan.
Semoga membantu kawan semua yang lagi cari-cari informasi (^_^)
Salam dumay

Sumber : wiki, soetjie.blogstudent.mb.ipb.ac.id,  galihmuktiaji.wordpress.com, dan beberapa blog yang belum sempat kesimpan karena banyaknya saya mencari referensinya :)

Materi Rekayasa Perangkat Lunak

PENDAHULUAN

Perangkat Lunak
Merupakan program-program komputer dan dokumentasi yang berkaitan,
Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum
Produk perangkat lunak tersebut:
Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda
Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.

Rekayasa Perangkat Lunak:
adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak.
mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia

Proses Perangkat Lunak
Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak.
Aktifitas generic dalam semua proses perangkat lunak adalah:
Spesifikasi – apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya
Pengembangan – proses memproduksi sistem perangkat lunak
Validasi – pengujian perangkat lunak terhadap keinginan penggunak
Evolusi – perubahan perangkat lunak berdasarkan perubahan keinginan.

Model Proses Perangkat Lunak
Suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dar perspektif khusus
Contoh perspektif proses:
Perspektif Alur-kerja (workflow) - barisan kegiatan
Perspektif Alur Data (Data flow) – alur informasi
Perspektif Peran/Aksi – siapa melakukan apa.
Model proses Generik:
Waterfall (Air terjun)
Pengembangan secara evolusi
Transformasi formal
Model SPiral
Integrasi daru komponen yang reusable

Biaya rekayasa perangkat lunak
Sekitar 60% untuk biaya pengembangan, 40% biaya pengujian. Untuk perangkat lunak berbasis pengguna (custom), biaya evolusi biasanya melebihi biaya pengembangan.
Biaya beragam tergantung pada tipe sistem yang akan dikembangkan dan kebutuhan sistem seperti unjuk kerja dan kehandalan sistem,
Distribusi biaya bergantung pada model pengembangan yang digunakan.

Metode Rekayasa Perangkat Lunak
Pendekatan terstruktur pengembangan PL termasuk model sistem, notasi, perancangan dan petunjuk pemrosesan,
Deskripsi Model: deskripsi pemodelan dengan grafik,
Aturan: Batasan yang digunakan pada model sistem
Rekomendasi: nasihat bentuk perancangan yang baik,
Petunjuk proses: Aktifitas yang harus diikuti,

Atribut Perangkat Lunak yang baik:
PL seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat di rawat, berguna,
Maintanability (Dapat Dirawat)
PL harus dapat memenuhi perubahan kebutuhan
Dependability
PL harus dapat dipercaya
Efisiensi
PL harus efisien dalam penggunaan resource
Usability
PL harus dapat digunakan sesuai dengan yang direncanakan


Proses Perangkat Lunak

Suatu proses model adalah suatu representasi abstrak suatu model. Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,

Proses PL merupakan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak.

Model Proses PL yang Generic
Model Air terjun (Water fall)
o Memisahkan dan membedakan antara spesifikasi dan pengembangan
Pengembangan yang berevolusi
o Spesifikasi dan pengembangan saling bergantian
Pengembangan sistem Formal
o Menggunakan suatu model sistem matematika yang ditransformasikan ke implementasi,
Pengembangan berbasis Re-use (penggunaan ulang)
Sistem dibangun dari komponen yang sudah ada.

Model Air Terjun (Water Fall)
...... ........ .............................

untuk lebih lengkapnya dapat download di sini :
http://www.ziddu.com/downloadlink/8657652/RPL1.rar
http://www.ziddu.com/downloadlink/8657719/RPL2.rar
http://www.ziddu.com/downloadlink/8657786/RPL3.rar
(copas dr beberapa halaman website)