260 likes | 490 Views
Rekayasa Perangkat Lunak (Lanjut). Pendahuluan. RPL adalah…. Pendekatan sistematis untuk pengembangan software Disiplin ilmu yang berhubungan dengan segala aspek pembuatan software ( R. S. Pressman, "Software Engineering: A Practitioner's Approach (5th Ed.)", Mc Graw-Hill, 2001. )
E N D
Rekayasa Perangkat Lunak (Lanjut) Pendahuluan
RPL adalah… • Pendekatan sistematis untuk pengembangan software • Disiplin ilmu yang berhubungan dengan segala aspek pembuatan software • (R. S. Pressman, "Software Engineering: A Practitioner's Approach (5th Ed.)", Mc Graw-Hill, 2001.) • Metode dan teknik yang digunakan untuk mengembangkan dan merawat software • (Software Engineering: Methods and Management,Pfleeger, 1990)
Permasalahan yang berhubungan dengan RPL • Bagaimana cara untuk memastikan kualitas dari PL yang dikembangkan? • Bagaimana mengatasi tambahan kebutuhan dengan tetap mengontrol budget? • Bagaimana cara menghindari pemborosan waktu?
Pentingnya RPL • RPL memberikan proses yang terstruktur dan mudah dipahami untuk pengembangan sistem • RPL menjadikan sistem yang dikembangkan mudah diubah dan dimaintain • Mengembangkan software dan sistem yang tangguh • Memudahkan pengaturan dan pengulangan setiap proses yang diperlukan untuk membuat sistem berbasis komputer
Tujuan Perkuliahan • Memberikan pemahaman terhadap • Pemodelan yang berorientasi objek • Rekayasa kebutuhan dan desain • Cara untuk memastikan kualitas sistem berbasis komputer
Topik • Analisis desain berbasis objek • Konsep OOP • UML • Use Case Diagram • Class Diagram • Activity Diagram • Rekayasa kebutuhan • Kebutuhan Fungsional • Kebutuhan Non Fungsional
Pola-pola desain • Desain sistem • Pola-pola desain • Keamanan • Pola-pola kemananan • Kriteria umum kemanan
3 Fase umum dalam pengembangan perangkat lunak • Definition Phase (Fase Definisi) • Development Phase (Fase Pengembangan) • Maintenance Phase (Fase pemeliharaan) • Umbrella activities
Fase Definisi • Perencanaan proyek • Mengalokasikan sumber daya, mengestimasi biaya, menentukan job desc, dan penjadwalan • Analisis sistem • Mengalokasikan sumber daya sistem kepada hardware, software dan user • Pendefenisian dan analisis kebutuhan • Domain aplikasi, fungsionalitas dan performa yang dibutuhkan, user interface
Fase Development • Desain software • User interface, high level design, detailed design • Coding • Melakukan pemograman untuk setiap modul, testing per unit • Integration • Mengkombinasikan modul, pengujian sistem
Maintenance • Correction • Memperbaiki kesalahan software • Adaptation • Memfasilitasi perubahan kebutuhan • Ex: karena hardware baru, atau peraturan baru • Enhancement • Menambah fungsionalitas • Prevention • Agar mudah dimaintain
Proses Pengembangan Perangkat lunak • WaterFall
Umbrella Activities • Reviews • Menguji kualitas • Dokumentasi • Mempermudah maintain • Kontrol Versi • Mencatat perubahan • Manajemen Konfigurasi • Mengintegrasikan sejumlah komponen
Komunikasi Antara customer dan pengembang Kurangnya pemahaman terhadap permasalahan adalah salah satu penyebab gagalnya sebuah proyek software Sesama tim pengembang Semakin banyak anggota=semakin banyak jalur komunikasi Kesulitan dalam pengembangan PL
Kesulitan dalam pengembangan PL • Project characteristics • Perubahan kebutuhan=biaya yang lebih besar • Konfigurasi hardware dan software • Kebutuhan thd keamanan • Kebutuhan thd data real time • Kebutuhan terhadap kehandalan system
Kesulitan dalam pengembangan PL • Karakateristik anggota tim • Kemampuan • Pengalaman • Kemampuan berkomunikasi • Kerjasama dengan anggota tim yang lain • Pelatihan • Fasilitas dan sumber daya • Identifikasi • Akuisisi
Kesulitan dalam pengembangan PL • Manajemen • Tujuan yang realistis • Estimasi biaya • Penjadwalan • Alokasi sumber daya • Kualitas • Kontrol versi • Kontrak