Anda di halaman 1dari 14

MODUL KULIAH

SEKOLAH TINGGI TEKNOLOGI INFORMASI NIIT

Mata Kuliah Rekayasa Perangkat Lunak


Semester Ganjil 2020/2021
Dosen Susana Dwi Yulianti, M.Kom

Modul 3 (Tiga)
Pertemuan 3 (Tiga)
Topik Software Process Model
Sub Topik Software Process Model
 Model proses perangkat lunak
 Proses kegiatan
Materi
 Mengatasi perubahan
 Proses Terpadu Rasional
 Mahasiswa mampu menjelaskan apa yang dimaksud
dengan model proses perangkat lunak
Tujuan
 Mahasiswa mampu menyebutkan macam-macam model
proses perangkat lunak

Modul Perancangan Database dan ImplementasiPage 1


PERTEMUAN 3
SOFTWARE PROCESS MODEL

A. Proses Perangkat Lunak


Adalah Serangkaian aktivitas terstruktur yang diperlukan untuk
mengembangkan sistem perangkat lunak. Banyak proses perangkat lunak
yang berbeda tetapi semuanya melibatkan:
 Spesifikasi - menentukan apa yang harus dilakukan sistem;
 Desain dan implementasi - mendefinisikan organisasi sistem dan
mengimplementasikan sistem;
 Validasi - memeriksa apakah ia melakukan apa yang diinginkan
pelanggan;
 Evolusi - mengubah sistem sebagai respons terhadap kebutuhan
pelanggan yang berubah.
Model proses perangkat lunak adalah representasi abstrak dari suatu
proses. Ini menyajikan deskripsi proses dari beberapa perspektif tertentu.

Deskripsi proses mencakup:


1. Produk, yang merupakan hasil dari aktivitas proses;
2. Peran, yang mencerminkan tanggung jawab orang-orang yang terlibat
dalam proses;
3. Kondisi pra dan pasca, yaitu pernyataan yang benar sebelum dan
sesudah aktivitas proses diberlakukan atau produk diproduksi.

B. Plan-driven and agile processes


Plan-driven processes adalah proses di mana semua aktivitas proses
direncanakan sebelumnya dan kemajuan diukur terhadap rencana ini.
Dalam agile processes, perencanaan bersifat inkremental dan lebih
mudah untuk mengubah proses tersebut untuk mencerminkan perubahan
kebutuhan pelanggan.

Modul Perancangan Database dan ImplementasiPage 2


Dalam praktiknya, sebagian besar proses praktis mencakup elemen
pendekatan Plan-driven and agile processes. Tidak ada proses perangkat
lunak yang benar atau salah.

C. Model proses perangkat lunak


1. The waterfall model
Plan-driven model. Separate and distinct phases of specification
and development.
2. Incremental development
Specification, development and validation are interleaved. May be
plan-driven or agile.
3. Reuse-oriented software engineering
The system is assembled from existing components. May be plan-
driven or agile.
In practice, most large systems are developed using a process that
incorporates elements from all of these models.

D. The waterfall model

Ada fase diidentifikasi terpisah dalam model air terjun:


1. Analisis dan definisi kebutuhan
2. Desain sistem dan perangkat lunak
3. Implementasi dan pengujian unit
4. Integrasi dan pengujian sistem
5. Operasi dan pemeliharaan

Modul Perancangan Database dan ImplementasiPage 3


Kelemahan utama dari model air terjun adalah sulitnya
mengakomodasi perubahan setelah proses berlangsung. Pada prinsipnya,
sebuah fase harus diselesaikan sebelum melanjutkan ke fase berikutnya.
Partisi proyek yang tidak fleksibel menjadi tahapan yang berbeda
menyulitkan untuk menanggapi kebutuhan pelanggan yang berubah. Oleh
karena itu, model ini hanya sesuai jika persyaratan dipahami dengan baik
dan perubahan akan cukup terbatas selama proses desain. Beberapa
sistem bisnis memiliki persyaratan yang stabil.
Model air terjun sebagian besar digunakan untuk proyek rekayasa
sistem besar di mana sistem dikembangkan di beberapa lokasi. Dalam
keadaan seperti itu, sifat model air terjun yang digerakkan oleh rencana
membantu mengoordinasikan pekerjaan.

