Anda di halaman 1dari 22

Proses Rekayasa

Perangkat Lunak
dan Proses System
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

Your Title Here


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.

Your Title Here


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
Your Titlekonfigurasi
Here
sistem perangkat lunak, atau menggunakan ulang software yang sudah ada.
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
Your Title Here
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 Your Title Here
• Pengambangan berbasis komponen
Model Proses Software
Waterfall Requirements
definition

System and
software design

Implementa tion
and unit testing

Integration and
system testing Your Title Here

Oper ation and


maintenance
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.

Your Title Here


Distribusi Biaya Rekayasa Perangkat Lunak
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

Your Title Here


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 Your Title Here
 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

Your Title Here


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.

Your Title Here


Aktivitas Proses

 Spesifikasi Software
 Desain dan Implementasi Software
 Validasi Software
 Evolusi Software

Your Title Here


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

Your Title Here


Proses Rekayasa Kebutuhan

Requirements
Feasibility
elicitation and
stud y
anal ysis
Requirements
specification

Feasibility Requirements
repor t validation

System
models
User and system
requirements Your Title Here

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
Your Title Here
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 Your Title Here
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.

Your Title Here


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.

Your Title Here


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.
Your Title Here
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
 Validasi menguji sistem yang dibangun memenuhi spesifikasi dan
kebutuhan user Your Title Here
 Evolusi terkait dengan perubahan sistem setelah digunakan
 Teknologi CASE digunakan untuk membantu dalam aktivitas-
aktivitas proses software
Terima
Kasih

Anda mungkin juga menyukai