PROSES Perangkat Lunak
Rekayasa Perangkat Lunak Kita telah menetapkan ranah permasalahan - perangkat lunak berskala industri Selain menghasilkan perangkat lunak, biaya, mutu, dan jadwal juga merupakan penggerak pengembangan RPL didefinisikan sebagai pendekatan sistematis untuk pengembangan perangkat lunak (berskala industri)
Proses, Orang, Teknologi M & P (mutu & prooduktivitas) adalah tujuan yang penting M & P tergantung pada orang, proses, dan teknologi Proses membantu orang menjadi lebih produktif dan membuat kesalahan lebih sedikit Alat membantu orang menjalankan beberapa tugas dalam proses lebih efisien dan efektif Jadi, proses membentuk inti
Proses Perangkat Lunak Proses berbeda dari produk - produk hasil dari melaksanakan proses pada proyek RPL berfokus pada proses Dasarnya: proses yang tepat akan membantu mencapai tujuan proyek dengan M&P yang tinggi
Masalah Pengembangan Perangkat Lunak
Proyek dan Proses Sebuah proyek perangkat lunak adalah salah satu contoh dari masalah pengembangan Proses Pengembangan membawa proyek dari kebutuhan pengguna ke perangkat lunak Ada tujuan-tujuan lain yaitu jadwal, biaya, dan mutu, selain menghasilkan perangkat lunak Butuh proses lainnya
Proses Perangkat Lunak ... Proses: Urutan langkah-langkah dilakukan untuk mencapai tujuan tertentu Proses Perangkat Lunak: Urutan langkah-langkah yang dilakukan untuk memproduksi perangkat lunak dengan mutu yang tinggi, dalam anggaran dan jadwal tertentu Banyak jenis kegiatan yang dilakukan oleh orang-orang yg berbeda dalam sebuah proyek perangkat lunak Lebih baik untuk melihat proses PL sebagai proses yang terdiri dari banyak komponen
Komponen Perangkat Lunak Proses Dua proses utama Pengembangan - berfokus pada pengembangan dan langkah-langkah mutu yang diperlukan untuk rekayasawan perangkat lunak Manajemen Proyek - berfokus pada perencanaan dan pengendalian proses pengembangan Proses pengembangan merupakan jantung dari proses perangkat lunak; proses-proses lain berada di sekitarnya Ini dijalankan oleh orang yang berbeda pengembang mengeksekusi proses rekayasa manajer proyek mengeksekusi proses manajemen
Komponen Proses ... Proses lain Proses manajemen konfigurasi: mengelola evolusi artefak Proses manajemen perubahan: bagaimana perubahan yang dimasukkan Proses manajemen proses: manajemen proses itu sendiri Proses Inspeksi: Bagaimana inspeksi dilakukan pada artefak
Proses Spesifikasi Proses umumnya satu set fase Setiap fase melakukan tugas yang didefinisikan dengan baik dan umumnya menghasilkan keluaran Keluaran antara - produk kerja Pada tingkat atas, biasanya beberapa fase dalam proses Cara melakukan fase tertentu – menggunakan metodologi
Spesifikasi ETVX Pendekatan ETVX untuk menentukan langkah Kriteria masuk: kondisi apa yang harus dipenuhi untuk memulai fase ini Tugas: apa yang harus dilakukan dalam fase ini Verifikasi: pemeriksaan dilakukan pada keluaran dari tahap ini Kriteria keluar: kapan bisa fase ini dianggap diselesaikan dengan sukses Suatu fase juga menghasilkan informasi untuk manajemen
Pendekatan ETVX
PENGEMBANGAN PERANGKAT LUNAK Proses dimana persoalan/kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak melalui suatu rangkaian aktivitas tertentu sesuai model proses, metodologi, dan alat bantu yang digunakan. Mewakili persoalan yang akan dibantu komputer Produk yang dihasilkan sebagai solusi persoalan Proses yang dilaksanakan dengan urut-urutan aktivitas tertentu
Proyek Perangkat Lunak Proyek - untuk membangun sebuah sistem PL dalam biaya dan jadwal dan dengan mutu tinggi yang memuaskan pelanggan Proses yang cocok diperlukan untuk mencapai tujuan Proses seharusnya tidak hanya membantu menghasilkan perangkat lunak tetapi membantu mencapai M&P yang tertinggi
Proses Proyek dan Model Proses Proses proyek yang harus diikuti ditentukan dalam perencanaan Sebuah model proses menentukan proses umum yang optimal untuk suatu kelas masalah Sebuah proyek dapat memilih proses dengan menggunakan salah satu model proses
Proses Pengembangan Satu set fase dan setiap fase berupa urutan langkah Urutan langkah-langkah untuk fase - fase adalah metodologi untuk itu Mengapa memiliki fase-fase: Untuk menggunakan pendekatan ‘bagi-bagi dan taklukkan’ setiap fase menangani bagian yang berbeda dari masalah membantu dalam validasi berkelanjutan
Proses Pengembangan Umumnya memiliki kegiatan: analisis kebutuhan, arsitektur, perancangan, pemrograman, pengujian, penyerahan Model yang berbeda melakukan fase-fase tersebut dengan cara yang berbeda
Model Proses Sebuah model proses menentukan proses umum, biasanya sebagai satu set dari tahap-tahap pekerjaan. Model ini akan cocok untuk kelas proyek tertentu Jadi, model menyediakan struktur generik dari proses yang dapat diikuti oleh beberapa proyek untuk mencapai tujuannya
ALAT BANTU PENGEMBANGAN PERANGKAT LUNAK Konvensional Tahap Pengembangan Alat Bantu Analisis Flowmap Perancangan System Flowchart, Program Flowchart Implementasi Bahasa pemrograman Fungsi Tahap Pengembangan Alat Bantu Analisis DFD, DD, p-spec, ERD Perancangan Structure chart, pseudo-code Implementasi Bahasa pemrograman prosedural Objek Tahap Pengembangan Alat Bantu Analisis dan Perancangan UML Implementasi/Pemrograman Bahasa pemrograman objek
AKTIVITAS PENGEMBANGAN (1) Analisis dan pemodelan persoalan Analisis (pemahaman) persoalan Pemodelan persoalan Analisis dan perancangan sistem (jika sistem belum ada/belum dibuat) Pembuatan perangkat lunak: Analisis Kebutuhan Perancangan Konstruksi / Implementasi / Coding Pengujian Deployment
AKTIVITAS PENGEMBANGAN (2) Layer Aktivitas Pelaksana Persoalan Analisis Persoalan Subject Matter Analyst, System Analyst Pemodelan Persoalan Sistem Analisis Sistem System Analyst, DBA, Network Engineer Perancangan Sistem Perangkat Lunak Analisis Kebutuhan System Analyst, Software Architect Perancangan Implementasi Programmer Pengujian Software Tester Deployment Deployment Team
Tahapan-tahapan dalam siklus klasik : Analisis dan rekayasa sistem : perangkat lunak merupakan bagian dari sebuah sistem, untuk mendapatkan gambaran yang meluas pada aras sistem. Analisis persyaratan : fokus lebih terarah ke perangkat lunak, berusaha mengetahui aspek 'what', melibatkan pemakai dan pengembang. Perancangan : menerjemahkan persyaratan menjadi suatu bentuk representasi yang dapat dievaluasi kualitasnya sebelum coding dilakukan. Coding (penulisan program) : penerjemahan rancangan ke dalam bentuk yang dapat dimengerti komputer, menggunakan bahasa pemrograman teretentu. Pengujian : berfokus pada rincian logikal dari perangkat lunak, bertujuan mengungkap dan menghilangkan kesalahan-kesalahan yang ada sehingga perangkat lunak bekerja sesuai dengan yang diharapkan. Pemeliharaan : meliputi kegiatan-kegiatan koreksi kesalahan dan penyesuaian perangkat lunak terhadap perubahan lingkungannya.
ALAT BANTU Perangkat bantu atau kakas otomatis dan semi-otomatis yang akan digunakan untuk mendukung proses dan metode. Bentuk-bentuk alat bantu pengembangan: Diagram-diagram untuk memodelkan hasil setiap tahap pengembangan. Perangkat lunak untuk membantu pelaksanaan analisis, perancangan, pembuatan program, atau pengelolaan proyek. Bahasa pemrograman untuk penulisan program.