E. Incremental development

Keuntungan model incremental development:


1. Biaya untuk mengakomodasi kebutuhan pelanggan yang berubah
berkurang.
Jumlah analisis dan dokumentasi yang harus dilakukan ulang jauh
lebih sedikit daripada yang dibutuhkan dengan model air terjun.
2. Lebih mudah untuk mendapatkan umpan balik pelanggan atas
pekerjaan pengembangan yang telah dilakukan.
Pelanggan dapat mengomentari demonstrasi perangkat lunak dan
melihat seberapa banyak yang telah diterapkan.

Modul Perancangan Database dan ImplementasiPage 4


3. Pengiriman yang lebih cepat dan penyebaran perangkat lunak yang
berguna kepada pelanggan dimungkinkan.
Pelanggan dapat menggunakan dan mendapatkan nilai dari
perangkat lunak lebih awal daripada yang dimungkinkan dengan
proses air terjun.
Kekurangan model incremental development:
1. Prosesnya tidak terlihat.
Manajer membutuhkan kiriman rutin untuk mengukur kemajuan.
Jika sistem dikembangkan dengan cepat, tidak efektif biaya untuk
menghasilkan dokumen yang mencerminkan setiap versi sistem.
2. Struktur sistem cenderung menurun seiring penambahan baru.
Kecuali waktu dan uang dihabiskan untuk refactoring guna
meningkatkan perangkat lunak, perubahan rutin cenderung
merusak strukturnya. Memasukkan perubahan perangkat lunak
lebih lanjut menjadi semakin sulit dan mahal.

F. Reuse-oriented software engineering


Berdasarkan penggunaan kembali sistematis di mana sistem
diintegrasikan dari komponen yang ada atau sistem COTS (Commercial-
off-the-shelf).
Tahapan proses:
1. Component analysis;
2. Requirements modification;
3. System design with reuse;
4. Development and integration.
Reuse sekarang menjadi pendekatan standar untuk membangun
berbagai jenis sistem bisnis.

Modul Perancangan Database dan ImplementasiPage 5


G. Process activities
Proses perangkat lunak nyata adalah rangkaian kegiatan teknis,
kolaboratif, dan manajerial dengan tujuan keseluruhan untuk menentukan,
merancang, menerapkan, dan menguji sistem perangkat lunak. Empat
aktivitas proses dasar yaitu spesifikasi, pengembangan, validasi, dan
evolusi diatur secara berbeda dalam proses pengembangan yang
berbeda. Dalam model air terjun, mereka disusun secara berurutan,
sedangkan dalam perkembangan bertahap mereka saling bertumpuk.

Software specification
Proses pembentukan layanan apa yang dibutuhkan dan batasan
pada operasi dan pengembangan sistem. Persyaratan proses rekayasa:
 Studi kelayakan
Apakah layak secara teknis dan finansial untuk membangun sistem?
 Elisitasi dan analisis kebutuhan
Apa yang dibutuhkan atau diharapkan pemangku kepentingan sistem
dari sistem?
 Spesifikasi kebutuhan
Mendefinisikan persyaratan secara rinci
 Validasi persyaratan
Memeriksa validitas persyaratan

The requirements engineering process

Modul Perancangan Database dan ImplementasiPage 6


Software design and implementation
Proses mengubah spesifikasi sistem menjadi sistem yang dapat
dieksekusi.
 Software Design  Merancang struktur perangkat lunak yang
menyadari spesifikasinya;
 Implementation  Terjemahkan struktur ini ke dalam program yang
dapat dieksekusi;
Kegiatan desain dan implementasi terkait erat dan mungkin saling terkait.

A general model of the design process


Design activities dalam design proses mencakup kegiatan berikut:
 Architectural design, di mana Anda mengidentifikasi keseluruhan
struktur sistem, komponen utama (terkadang disebut sub-sistem
atau modul), hubungannya, dan bagaimana mereka didistribusikan.
 Interface design, tempat Anda menentukan antarmuka antara
komponen sistem.
 Component design, di mana Anda mengambil setiap komponen
sistem dan mendesain cara pengoperasiannya.
 Database design, di mana Anda mendesain struktur data sistem
dan bagaimana ini akan direpresentasikan dalam database.

Modul Perancangan Database dan ImplementasiPage 7


