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 (^_^)