Anda di halaman 1dari 51

Rekayasa

Perangkat Lunak (RPL)


dan Model Proses RPL

Dr. Elviawaty Muisa Zamzami, MT, MM

2023
Rekayasa
Perangkat Lunak
(Software Engineering )

2
Bahasan
Rekayasa (Engineering)

Ilmu Komputer dan Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak


Beberapa Komparasi Rekayasa PL dan Ilmu
Komputer
Definisi Rekayasa Perangkat Lunak
Beberapa Komparasi Rekayasa PL dan Rekayasa
(Umum)
Sejarah Rekayasa Perangkat Lunak

Beberapa Terminologi

Tujuan Rekayasa Perangkat Lunak

Pemodelan Pada Rekayasa Perangkat Lunak

Ruang Lingkup Rekayasa Perangkat Lunak

3
Rekayasa (Engineering)

Pemakaian ‘sains’ untuk menyelesaikan


‘masalah praktis’.

Membuat dari tidak ada menjadi ada.

4
Rekayasa Perangkat Lunak

Rekayasa perangkat lunak adalah disiplin ilmu


yang membahas semua aspek produksi
perangkat lunak, mulai dari tahap awal
spesifikasi sistem sampai pemeliharaan
sistem setelah digunakan.

5
Definisi Rekayasa Perangkat Lunak
[Fritz Bauer]

Pembentukan dan penggunaan prinsip-


prinsip rekayasa yang baik untuk
mendapatkan perangkat lunak ekonomis
yang andal dan bekerja efisien pada
mesin nyata.

6
Definisi Rekayasa Perangkat Lunak
[Alan M.Davis]

Merupakan aplikasi dari prinsip-prinsip sains untuk:

• Mengurutkan transformasi masalah menjadi solusi


perangkat lunak yang dapat bekerja baik.
• Urutan pemeliharaan perangkat lunak tersebut
sampai tidak dipergunakan lagi.

Proses rekayasa perangkat lunak dimulai jauh


sebelum ‘coding’ dilakukan dan berlanjut terus setelah
versi awal dari perangkat lunak selesai dikerjakan.

7
Definisi Rekayasa Perangkat Lunak
[IEEE]

• Aplikasi dari sebuah pendekatan kuantifiabel,


disiplin, dan sistematis kepada pengembangan,
operasi, dan pemeliharaan perangkat lunak; yaitu
1. aplikasi dari rekayasa perangkat lunak.

• Studi tentang pendekatan-pendekatan seperti


pada (1).
2.

8
Sejarah Rekayasa Perangkat Lunak
Terjadi krisis perangkat lunak (software crisis) di era tahun 1960-an.

Krisis perangkat lunak terjadi akibat langsung dari lahirnya komputer generasi ke-3 yang
canggih, ditandai dengan penggunaan Integrated Circuit (IC) untuk komputer.

Performansi per. keras yang meningkat membutuhkan per.lunak yang lebih baik sehingga
per.lunak menjadi lebih besar dan kompleks.

Pendekatan informal yang digunakan pada waktu itu dalam pengembangan per.lunak
tidak cukup efektif (secara cost, waktu dan kualitas).

Biaya per.keras mulai jatuh dan biaya per.lunak meningkat, sehingga timbul pemikiran
untuk menggunakan pendekatan rekayasa yang lebih pasti, efektif, standar, dan terukur
dalam pengembangan per.lunak.

9
Tujuan Rekayasa Perangkat Lunak

Menyediakan
sebuah kerangka
kerja guna
membangun
perangkat lunak
lebih sistematik
dengan kualitas
yang lebih baik.

10
Ruang Lingkup
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak tidak hanya
berhubungan dengan masalah teknis
pengembangan PL tetapi juga kegiatan
strategis seperti manajemen proyek PL,
penentuan metode dan proses
pengembangan, serta aspek teoritis,
yang kesemuanya untuk mendukung
terjadinya produksi perangkat lunak.

11
Ilmu Komputer dan
Rekayasa Perangkat Lunak
Ilmu komputer berhubungan dengan teori dan
metode yang mendasari sistem komputer dan
perangkat lunak.

Rekayasa perangkat lunak berhubungan


dengan masalah-masalah praktis dalam
memproduksi perangkat lunak.

Pengetahuan tentang ilmu komputer sangat


