76024294-rekayasa-perangkat-lunak.pptx
DESCRIPTION
RPLTRANSCRIPT
Definisi Sebagai disiplin manajerial dan teknis yang
berhubungan dengan penemuan sistematik, produksi dan maintenance sistem perangkat lunak yang berkualitas tinggi, disampaikan pada waktu yg tepat serta memiliki harga yg mahal
Suatu proses evolusi dan pemanfaatan alat & teknik untuk pengembangan perangkat lunak
Penetapan & penggunaan prinsip2 rekayasa dalam mendapatkan perangkat lunak yg ekonomis yaitu perangkat lunak yg terpercaya & bekerja efisien pada mesin (komputer)
Komponen2 RPL terbentuk dari program dengan tugas :
Membuat suatu desain aplikasi yg ada di lingkungan tugas atau pekerjaan
Membuat deadline berupa pendahuluan, perumusan masalah,analisis, desain, dan kesimpulan
Dasar perangkat lunak
Perangkat lunak adalah obyek tertentu yg dapat dijalankan seperti Kode sumberKode obyekSebuah program yg lengkap.
Pada komputer ada 2 jenis perangkat lunak
sistem yang penting, yaitu :Sistem Operasi,
Berfungsi menyediakan tempat dalam memori untuk menyimpan data yang sedang diolah dan mengawasi bahwa tidak ada data yang tiba2 masuk dan menimpa data lain atau sebagian dari program aplikasi.
Bahasa Pemrograman
Kegiatan rekayasa software meliputi beberapa hal, diantaranya :
Analisa kebutuhan dan spesifikasiEstimasi “Feasibility” dan sumber dayaDesain solusi perangkat lunak berbasis
komputer Implementasi desain berupa programPengukuran kualitas hasil akhir berupa
perangkat lunak
Tujuan Rekayas Perangkat Lunak
Biaya produksi rendahKinerja program yg tinggiProbabilitas yg tinggiBiaya perawatan yg rendahKeandalan sistem & penyerahan tepat
waktu
Jenis2 aplikasi perangkat lunak
Perangkat lunak sistemPerangkat lunak real timePerangkat lunak bisnisPerangkat lunak teknik & ilmu
pengetahuanPerangkat lunak embeddedPerangkat lunak komputer personalPerangkat lunak kecerdasan buatan
Proses perangkat lunak
Proses penetuan perangkat lunak yang baik
tergantung : PendekatanTeknologiMetodeAlat bantu Prosedur yg digunakan ketika perangkat
lunak yg dikembangkan.
Metode sebagai cara bagaimana membangun perangkat lunak yang harus tetap pada sebuah komitmen dasar menuju kualitas. Metode ini menyangkut serangkaian tugas yaitu:1. Perencanaan proyek dan estimasi. Contoh: PERT
(Program Evaluation and Review Technique) dan CPM (Critical Path Method)
2. Analisis kebutuhan sistem dan software3. Rancangan stuktur data, yg terdiri dari: 3
- Variabel- Elementary data :Int, Char, String,dll- Stuktur data :Record, File, Array, String
4. Arsitektur program5. Algoritma prosedur6. Coding7. Testing8. Pemeliharaan
Untuk menyelesaikan permasalahan Rekayasa Perangkat Lunak
Sikslus Hidup
Adalah pendekatan melalui beberapa tahapan untuk
menganalisis dan merancang sistem yg dimana sistem
tersebut telah dikembangkan dengan sangat baik melalui
penggunaan siklus kegiatan penganalisis dan pemakai
secara spesifik.
1. Mengidentifikasi masalah, peluang dan tujuan
2. Menentukan syarat-syarat
3.Menganalisis kebutuhan2
sistem
4. Mereancang sistem yg direkomendasikan
5. Mengembangkan & mendokumentasikan P/L6. Menguji &
mempertahankan sistem
7. Mengimplementasikan & mengevaluasi sistem
Gb. 7 Tahap Siklus Hidup
Pengembangan Sistem
Model SpiralPendekatan WaterfallModel ini menawarkan cara pembuatan perangkat lunak secara lebih nyata. Langkah2 penting dlm model ini adalah :
- Penentuan & analisis spesifikasi- Desain sistem & perangkat lunak- Implementasi & ujicoba unit- Integrasi & ujicoba sistem- Operasi & pemeliharaan
Siklus Hidup dg model waterfall
Requiredment Analysis and
Definition
System and software design
Operation and maintenance
Implementation and unit testing
Integration and system testing
Pendekatan Evolusioner
Model ini berdasarkan pada ide pengembangan
pada implementasi awal yg akan menghasilkan
komentar pemakai sehingga dapat dilakukan
perbaikan melalui banyak versi sampai sistem yg
mencukupi dapat dikembangkan. Spiral Boehm
Model proses nyata waterfall yg berorientasi
dokumen. Model ini berbentuk spiral, setiap loop
mewakili sebuah tahap dari proses perangkat
lunak. Tidak ada tahap yg tetap pada model ini.
PrototypingAdalah implementasi bagian dari produk
software yg secara tipikal fungsinya dibatasi,
reliabilitas rendah, tampilan kurang baik,
dan kurang ketegasan.
Prototype memberikan ide bagi pembuat
maupun pemakai potensial tentang cara
sistem berfungsi dalam bentuk lengkapnya.
Proses menghasilkan sebuah prototype
disebut prototyping
Tujuan Prototype
Membantu mengembangkan persyaratan, jika tidak dapat ditentukan dengan mudah
Mengesahkan persyaratan, khususnya dengan customer dan user yg potensial
Menyajikan sebagain tempat pengembanagan, jika menggunakan startegi pengembangan evolusi prototype
Manajemen Proyek Proyek merupakan suatu tugas yg perlu
dirumuskan untuk mencapai sasaranyg dinyatakan secara konkrit serta harus diselesaikan dalam suatu periode tertentu dengan menggunakan tenaga manusia & alat2 yg terbatas dan begitu kompleks sehingga dibutuhkan pengelolaan & kerjasama yg berbeda dari yg biasanya digunakan.
Kumpulan kegiatan termasuk sumber daya dan waktu yg diperlukan, yg diorganisasikan dan bersifat sementara untuk mencapai tujuan yg telah ditetapkan.
Manajemen proyek perangkat lunak yg efektif
berfokus pada 3 P :
1. (People=Manusia)
2. (Problem=Masalah)
3. (Process=Proses), memberikan suatu kerangka
kerja dimana rencana komprehensif bagi
pengembangan perangkat lunak dapat dibangun.
Atribut dan karakteristik proses :
Understandability, Visibility, Supportability,
Acceptability, Reliability, Robustness,
Maintainability, Rapidity
Prinsip Pembentukan Sebuah Jaringan
Network PanningAdalah teknik baru dalam suatau penyelesaina proyek yg merupakan dasar untuk menentukan kebijaksanaan2 pimpinan dalam melaksanakan suatu proyek. Network Planning pd prinsipnya adalah hubungan yg saling bergantung antara bagian2 pekerjaan yg digambarkan dalam network diagram.
Dalam network planning ada 2 konsep yang
harus diperhatikan yaitu :
1. Event (kejadian) adalah suatu keadaan yg terjadi pada saat tertentu.
2. Aktivitas adalah perkerjaan yang diperlukan untuk menyelesaikan suatu pekerjaan.
Simbol2 yg digunakan dlm Network Diagram
Anak Panah
Node/Circle atau lingkaran kecil
Anak Panah rangkap
Anak Panah putus2
Kode Aktivitas
Uraian aktivitas
Waktu(hari) Kegiatan yg mendahului
A Menandai lokasi
1 Tidak ada
B Pengukuran 1 A
C Penggalian tanah
20 A dan B
D Pengecoran 10 A dan B
E Pemasangan pipa
10 C dan D
F Pembuatan bak pengontrol
5 C dan D
Critical Path Method (CPM)Adalah lintasan dimana terdapat aktivitas-
aktivitas yg paling banyak memakan waktu,
mulai dari permulaan dikerjakannya proyek
sampai berakhirnya pekerjaan tsb.
Menentukan lintasan kritis
Untuk mencari lintasan kritis ada beberapa metode umum yg dipakai, yaitu :
- Meneliti seluruh lintasan yg ada
Dapat mengetahui arah mana terdapat lintasan kritis. Contoh 1
- Metode EET dan LET
Kode Aktivitas Uraian aktivitas Waktu (hari) Kegiatan yg mendahului
A Perencanaan biaya
5 Tidak ada
B Menghubungi bank
3 Tidak ada
C Perencanaan material
6 Tidak ada
D Seleksi material 4 A
E Material disiapkan 4 B
F Perencanaan tenaga kerja
2 B
G Job Analysis 5 C
H Melatih tenaga kerja
15 D dan E
I Proses Assembling
5 F dan G
Lintasan yang terbentuk
A-D-H = 24 hariB-E-H = 22 hariC-G-I = 14 hariB-F-I = 10 hari
Maka jalur A-D-H adalah lintasa kritis
Metode EET & LET
Event dengan simbol lingkaran dibagi menjadi 3 bagian seperti :
C
B
A
Ket : Dimana A=Number of EventB= EETC= LET
Contoh
0
8
4
3
97
210
6
20
209
5
10
26
18
8
10
11
8
1712
291
D(2)
B(3)
H(5)
C(9)J(5)G(1)
E(4) I(3)N(3)
K(5)A(8)
M(4)F(8)
L(6)
Aktivitas Manajemen Perangkat Lunak
- Proposal writing,pimpinan proyek harus membuat rencana pekerjaan proyek yg akan dilakukan dari persiapan awal hingga selesainya proyek tsb.
- Project costing, Budget pengluaran dan masukan proyek yg akan dikerjakan dibuat serinci mungkin.
- Project planning and scheduling- Project monitoring and review- Personal selection and evaluation- Report writing and presentation
Dasar Pengujian Perangkat Lunak
Menciptakan sederet test case yang
dimaksudkan untuk membongkar/mengecek
perangkat lunak yang sudah di bangun.
Sasaran-sasaran Pengujian (Glen Myers)
a. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan
b. Test case yg baik adalah memiliki probabilitas tinggi untuk menemukan kesalahan yg belum pernah ditemukan sebelumnya
c. Pengujian yg sukses adalah pengujian yg mengungkapkan semua kesalahan yg belum pernah ditemukan sebelumnya
Testabilitas
Karakteristik yang dapat menjadi pertimbangan terhadap perangkat lunak yg diuji:
- Operabilitas- Observabilitas- Kontrolabilitas- Dekompositabilitas- Kesederhanaan- Stabilitas- Kemampuan untuk dapat dipahami
Pengujian
1. Pengujian White Box/Glass Box, Adalah metode desain test case yg menggunkan struktur kontrol desain prosedural untuk memperoleh test case.
2. Pengujian Basis Path, memungkinkan designer test case mengukur kompleksitas logis dari desin prosedural & menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi- Notasi Diagram Alir- Kompleksitas Siklomatis, Adalah metrik perangkat lunak yg memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program.- Melakukan Test Case- Matriks Grafik
3. Pengujian struktur kontrol, Pengujian Basis Path adalah satu dari sejumlah teknik untuk pengujian struktur kontrol
4. Pengujian Black Box, Pengujian ini berfokus pada persyaratan fungsional P/L
Pengujian Untuk Aplikasi & Lingk. Khusus
1. Pengujian GUI
2. Pengujian Arsitektur Client/Server
3. Pengujian Dokumentasi dan Fasilitas Help
4. Pengujian Sistem Real-Time