PROSES-PROSES PERANGKAT LUNAK
description
Transcript of PROSES-PROSES PERANGKAT LUNAK
PROSES-PROSES PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
3
By : Andi Latifa Nabone
1) Model Proses Perangkat Lunak
2) Iterasi Proses
3) Spesifikasi Perangkat Lunak
4) Perancangan dan Implementasi Perangkat Lunak.
5) Validasi Perangkat Lunak
6) Evolusi Perangkat Lunak
MATERI
Proses perangkat lunak merupakan serangkaian suatu
kegiatan dan hasil yang berhubungan dengannya, yang menuju
pada dihasilkannya produk perangkat lunak.
Kegiatan ini mencakup pengembangan perangkat lunak
mulai dari awal, walaupun kenyataannya makin sering terjadi
bahwa perangkat lunak yang baru dikembangkan dengan
memperluas dan memodifikasi sistem yang telah ada.
Walaupun ada banyak proses perangkat lunak, ada kegiatan-
kegiatan mendasar yang umum bagi semua proses perangkat lunak.
Pendahuluan
Model proses perangkat lunak merupakan representasi abstrak
dari proses perangkat lunak.
Setiap model proses merepresentasikan suatu proses dari sudut
pandang tertentu sehingga hanya memberikan informasi parsial
mengenai proses tersebut.
Model-model ini biasanya merupakan abstraksi yang dapat
digunakan untuk menjelaskan pendekatan-pendekatan terhadap
pengembangan perangkat lunak.
Untuk banyak sistem besar, tentu saja, tidak hanya ada satu
proses perangkat lunak yang digunakan.
1. Model Proses Perangkat Lunak
Model proses meliputi;
Pendekatan Model Air terjun (Water fall),
Menempatkan semua aktifitas sesuai dengan tahapan
pada model Waterfall dengan memisahkan dan
membedakan antara spesifikasi dan pengembangan.
Pengembangan yang berevolusi, Pendekatan yang
melanjutkan Aktifitas satu dan yang lainnya dari
Spesifikasi dan pengembangan serta validasi secara cepat.
Pengembangan Evolusioner berdasarkan pada ide untuk
mengembangkan implementasi awal, memperlihatkan kepada
user untuk dikomentari, dan memperbaikinya versi demi versi
sampai sistem yang memenuhi persyaratan.
Tidak ada kegiatan spesifikasi,pengembangan, dan
validasi yang terpisah, alih-alih kegiatan-kegiatan ini dilakukan
pada saat yang bersamaan dengan umpan balik yang cepat untuk
masing-masing kegiatan.
Pengembangan Evolusioner
Dua jenis pengembangan evolusioner:
1) Pengembangan Eksploratori. Bekerja dengan
pelanggan untuk menyelidiki persyaratan mereka
dan mengirimkan sistem akhir.
2) Prototipe Yang Dapat Dibuang (Throw-Away).
Memahami persyaratan pelanggan dan dengan
demikian mengembangkan definisi persyaratan
yang lebih untuk sistem.
Ada 6 Masalah Dalam Pengembangan evolusioner, yaitu :
I. Proses Tidak Bisa Dilihat
II. Sistem Seringkali Memiliki Struktur Yang Buruk
III. Mungkin Diperlukan Alat Bantu Dan Teknik Khusus.
IV. Untuk Sistem Kecil (kurang dari 100.000 baris kode)
V. Untuk Sistem Menengah(sampai 500.000 baris kode)
VI. Waktu Hidup Yang Pendek Bagi Pengembangan Sistem Yang
Besar.
Berdasarkan pada pendekatan pakai-ulang yang sistematik dimana sistem
dintegrasikan dari komponen-komponen yang telah tersedia atau disebut COTS
(Commercial-off-the-shelf) system-system
Tahap Proses ini :
Component analysis(Analisis Komponen)
Requirements modification(Modifikasi Persyaratan)
System design with reuse(Perancangan Sistem dengan Pemakaian Ulang)
Development and integration(Pengembangan Dan Integrasi)
Pendekatan ini menjadi sangat penting namun kajian dan pengalaman masih
sangat terbatas
Pengembangan Berorientasi Pemakaian ulang
Dalam suatu project system requirements selalu mengalami
perubahan, itulah sebabnya iterasi proses pada tahapan awal yang selalu
dikerjakan berulang-ulang menjadi bagian dari prosess pada system yang
lebih besar.
Iterasi dapat diterapkan pada setiap model proses yang generik.
Model Pendekatan Itersi:
1. Pengembangan Inkremental. Dimana spesifikasi, perancangan
dan implementasi perangkat lunak dibagi menjadi serangkaian
inkremen yang dikembangkan secara bergantian.
2. Pengembangan Spiral. Dimana pengembangan sistem seolah
beralur membentuk spiral ke luar dari garis awal sampai sistem
pengembangan akhir.
Proses Iterasi
• Bukan sekedar menghantarkan sistem sebagai “single delivery”,
development dan delivery dipecah menjadi beberapa tahapan dimana
tiap tahap akan mendeliver bagian dari kebutuhan fungsionalitas sistem.
• Mengurangi pengerjaan ulang pada proses pengembangan dan memberi
kesempatan bagi pelanggan untuk menunda keputusan persyaratan rinci
sampai mereka memperoleh pengalaman dengan sistem.
• Pada proses ini pelanggan mengidentifikasi, secara garis besar, layanan
(service) yang akan disediakan oleh sistem.
• Persyaratan pengguna diprioritiskan dan persyaratan prioritas tertinggi
dimasukkan dalam awal increment
Proses Iterasi-(Pengembangan Inkremental)
Process direpresentasikan sebagai spiral bukan aktifitas sequence
dengan backtracking
Merupakan model proses perangkat lunak yang memadukan wujud
pengulangan dari model prototyping dengan aspek pengendalian
dan sistematika dari linear sequential model.
Dalam model ini perangkat lunak dikembangkan dalam suatu seri
incremental release.
Setiap loop dalam spiral merupakan tahap dalam proses.
Tidak ada fase tetap seperti spesifikasi atau desain-loop dalam
spiral dipilih tergantung pada apa yang dibutuhkan.
Resiko secara eksplisit dinilai dan diselesaikan selama proses.
Proses Iterasi-(Pengembangan Spiral)
Setiap Untai Pada Spiral dibagi Menjadi Empat Sektor
Penentuan Tujuan
• Menentukan tujuan untuk phase yang diidentifikasi
Penilaian dan Pengurangan Resiko
• Resiko dikenali dan aktifitas dilakukan untuk mengurangi sejumla
resiko
Pegembangan Dan Validasi
• Model development system ditentukan yang memungkinkan
penggunaan berbagai model secara umum
Perencanaan
• Proyek ini ditinjau dan dibuat rencana untuk fase proyek berikutnya
Proses Iterasi-(Pengembangan Spiral)
Proses ini untuk menentukan services apa yang dibutuhkan dan
batasan pada tahapan pengoperasian dan pengembangan sistem.
Ada 4 Fase Utama Pada Proses Rekayasa Persyaratan:
Studi kelayakan
Elisitasi Dan Analisis Persyaratan
Spesifikasi Persyaratan
Validasi Persyaratan
Spesifikasi Perangkat Lunak
Pendekatan sistemastis untuk mengembangkan desain
sofware.
Desain biasanya didokumentasikan sebagai satu set model
grafis.
Kemungkinan model menjadi:
Data Flow Model
Hubungan Entitas-Atribut Model
Model Struktural
Model Berorintasi Objek
Metode Perancangan
Merubah desain kedalam program dan menghilangkan errors yang
ditimbulkan dari program
Pemrograman merupakan kegiatan pribadi dan disini tidak ada
proses yang biasanya dipakai dan akan memulai dengan komponen-
komponen yang mereka ketahui.
Pemrogram melakukan beberapa pengujian untuk menemukan
kesalahan dalam program dan menghapus kesalahan dalam proses
debugging.
Debugger harus membuat hipotesis mengenai perilaku program
yang dapat terlihat, kemudian menguji hipotesis ini dengan harapan
menemukan kesalahan yang menyebabkan penyimpangan output
Pemrograman Dan Debug
• Verification dan validation diperlukan untuk menunjukkan
bahwa system telah sesuai dengan spesifikasinya dan
memenuhi kebutuhan dari customer
• Melibatkan checking dan review proses serta system testing
• System testing meliputi mengeksekusi system dengan skenario
test yang diturunkan dari spesifikasi data real untuk diproses
oleh system
Validasi Perangkat Lunak
Tahap-Tahap Pada Proses Pengujian:
I. Pengujian Unit. Masing Masing Komponen Diuji.
II. Pengujian Modul. Terkait koleksi komponen tergantung diuji.
III. Pengujian SubSistem. Modul diintegrasikan ke dalam
subsistem dan diuji. Disini harus fokus dalam pengujian
interface.
IV. Pengujian Sistem. Pengujian secara Keseluruhan.
V. Pengujian Penerimaan. Pengujian data pelanggan untuk
memeriksa kinerja sistem.
Software pada dasarnya flexible dan dapat dirubah.
Dengan berubahnya kebutuhan seiring dengan perubahan
kondisi bisnis, software yang mendukung bisnis sudah
selayaknya juga ikut berubah
Walaupun sering terjadi pembatasan antara proses
pengembangan perangkat lunak dan proses evolusi perangkat
lunak (pemeliharaan perangkat lunak). Proses pemeliharaan
dianggap menantang dari pengembangan perangkat lunak
aslinya.
Evolusi Perangkat Lunak
Pengklasifikasian CASE membantu kita dalam memahami berbagai
tipe dari CASE tools dan dukungannya terhadap process activities.
CASE Tool dari tiga sudut pandang:
1. Sudut Pandang Fungsional. Di mana CASE Tool
diklasifikasikan menurut fungsinya.
2. Sudut Pandang Proses. Di mana CASE Tool diklasifikasikan
menurut kegiatan proses yang didukungnya.
3. Sudut Pandang Integrasi. Di mana CASE Tool diklasifikasikan
menurut bagaimana mereka diorganisasikan ke dalam unit-
unit yang terintegrasi, yang memberikan dukungan bagi satu
kegiatan proses atau lebih.
Klasifikasi CASE
1) Tool (Alat Bantu)
• Mendukung pekerjaan proses individual seperti memeriksa
konsistensi perancangan,kompilasi program, membandingkan
hasil pengujian dll.
2) Workbench
• Fase atau kegiatan proses seperti spesifikasi, perancangan, dsb.
Terdiri dari serangkain tool dengan derajat integrasi yang lebih
besar atau lebih kecil.
3) Lingkungan Mendukung
• Semua atau paling tidak bagian yang penting dari proses lengkap
lunak. Lingkungan biasanya mencakup beberapa workbench yang
terintegrasi dengan suatu cara.
CASE Integration
Tool, Workbench dan Lingkungan
Single-methodworkbenches
General-purposeworkbenches
Multi-methodworkbenches
Language-specificworkbenches
Programming TestingAnalysis anddesign
Integratedenvironments
Process-centredenvironments
FilecomparatorsCompilersEditors
EnvironmentsWorkbenchesTools
CASEtechnology
TERIMA KASIH