penting bagi perekayasa per.lunak (seperti
pengetahuan tentang fisika bagi teknisi listrik).
12
Beberapa Komparasi Rekayasa PL
dan Ilmu Komputer

13
Beberapa
Komparasi
Rekayasa PL
dan Rekayasa
Umum

14
Beberapa Terminologi

Deliverables and Milestones.

Product and Process.

Measures, Metrics, and


Indicator.

15
Deliverables and Milestones

• Berbagai hal dapat disampaikan selama


pengembangan perangkat lunak.
Deliverables
• Contoh: kode sumber, manual pengguna,
manual prosedur operasi, dll.

• Milestones merupakan perihal yang


digunakan untuk menilai status proyek.
• Finalisasi dari spesifikasi adalah sebuah
milestone.
Milestones
• Penyelesaian dari dokumentasi desain
adalah milestone lainnya.
• Milestones adalah penting untuk
perencanaan dan manajemen proyek.
16
Produk dan Proses
• Apa yang disampaikan ke kustomer
disebuat produk.
• Produk termasuk dokumen spesifikasi,
Produk
kode sumber, manual, dll.
• Pada dasarnya, hanya satu set
deliverable.
• Proses adalah cata yangmana
menghasilkan perangkat lunak.
• Kumpualan aktivitas yang mengarah ke
Proses
sebuah (bagian dari) produk.
• Sebuah proses efisien dibutuhkan untuk
menghasilkan produk berkualitas baik.
17
Ukuran, Metrik, dan Indikator
• Dalam rekayasa perangkat lunak ukuran
menyediakan sebuah indikasi kuantitatif dari jumlah,
Ukuran
dimensi, kapasitas, atau ukuran dari sebuat atribut
yang diberikan dari sebuah produk.
• Metrik adalah sebuah ukuran kuantitaf dari derajat
yangmana sebuah sistem, komponen atau proses
Metrik
menyampaikan sebuah atribut yang diberikan sebuah
produk.
• Sebuah indikator adalah sebuah kombinasi dari
Indikator
metrik.

