0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan25 halaman

Rekayasa Perangkat Lunak dan Prosesnya

Dokumen tersebut membahas tentang rekayasa perangkat lunak dan proses pengembangan perangkat lunak, mencakup definisi rekayasa perangkat lunak, model-model proses pengembangan perangkat lunak, aktivitas-aktivitas dalam proses pengembangan seperti spesifikasi, desain, implementasi, validasi, dan evolusi perangkat lunak.

Diunggah oleh

alfiah fajriani
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan25 halaman

Rekayasa Perangkat Lunak dan Prosesnya

Dokumen tersebut membahas tentang rekayasa perangkat lunak dan proses pengembangan perangkat lunak, mencakup definisi rekayasa perangkat lunak, model-model proses pengembangan perangkat lunak, aktivitas-aktivitas dalam proses pengembangan seperti spesifikasi, desain, implementasi, validasi, dan evolusi perangkat lunak.

Diunggah oleh

alfiah fajriani
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Rekayasa Perangkat Lunak

dan Proses Software

Aryo Pinandito
Program Vokasi Universitas Brawijaya 2012
Tentang Rekayasa Perangkat Lunak
 Pertumbuhan ekonomi seluruh negara maju sangat
bergantung pada perangkat lunak
 Semakin banyaknya sistem yang dikendalikan oleh
perangkat lunak
 Ilmu rekayasa perangkat lunak terkait dengan teori,
metode, dan tools untuk membuat perangkat lunak
yang baik
 Biaya yang digunakan untuk pembelanjaan
perangkat lunak merepresentasikan nilai yang
signifikan di seluruh negara-negara maju
Biaya Perangkat Lunak
 Pada umumnya biaya perangkat lunak lebih
mendominasi biaya keseluruhan sistem komputer.
Biaya software lebih tinggi daripada biaya hardware.
 Untuk sistem jangka panjang, biaya perawatan
untuk perangkat lunak lebih mahal daripada biaya
pembuatan perangkat lunak.
 Rekayasa perangkat lunak terkait dengan
bagaimana mengembangkan perangkat lunak yang
efektif.
Apa itu software?
 Program komputer dan dokumentasi pendukungnya.
(daftar kebutuhan, model-model desain, dan user manual)
 Produk software dapat dikembangkan untuk pengguna
tertentu atau dikembangkan untuk pengguna secara
umum.
 Generic: dikembangkan dan dipasarkan untuk banyak jenis
pengguna (seperti: Excel dan Word)
 Custom: dikembangkan untuk satu pengguna berdasarkan
spesifikasi kebutuhan pengguna tersebut
 Perangkat lunak dapat dikembangkan dari awal,
mengubah konfigurasi sistem perangkat lunak, atau
menggunakan ulang software yang sudah ada.
Apa itu Rekayasa Perangkat Lunak?

 Sebuah disiplin ilmu yang terkait dengan seluruh


aspek pengembangan perangkat lunak

 Para pengembang perangkat lunak harus


menggunakan pendekatan yang sistematis dan
terstruktur, serta dalam menggunakan tools dan
teknik yang sesuai harus mengacu kepada masalah
yang akan diselesaikan, batasan-batasan
pengembangan, dan sumber daya yang tersedia.
Proses Software
 Sekumpulan aktivitas yang tujuannya adalah
mengembangkan atau mengubah perangkat lunak
 Aktivitas generik dalam seluruh proses software:
 Spesifikasi, apa yang harus sistem lakukan dan batasan-
batasan pengembangannya.
 Development, proses pembuatan perangkat lunak.
 Validasi, memeriksa kesesuaian perangkat lunak dengan
kebutuhan pengguna
 Evolusi, perubahan perangkat lunak sebagai respon
terhadap kebutuhan yang berubah.
Model Proses Software
 Sebuah representasi yang disederhanakan dari
sebuah proses software, dipresentasikan dari sudut
pandang tertentu.
 Contoh sudut pandang proses:
 Workflow, urutan-urutan dari aktivitas;
 Data-flow, aliran informasi
 Role/action, siapa melakukan apa
 Model proses generik:
 Waterfall
 Pengembangan iterative
 Pengambangan berbasis komponen
Model Proses Software
 Waterfall
Requirements
definition

System and
software design

Implementa tion
and unit testing

Integration and
system testing

Oper ation and


maintenance
Fase Model Waterfall

 Definisi dan analisis kebutuhan

 Desain perangkat lunak dan sistem

 Implementasi dan unit testing

 Integrasi dan system testing

 Operasi dan maintenance


Masalah dalam model waterfall
 Kesulitan dalam mengakomodasi perubahan setelah
proses dilaksanakan. Satu fase harus selesai sebelum
bergerak ke fase selanjutnya.
 Model ini hanya sesuai ketika kebutuhan telah
dipahami dengan baik, dan kemungkinan
perubahan yang terjadi sangat kecil pada saat proses
desain
 Sangat sedikit sistem bisnis yang memiliki
kebutuhan yang stabil
 Umumnya model ini digunakan untuk proyek
rekayasa sistem besar dimana sebuah sistem
dikembangkan di beberapa tempat secara terpisah
Biaya rekayasa perangkat lunak

 Secara kasar, 60% biaya pengembangan dan 40%


biaya pengujian.

 Variasi biaya bergantung pada jenis sistem yang


dikembangkan dan kebutuhan atribut sistem, seperti
performansi dan reliabilitas.

 Distribusi biaya bergantung pada model