Software validation
Verifikasi dan validasi (V & V) dimaksudkan untuk menunjukkan
bahwa suatu sistem sesuai dengan spesifikasinya dan memenuhi
persyaratan pelanggan sistem. Melibatkan proses pemeriksaan dan
peninjauan dan pengujian sistem. Pengujian sistem melibatkan
pelaksanaan sistem dengan kasus uji yang diturunkan dari spesifikasi
data nyata untuk diproses oleh sistem. Pengujian adalah aktivitas V & V
yang paling umum digunakan.

Stages of testing
Tahapan dari pengujian adalah:
 Development or component testing
Komponen individu diuji secara independen; Komponen dapat berupa
fungsi atau objek atau pengelompokan yang koheren dari entitas ini.
 System testing
Pengujian sistem secara keseluruhan. Pengujian sifat-sifat yang
muncul sangat penting.
 Acceptance testing
Menguji dengan data pelanggan untuk memeriksa bahwa sistem
memenuhi kebutuhan pelanggan.

Testing phases in a plan-driven software process

Modul Perancangan Database dan ImplementasiPage 8


Software evolution
Perangkat lunak pada dasarnya fleksibel dan dapat berubah.
Karena persyaratan berubah melalui perubahan keadaan bisnis,
perangkat lunak yang mendukung bisnis juga harus berkembang dan
berubah. Meskipun telah ada demarkasi antara pengembangan dan
evolusi (pemeliharaan), hal ini semakin tidak relevan karena semakin
sedikit sistem yang benar-benar baru.

H. Mengatasi perubahan
Perubahan tidak bisa dihindari di semua proyek perangkat lunak besar.
o Perubahan bisnis menyebabkan persyaratan sistem yang baru
dan berubah
o Teknologi baru membuka kemungkinan baru untuk
meningkatkan implementasi.
o Mengubah platform membutuhkan perubahan aplikasi.
Perubahan mengarah pada pengerjaan ulang sehingga biaya
perubahan mencakup pengerjaan ulang (mis. Persyaratan analisis ulang)
serta biaya penerapan fungsionalitas baru.
Penghindaran perubahan, di mana proses perangkat lunak mencakup
aktivitas yang dapat mengantisipasi kemungkinan perubahan sebelum
pengerjaan ulang yang signifikan diperlukan. Misalnya, sistem prototipe
dapat dikembangkan untuk menunjukkan beberapa fitur utama sistem
kepada pelanggan.
Toleransi perubahan, di mana proses dirancang agar perubahan
dapat diakomodasi dengan biaya yang relatif rendah. Ini biasanya
melibatkan beberapa bentuk perkembangan tambahan. Perubahan yang
diusulkan dapat diterapkan secara bertahap yang belum dikembangkan.

Modul Perancangan Database dan ImplementasiPage 9


Jika ini tidak mungkin, maka hanya satu kenaikan (sebagian kecil dari
sistem) yang mungkin telah diubah untuk memasukkan perubahan
tersebut.

I. Software prototyping
Prototipe adalah versi awal dari sistem yang digunakan untuk
mendemonstrasikan konsep dan mencoba opsi desain.
Prototipe dapat digunakan di:
 Proses rekayasa persyaratan untuk membantu perolehan dan validasi
persyaratan;
 Dalam proses desain untuk mengeksplorasi opsi dan mengembangkan
desain UI;
 Dalam proses pengujian untuk menjalankan pengujian back-to-back.

Keuntungan dari prototyping:


 Kegunaan sistem yang ditingkatkan.
 Kecocokan yang lebih dekat dengan kebutuhan nyata pengguna.
 Kualitas desain yang ditingkatkan.
 Peningkatan pemeliharaan.
 Mengurangi upaya pengembangan.

The process of prototype development

Mungkin didasarkan pada bahasa atau alat pembuatan prototipe cepat


Mungkin melibatkan pengabaian fungsionalitas:
 Prototipe harus fokus pada area produk yang tidak dipahami dengan
baik;

Modul Perancangan Database dan ImplementasiPage 10


 Pemeriksaan kesalahan dan pemulihan mungkin tidak disertakan
dalam prototipe;
 Fokus pada persyaratan fungsional daripada non-fungsional seperti
keandalan dan keamanan

