Rekayasa Perangkat Lunak dan Proses Software

Slides:



Advertisements
Presentasi serupa
Pengembangan Sistem Informasi
Advertisements

Proses-proses Perangkat Lunak
1. What and Why Sofware Engineering ?
Software Process Model
Sasaran Menjelaskan apa yang dimaksud model proses
PROSES-PROSES PERANGKAT LUNAK
ANALISIS DAN PERANCANGAN SISTEM
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
BAB 2 METODE REKAYASA PERANGKAT LUNAK
PENGANTAR REKAYASA PERANGKAT LUNAK I
Rekayasa Perangkat Lunak 1
PERENCANAAN PROSES PERANGKAT LUNAK
1 Pendahuluan Ir. Waniwatining Astuti, M.T.I Muhammad Rachmadi, S.T., M.T.I.
Perancangan Perangkat Lunak
Methods for Software Engineering
Nama : Shadrach Jabonir / Matthew Marcelinus / Leonardus Handoko / Hendry Sunardi / Carles/ OVERVIEW OF SOFTWARE PROCESS MODEL.
REKAYASA PERANGKAT LUNAK
Methods for Software Engineering CHAPTER 5 Software Project Planning Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
What and Why Sofware Engineering ?
Diadopsi dari presentasi Ian Sommeriville, Pengantar Rekayasa Perangkat Lunak.
Managing Software Requirement 1
PENGUJIAN DENGAN SIKLUS HIDUP
Rekayasa Perangkat Lunak (Lanjut)
MODEL PROSES REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
PEMAHAMAN REKAYASA PERANGKAT LUNAK
Summary Materi RPL Mid Semester
Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Spesifikasi Perangkat Lunak
Perangkat Lunak 1.
proses PERANGKAT LUNAK
Rekayasa Perangkat Lunak Model Proses PL
Pengenalan Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak 1
1. What and Why Sofware Engineering ?
Pendahuluan Muhammad Rachmadi, S.T., M.T.I..
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Pemeliharaan Perangkat Lunak
Metode Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Oleh : Dewi Sartika, M.Kom
1. What and Why Sofware Engineering ?
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
Rekayasa Perangkat Lunak Pendahuluan
Rekayasa Perangkat Lunak
Materi Habis Uts IMK Prototyping
Analisa dan Perancangan Sistem
REKAYASA PERANGKAT LUNAK
Pengantar Teknologi Informasi (Teori)
PERTEMUAN 1 Konsep Rekayasa Perangkat Lunak (RPL)
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
REKAYASA PERANGKAT LUNAK
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Metode Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
ANALISIS DAN PEMODELAN
PENGANTAR REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Pengembangan Sistem Informasi
1. What and Why Sofware Engineering ?
Pengembangan Sistem Informasi
11/15/2018 Pertemuan 1 Siti Mukaromah,S.Kom.
REKAYASA PERANGKAT LUNAK PROGRAM STUDI D3
MODEL PROSES PERANGKAT LUNAK
1. What and Why Sofware Engineering ?
Transcript presentasi:

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

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

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

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