pengembangan yang digunakan.
Distribusi biaya
Wat erfall model
0 25 50 75 100

Specification Design Development Integration and testing

It erative development

0 25 50 75 1 00

Specification Iterative development System testing

Component-based software eng ineering

0 25 50 75 1 00

Specification Development Integration and testing

Development and evolution costs for long-lifetime syst ems


0 10 200 30 400

System development System evolution


Metode Rekayasa Perangkat Lunak
 Metode RPL:
 Pendekatan terstruktur untuk mengembangkan perangkat
lunak dimana didalamnya termasuk model-model sistem,
notasi, aturan, desain dan garis besar proses.
 Deskripsi model
 Penjelasan gambar model yang akan dibuat
 Aturan
 Batasan-batasan yang harus diterapkan dalam model sistem
 Rekomendasi
 Saran-saran terhadap praktek desain yang baik
 Petunjuk Proses
 Aktivitas apa saja yang harus diikuti
CASE (Computer-Aided Software Engineering)
 Sistem perangkat lunak yang ditujukan untuk
memberikan dukungan otomatisasi dalam aktivitas
proses software.
 Upper-CASE
 Tools yang digunakan dalam aktivitas proses kebutuhan
awal dan desain
 Lower-CASE
 Tools yang digunakan untuk mendukung aktivitas
selanjutnya, seperti programming, debugging, dan testing
Atribut Perangkat Lunak Yang Baik
 Perangkat lunak yang dibangun harus mampu
memberikan fungsional dan performa yang dibutuhkan
oleh pengguna serta harus dapat diandalkan.

 Maintainability:
 Harus dapat diubah sesuai dengan kebutuhan pengguna
 Dependability:
 Output perangkat lunak harus dapat dipercaya
 Acceptability:
 Dapat dimengerti, digunakan, dan kompatibel dengan
sistem yang lain.
Aktivitas Proses

 Spesifikasi Software

 Desain dan Implementasi Software

 Validasi Software

 Evolusi Software
Spesifikasi Software
 Proses untuk mengetahui layanan/fungsi yang
dibutuhkan serta batasan-batasan dalam
pengembangan dan pelaksanaannya
 Proses rekayasa kebutuhan:
 Studi kelayakan
 Pengumpulan dan analisis kebutuhan
 Spesifikasi kebutuhan
 Validasi kebutuhan
Proses Rekayasa Kebutuhan
Requirements
Feasibility
stud y elicitation and
anal ysis
Requirements
specification
Feasibility Requirements
repor t validation

System
models
User and system
requirements

Requirements
document
Desain dan Implementasi Perangkat Lunak
 Proses mengubah spesifikasi sistem menjadi sebuah
sistem yang dapat dijalankan
 Desain software
 Mendesain struktur perangkat lunak berdasarkan
spesifikasi
 Implementasi
 Menerjemahkan struktur perangkat lunak kedalam
program yang dapat dieksekusi

 Aktivitas dalam desain dan implementasi sangat


berkaitan
Metode Desain Terstruktur

 Pendekatan sistematis untuk membuat sebuah


desain perangkat lunak
 Umumnya didokumentasikan dengan sekumpulan
model-model gambar.
 Model objek
 Model squence
 State-transition model
 Model struktural
 Model data-flow
Programming dan Debugging
 Menerjemahkan desain kedalam sebuah program
dan menghilangkan kesalahan dalam program
tersebut
 Pemrograman adalah aktivitas personal, dimana
didalamnya tidak ada proses program yang umum.
 Programmer melakukan pengujian program untuk
menemukan kesalahan dalam program. Kesalahan-
kesalahan program diperbaiki dalam proses
debugging.
Validasi Perangkat Lunak

 Verifikasi dan validasi bertujuan untuk


memperlihatkan bahwa sistem yang dibangun
sesuai dengan spesifikasi dan memenuhi kebutuhan
dari pengguna
 Proses ini melibatkan proses review dan pengujian
sistem.
 Pengujian sistem dilakukan dengan test case yang
diturunkan dari spesifikasi dengan menggunakan
data nyata yang akan diolah oleh sistem.
Evolusi (Maintenance) Software
 Perangkat lunak bersifat fleksibel dan dapat berubah
 Seiring dengan berubahnya kebutuhan terkait
dengan kebutuhan bisnis, perangkat lunak yang
mendukung bisnis tersebut harus berevolusi dan
berubah.
 Semakin sedikit sistem dan perangkat lunak yang
dibangun dengan benar-benar baru.
 Evolusi pada umumnya merupakan pengembangan
dari versi sebelumnya atau merupakan gabungan
dari sistem atau perangkat lunak lain.
Key Points

 Proses software adalah aktivitas yang terkait dalam


membuat dan berevolusinya sebuah sistem
perangkat lunak.
 Aktivitas umum dalam proses software
 Spesifikasi, desain dan implementasi, validasi dan
evolusi
 Rekayasa kebutuhan adalah proses menyusun
sebuah spesifikasi kebutuhan perangkat lunak
 Desain dan implementasi mengubah spesifikasi
kedalam program yang dapat dijalankan
Key Points

 Validasi menguji sistem yang dibangun memenuhi


spesifikasi dan kebutuhan user
 Evolusi terkait dengan perubahan sistem setelah
digunakan
 Teknologi CASE digunakan untuk membantu dalam
aktivitas-aktivitas proses software

Anda mungkin juga menyukai