1 / 35

Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak. Pertemuan 8 dan 9. Tujuan Perkuliahan. Untuk menjelaskan bagaimana pengembangan proses bertingkat ( incremental development ) memberikan hasil yang cepat dalam pembuatan perangkat lunak Membahas esensi dari metode agile development

lihua
Download Presentation

Rekayasa Perangkat Lunak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rekayasa Perangkat Lunak Pertemuan 8 dan 9

  2. Tujuan Perkuliahan • Untuk menjelaskan bagaimana pengembangan proses bertingkat ( incremental development ) memberikan hasil yang cepat dalam pembuatan perangkat lunak • Membahas esensi dari metode agile development • Menjelaskan prinsip dan praktek dari extreme programming • menjelaskan peran prototype dalam proses software

  3. Topik • Keterkaiatan RPL dengan Ilmu lain • Method Agile • Method Prototipe

  4. RPL dengan Ilmu lain • bidangilmumanajemenmeliputiakuntansi, finansial, pemasaran, manajemenoperasi, ekonomi, analisiskuantitatif, manajemensumberdayamanusia, kebijakan, danstrategibisnis • bidangilmumatematikameliputialjabar linier, kalkulus, peluang, statistik, analisisnumerik, danmatematikadiskrit • bidangilmumanajemenproyekmeliputisemuahal yang berkaitandenganproyek, sepertiruanglingkupproyek, anggaran, tenagakerja, kualitas, manajemenresikodankeandalan, perbaikankualitas, danmetode-metodekuantitatif • bidangilmuergonomikamenyangkuthubungan ( interaksi) antarmanusiadengankomponen-komponen lain dalamsistemkomputer • bidangilmurekayasasistemmeliputiteorisistem, analisisbiaya-keuntungan, pemodelan, simulasi, proses, danoperasibisnis

  5. Perkembangan RPL

  6. Model Pengembangan RPL • Waterfall • Incremental • Prototyping Model • Spiral Model • Rational Unified Process (RUP) • Extreme Programming (XP)

  7. Model Rapid Aplication Development (RAD) • Adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek. Model RAD adalah adaptasi dari waterfall model versi kecepatan tinggi. Cat: Model RAD membagi tim pengembangan menjadi beberapa tim untuk mengerjakan beberapa komponen masing-masing tim pengerjaan dapat dilakukan secara pararel.

  8. Ilustrasi Model RAD

  9. Defenisi • Pemodelan Bisnis yaitu pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait proses bisnis, informasi apa saja yang harus dibuat, siapa yang membuat informasi itu, proses apa saja yang terkait informasi itu. • Pemodelan data yaitu memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendenisikan atribut-atributnya beserta relasinya dengan data-data yang lain. • Pemodelan proses yaitu mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefenisi an data. • Pembuatan aplikasi yaitu mengimplementasikan pemodelan proses dan data menjadi program

  10. Kelemahan RAD • Untuk pembuatan sistem perangkat lunak dengan skala besar makan RAD akan memerlukan sumber daya manusia yang cukup besar. • Jika tidak ada persetujuan untuk pengembangan PL secara dengan cepat(Rapid) makan proyek dengan model ini akan gagal. • Jika sistem PL yang akan dibuat tidak bisa dimodeulkan (dibagi-bagi menjadi beberapa komponen) maka model RAD tidak dapat digunakan. • Model RAD tidak cocok digunakan untuk sistem PL yang memiliki resiko teknis tinggi, mis menggunakan teknologi baru yng belum banyak dikenal.

  11. Kriteria Proyek RAD • Anggota tim sudah berpengalaman mengembangkan PL yang sejenis. • Pengembangan sudah memiliki komponen-komponen sistem yg bisa digunakan kembali dalam proyek tersebut.

  12. Pengembangan Model RAD • Agile Software (Pengembangan Perangkat Lunak “Tangkas”) dimana interaksi antar anggota tim dan pelanggan dianggap sebagai hal yang penting lebih dari perangkat ataupun proses pengembangan PL. Hal ini ditujukan agar pengembangan bersifat sangat tangkas dalam menengani perubahan yang terjadi. Contoh pengembangan perangkat lunak “Tangkas” adalah scrum dan pemrograman ekstrim.

  13. Pengembangan Scrum (semua Tim) • Semua tim terlibat didalam prioyek secara overlapping (tumpang tindih) sesuai dengan kebutuhan sumber daya pada proyek agar dapat meningkatkan kecepatan pengembangan dan fleksibilitas. Peran tim sudah ditentukan

  14. Extreme Programming • Mengizinkan tim pengembangan untuk berkomunikasi langsung dengan pelanggan (customer) atau user maupun sesama pembuat program. • Ciri khas model ini adalah komunikasi yang dilakukan setiap hari atau setiap ditemukan hal-hal yang kurang jelas. Model sangat mengandalkan adanya umpan balik sehingga dibutuhkan anggota-anggota tim yang berkualitas.

  15. Extreme Programming

  16. Keunggulan Extreme Programming • Menjalinkomunikasi yang baikdenganklien. (Planning Phase) • 2. Menurunkanbiayapengembangan(Implementation Phase) • 3. Meningkatkankomunikasidansifatsalingmenghargaiantar developer. (Implementation Phase) • 4. XP merupkanmetodologi yang semi formal. (Planning Phase) • 5. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan kata lain fleksibel. (Maintenance Phase)

  17. kelemahan • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga). • XP juga memiliki keunggulan yang sekaligus menjadi kelemahannya, yaitu XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user. http://www.agilemodeling.com/artifacts/userStory.htm

  18. Model Iteratif Pertemuan 9

  19. Model Iteratif • Mengombinasikan proses-proses pada model air terjun dan iteratif pada model prototipe. Model inkremental akan menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan fungsi untuk setiap pertambahannya(inkremen/increment)

  20. Model Iteratif

  21. Incremental (Defenisi) • Pengembangan dibagi menjadi bagian2 yang dapat berkembang secara bertambah (increments) • Setiap bagian harus memenuhi fungsi-fungsi yang diperlukan • Kebutuhan pengguna diprioritaskan dan prioritas tertinggi didahulukan dalam pengembangan • Begitu dimulai, kebutuhan yang telah tertangani akan dibekukan sehingga memberikan tempat bagi kebutuhan lain untuk dapat berevolusi

  22. Kelebihan dan Kekurangan • Kebutuhan pengguna / customer dipenuhi pada setiap bagian yang selesai terlebih dahulu • Bagian yang selesaiterlebihdahulumenjadiprototipe • Resikorendah • Bagian yang punyaprioritastertinggidapatditessecara intensive Permasalahan • Batasanprosestidakjelas • Sistemkurangterstruktur Kemampuanaplikasi • Untuksistemdenganinteraksiskalakecildan medium • Untukantarmuka user • Untuksistemdenganmasapenggunaanpendek

  23. Prototipe Model

  24. Prototipe • Membuatsebuahcontohprototipeuntukmenunjukkankebutuhandandesainkepemakai • Harusadaversi yang dapatdijalankansebagaiprototipesebelumsistemdikembangkan (bisaberupacontohsistem lain) • Harusadaimplementasisistem yang dikembangkansebelumdibuatsebuahsistem final

  25. Mock-up • Sesuatu yang digunakan sebagai model desain yang digunakan untuk mengajar, demontrasi, evaluasi desain, promosi, atau keperluan lain.

  26. Kelemahan Prototipe • Pelanggan dapat sering mengubah-ubah menambah-tambah spesifikasi kebutuhan karena menganggap aplikasi seudah dengan cepat dikembangkan, karena adanya iterasi ini dapat menyebabkan pengembangan banyak mengalah dengan pelanggan. • Pengembangan lebih sering mengambil kompromi dengan pelanggan untuk mendapatkan prototipe dengan waktu yang cepat sehingga pengembangan lebih sering melakukan segala cara(tanpa idealis) guna menghasilkan prototipe untuk didemonstrasikan. Hal ini dapat menyebakan kualitas PL kurang baik. • Model prototipe kurang cocok untuk aplikasi dengan skala besar

  27. Keuntungan • Cocok digunakan untuk menjabarkan kebutuhan pelanggan secara lebih detail karena pelanggan sering kali kesulitan menyampaikan kebutuhannya secara detail tanpa melihat gambaran yang jelas. • Kegunaan sistem yang lebih baik • Kesesuaian sistem yang lebih dekat dengan kebutuhan user. • Kualitas desain yang lebih baik • Keterpeliharaan yang lebih baik • Usaha pengembangan yang lebih ringan

  28. Model Spiral

  29. Model Spiral • Mendefinisikankebutuhandengansedetailmungkin • Pembuatandesainuntuksistem yang baru • Prosesdirepresentasikandalamaktivitasberbentuk spiral • Setiapperulangan (loop) dalam spiral merepresentasikansebuahfasedalamproses • Fase-fasetidak fix (spesikasi -design loop) dipilihsesuaidengan yang diperlukan • Resikoselalusecaratransparandimonitordandipecahkanselamaprosesberlangsung

  30. Model Spiral

  31. Interface Generation • Banyak aplikasi yang berdasarkan seputar form yang kompleks, dan mengembangkan form tersebut secara manual sangat memakan waktu. • Environment RAD menyediakan dukungan untuk men-generate interface seperti: • Bentuk interaktif pembuatan form dengan menggunakan teknik drag and drop • Hubungan antar form dimana urutan dari tampilan form dapat dispesifikasikan. • Verifikasi form

  32. Visual Programming • Bahasa pemrograman yang digunakan untuk mengembangkan prototipe dengan mengembangkan antarmuka ( VB ) • Banyak library component yang digunakan untuk mendukung sistem

  33. Visual programming with reuse

  34. Permasalahan pada Visual Development • Sulit untuk berkoordinasi dengan team • Ketergantungan dengan software dapatmenimbulkan kesulitan untuk melakukan maintenance

  35. Soal Latihan • Apa resiko yang dihadapi jika pengembangan aplikasi (RPL) tidak mengikuti tahapan-tahapan SDLC • Mengapa waterfall model sebagai SDLC yang paling sederhana dan hanya cocok digunakan untuk aplikasi sekala kecil. • Mengapa ketika menerapkan metode prototipe, pada tahap awal harus benar-benar diperjelas batasan-batasan/ruang lingkup/spesifikasi perangkat lunak secara umum. • Mengapa metode RAD bisa memberikan hasil yang lebih cepat dibandingkan metode waterfall?

More Related