Pengukuran terjadi sebagai hasil dari kumpulan satu atau lebih data points
(mis, sejumlah peninjau model diinvestigasi untuk mengumpulkan ukuran
kesalahan dalam setiap modul.

18
Pemodelan Pada RPL
Pemodelan dalam RPL merupakan suatu hal yang dilakukan di tahapan
awal.

Di dalam suatu rekayasa dalam perangkat lunak sebenarnya masih


memungkinkan tanpa melakukan suatu pemodelan, namun hal itu tidak
dapat lagi dilakukan dalam suatu industri perangkat lunak

Pemodelan dalam perangkat lunak merupakan suatu yang harus


dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan
mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak
tersebut.

19
Lapisan Rekayasa Perangkat Lunak
Alat
Bantu

Metode

Proses

Fokus Kualitas
20
Lapisan: Proses

Membatasi kerangka kerja untuk serangkaian area


proses kunci.

Area proses kunci membentuk dasar bagi kontrol


manajemen proyek perangkat lunak serta
membangun konteks dimana metode teknis
diaplikasikan, produk usaha dihasilkan, fondasi
dibangun, jaminan kualitas, dan perubahan.

21
Lapisan: Metode

Memberikan teknik untuk


membangun perangkat lunak.

Metode menyangkut serangkaian


tugas tentang analisis kebutuhan,
konstruksi program, desain,
pengujian, dan pemeliharaan.

22
Lapisan: Alat Bantu

Memberikan topangan yang otomatis ataupun


semi otomatis terhadap proses dan metode
yang ada.

CASE (Computer-aided Software Engineering),


sistem perangkat lunak yang bertujuan untuk
mendukung otomasi kegiatan perkembangan
perangkat lunak

23
Perekayasa Perangkat Lunak
Perekayasa (rekayasawan) perangkat lunak adalah mereka yang
berperan dengan berpartisipasi langsung atau mengajar, dalam
analisis, spesifikasi, perancangan, pengembangan, sertifikasi,
pemeliharaan, dan pengujian sistem perangkat lunak. (ACM/IEEE-
CS)

Perekayasa perangkat lunak terkadang disebut sebagai pemrogram


komputer atau pengembang perangkat lunak.

Kebanyakan perekayasa perangkat lunak adalah bagian dari tim.

24
Aktifitas Kerja
Perekayasa Perangkat Lunak (1)
Meriset, merancang, dan menulis perangkat lunak baru.

Menguji program baru dan menemukan kesalahan.

Mengembangkan program dengan menganalisa dan


mengidentifikasi area untuk modifikasi.

Menginvestigasi teknologi baru.

Menciptakan spesifikasi teknik dan rencana pengujian.

Pekerjaan dengan bahasa pengkodean komputer.


25
Aktifitas Kerja
Perekayasa Perangkat Lunak (2)
Penulisan dokumentasi operasional dgn penulis teknikal.

Pemeliharaan sistem dengan memonitor dan


mengkoreksi cacat perangkat lunak.

Berkonsultasi dengan klien dengan memusatkan


pemeliharaan dan performansi sistem perangkat lunak dan
bertanya untuk memperoleh informasi, memperjelas
secara rinci, dan mengimplementasikan informasi.

Selalu memperbaharui pengetahuan dan keahlian


secara teknis misalnya dengan kursus, membaca
manual, dan mengakses aplikasi-aplikasi baru.
26
Model Proses RPL

27
Bahasan
Model Proses Incremental Model

Loop Penyelesaian Masalah RAD Model

Fase Penyelesaian Masalah Spriral Model

Model Proses Perangkat


V-Shaped Model
Lunak

Linear Sequential Model Profil COTS Model

Prototyping Model Profil Reengineering Model

28
Model Proses

Strategi untuk merekayasa perangkat lunak yang


dipilih berdasarkan sifat aplikasi dan proyeknya,
metode, dan alat-alat bantu yang akan dipakai, dan
kontrol serta penyampaian yang dibutuhkan untuk
menyelesaikan masalah.

Strategi pengembangan perangkat lunak sering


dirujuk sebagai model proses atau paradigma
rekayasa perangkat lunak.

29
Loop Penyelesaian Masalah (Solusi)
Semua pengembangan perangkat lunak dapat
dikarakterisasi sebagai sebuah loop
penyelesaian masalah (problem solving loop)

30
Fase Penyelesaian Masalah (Solusi)
Pada loop penyelesaian masalah terdapat fase:

• Merepresentasikan keadaan pekerjaan


Status quo
sekarang (saat ini).

Problem • Mengidentifikasi permasalahan spesifik


definition untuk diselesaikan.

Technical • Menyelesaikan permasalahan melalui


development aplikasi beberapa teknologi.
• Menyampaikan hasil (mis: dokumen,
Solution
program, data, fungsi bisnis baru, produk
integration
baru) ke mereka yang membutuhkan solusi.
31
Model Proses Perangkat Lunak

32
Beberapa Model Proses RPL
Linear sequential
model
Prototyping
model

RAD model

Spiral model

Concurrent
development model

Etc
33
Linear Sequential Model
Disebut juga sebagai classic life cycle atau waterfall model.

34
Profil Waterfall Model

35
Prototyping Model

36
Profil Prototyping Model

37
Incremental Model

38
Profil Incremental Model

39
RAD (Rapid
Application
Development)
Model

40
Spiral Model

41
Profil Spiral Model

42
V-Shaped Model

43
Profil V-Shaped Model

44
Concurrent
Development
Model

45
Beberapa Model Lainnya

Cleanroom O-O COTS

UP RUP Reengineering

Dll

46
Profil COTS Model

47
Profil Reengineering Model

48
Criteria for Selecting a Methodology

49
Referensi
Aggrarwal, K.K, and Singh,Yogesh, Software Engineering,
3rd ed., New Age International Publishers, 2007.
Dennis,Alan, Systems analysis & design : an object-
oriented approach with UML, John Wiley & Sons, Inc.,
2015.
Agarwal,B. B., Tayal,S.P., and Gupta,M, Software
Engineering & Testing, Jones and Bartlett Publishers, LLC,
2010.
Sommerville,Ian, Software Engineering, 10th Edition,
Pearson Education Limited, 2016.
Deek,Fadi P., McHugh,James A.M., and Eljabiri, Osama M.,
Strategic Software Engineering, Auerbach Publications,
2005.
Pressman,Roger S. and Maxim,Bruce R., Software
Engineering: A Practitioner’s Approach, Ninth Edition,
McGraw-Hill, 2020.
50
51

Anda mungkin juga menyukai