J. Incremental delivery
Alih-alih mengirimkan sistem sebagai pengiriman tunggal,
pengembangan dan pengiriman dipecah menjadi beberapa peningkatan
dengan setiap kenaikan memberikan bagian dari fungsionalitas yang
diperlukan. Persyaratan pengguna diprioritaskan dan persyaratan prioritas
tertinggi disertakan dalam peningkatan awal. Setelah pengembangan
kenaikan dimulai, persyaratan dibekukan meskipun persyaratan untuk
kenaikan selanjutnya dapat terus berkembang.

Incremental development
 Kembangkan sistem secara bertahap dan evaluasi setiap kenaikan
sebelum melanjutkan ke pengembangan kenaikan berikutnya;
 Pendekatan yang biasa digunakan dalam metode agile;
 Evaluasi dilakukan oleh proxy pengguna / pelanggan.

Incremental delivery
 Menyebarkan kenaikan untuk digunakan oleh pengguna akhir;
 Evaluasi yang lebih realistis tentang penggunaan praktis perangkat
lunak;
 Sulit diimplementasikan untuk sistem pengganti karena
penambahan memiliki fungsionalitas yang lebih sedikit daripada
sistem yang diganti.

Modul Perancangan Database dan ImplementasiPage 11


Kelebihan incremental delivery adalah sebgai berikut:
 Nilai pelanggan dapat diberikan dengan setiap kenaikan sehingga
fungsionalitas sistem tersedia lebih awal.
 Penambahan awal bertindak sebagai prototipe untuk membantu
mendapatkan persyaratan untuk kenaikan selanjutnya.
 Resiko yang lebih rendah dari kegagalan proyek secara
keseluruhan.
 Layanan sistem dengan prioritas tertinggi cenderung menerima
paling banyak pengujian.
Kekurangan incremental delivery adalah sebgai berikut:
 Kebanyakan sistem memerlukan seperangkat fasilitas dasar yang
digunakan oleh bagian sistem yang berbeda.
Karena persyaratan tidak didefinisikan secara rinci hingga suatu
kenaikan diterapkan, maka akan sulit untuk mengidentifikasi
fasilitas umum yang diperlukan oleh semua kenaikan tersebut.
 Inti dari proses iteratif adalah bahwa spesifikasi dikembangkan
sehubungan dengan perangkat lunak.
Namun, ini bertentangan dengan model pengadaan banyak
organisasi, di mana spesifikasi sistem yang lengkap merupakan
bagian dari kontrak pengembangan sistem.

K. Boehm’s spiral model


Proses direpresentasikan sebagai spiral dan bukan sebagai urutan
aktivitas dengan penelusuran mundur. Setiap loop dalam spiral mewakili
fase dalam proses tersebut. Tidak ada fase tetap seperti spesifikasi atau
desain - loop dalam spiral dipilih tergantung pada apa yang diperlukan.
Risiko secara eksplisit dinilai dan diselesaikan selama proses
berlangsung.

Modul Perancangan Database dan ImplementasiPage 12


Boehm’s spiral model of the software process

Spiral model sectors:


 Objective setting
Specific objectives for the phase are identified.
 Risk assessment and reduction
Risks are assessed and activities put in place to reduce the key
risks.
 Development and validation
A development model for the system is chosen which can be any
of the generic models.
 Planning
The project is reviewed and the next phase of the spiral is planned.

Model spiral sangat berpengaruh dalam membantu orang


memikirkan tentang iterasi dalam proses perangkat lunak dan
memperkenalkan pendekatan pengembangan yang didorong oleh risiko.
Namun, dalam praktiknya, model ini jarang digunakan seperti yang
dipublikasikan untuk pengembangan perangkat lunak praktis.

Modul Perancangan Database dan ImplementasiPage 13


Latihan Soal Pertemuan 3

1. Dari soal tugas pertemuan 2, tentukan model proses perangkat lunak


yang mana yang tepat digunakan untuk pengembangan perangkat
lunak tersebut!
2. Berikan alasan kenapa anda memilih model proses tersebut!
3. Buatlah penjabaran apa saja yang dilakukan setiap tahapan pada
model proses PL yang anda pilih!

Modul Perancangan Database dan ImplementasiPage 14

Anda mungkin juga menyukai