TUGAS PENJELASAN TEKNIK SDLC OLEH : HENRY ARIO HAFITZ 191041120006 PROGRAM STUDI S-1 SISTEM INFORMASI FAKULTAS ILMU KOMPUTER UNIVERSITAS UBUDIYAH INDONESIA 2019 1. V-Model V-Model adalah jenis model SDLC dimana proses dijalankan secara berurutan membentuk huruf V. V-Model juga dikenal sebagai model Verifikasi dan Validasi. V-Model memiliki tahapan yang harus diselesaikan untuk masuk ke tahapan berikutnya. a.) Verifikasi, ini melibatkan Teknik analisis statis (tinjauan) yang dilakukan tanpa mengeksekusi kode. Ini adalah proses evaluasi dari fase pengembangan produk untuk menemukan apakah memenuhi persyaratan yang ditentukan. b.) Validasi, ini melibatkan teknik analisis dinamis, pengujian yang dilakukan adalah dengan mengeksekusi kode. Validasi disini dimaksudkan untuk mengevaluasi perangkat lunak setelah selesainya tahap pengembangan untuk menentukan apakah perangkat lunak sudah sesuai. 1 Jadi, V-Model berisi fase verifikasi di satu sisi dan fase validasi di sisi lain. Fase verifikasi dan validasi digabung dengan fase pengkodean dalam bentuk-V, sehingga disebut V-Model. Keuntungan menggunakan V-Model : - Model ini sangat terukur dimana setiap tahapan diselesaikan satu per satu. - V-Model digunakan untuk proyek-proyek dimana persyaratan proyek yang sudah jelas - Sederhana dan mudah dimengerti - Model ini berfokus pada kegiatan verifikasi dan validasi sehingga membuat kemungkinan produk berjalan dengan baik - Dengan tahapan yang terukur, manajemen proyek dapat melacak progress dari proyek secara akurat. Kekurangan menggunakan V-Model : - Resiko tinggi - Tidak cocok untuk proyek yang kompleks dan berorientasi pada objek - Tidak cocok untuk proyek yang tidak memiliki persyaratan yang tidak jelas. - Sulit untuk dikerjakan semua tahapan secara bersamaan Contoh penggunaan V-Model digunakan dalam proyek teknologi informasi di negara Jerman. Hal ini berlaku terutama untuk proyek teknologi informasi pada pada sektor pertahanan negara Jerman. 2. Big Bang Model Big Bang Model adalah model SDLC di mana tidak ada langkah dan prosedur pengembangan formal yang diikuti dan sangat sedikit perencanaan yang diperlukan sebelum memulai pengembangan proyek. Dalam model big-bang SDLC, pelanggan juga tidak mengerti dengan jelas tentang kebutuhan fungsionalnya tentang sistem yang dikembangkan. Persyaratan 2 pelanggan tidak tetap dan bervariasi dengan waktu dan pelanggan percaya sistem diimplementasikan dengan cepat tanpa banyak analisis. Biasanya model Big Bang SDLC diikuti untuk proyek-proyek kecil di mana tim pengembangan sangat kecil. Big Bang Model ini ideal untuk pengembangan proyek kecil dengan satu atau dua orang bekerja sama. Keuntungan dari Big Bang Model : Keuntungan dari Big Bang adalah sangat sederhana dan mudah diimplementasikan. Model ini membutuhkan perencanaan yang sangat sedikit atau tidak sama sekali. Tidak diperlukan prosedur formal sebelum memulai proyek apa pun sehingga model ini mudah dikelola. Ini sangat ideal untuk proyek berulang atau kecil dengan risiko minimum. Kerugian dari Big Bang Model : Karena tidak ada perencanaan awal yang diperlukan sebelum memulai proyek maka model Big Bang adalah model yang sangat berisiko tinggi. Selain itu jika perubahan dalam persyaratan atau persyaratan yang disalah pahami bisa saja proyek harus di ubah total. 3 3. Rapid Application Development (RAD) RAD adalah SDLC yang pertama kali diusulkan oleh IBM pada tahun 1980an, proyek pengembangan software yang dapat menggunakan model ini adalah proyek yang dapat di pecah menjadi modul-modul kecil, dimana setiap modul dapat ditugaskan secara terpisah ke tim. Modul-modul ini kemudian digabungkan sehingga program dapat selesai. Model RAD ini mrip seperti model Waterfall, dimana memiliki tahapan yaitu menganalisis, merancang, mengkodekan dan kemudian menguji, dll. Fitur lain yang mencolok dari model ini adalah rentang waktu pengerjaan yang pendek Model ini terdiri dari 4 fase dasar: - Perencanaan kebutuhan - Deskripsi pengguna - Konstruksi - Cut over 4 Keuntungan menggunakan RAD : - Feedback dari pemilik proyek tersedia pada tahap awal - Rentang waktu pengerjaan yang cepat - Progress dari pengerjaan dapat di ukur melalui berbagai tahapan - Dapat digunakan untuk memodifikasi sistem yang lama Kekurangan menggunakan RAD : - Hanya sistem yang dapat dimodulasi yang dapat menggunakan model ini - Keterlibatan pemilik proyek diperlukan sepanjang proses pengerjaan - Membutuhkan tim yang sangat professional Contoh penggunaan model RAD adalah dalam pembuatan sistem informasi manajemen, dimana terdapat berbagai modul, dan model RAD dipakai untuk mempersingkat waktu pengerjaan. 4. Case Tools Case Tools merupakan suatu teknik yang digunakan untuk membantu satu atau beberapa fase dalam life-cycle software, termasuk fase analisis, desain, implementasi dan maintenance dari software tersebut. Case Tools memiliki beberapa kategori, diantaranya : - Information engineering-supporting products - Structured diagramming-supporting products. - Application-code-generating products. Manfaat dari Case Tools dalam software engineering adalah sebagai berikut: - Case tools memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software. - Case tools sangat membantu dalam meningkatkan kualitas design model suatu software sebelum software itu 5 dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment. CASE tools diklasifikasikan sebagai berikut: 1. Upper CASE. CASE tools yang didesain untuk mendukung perencanaan, identifikasi, dan seleksi proyek (permulaan dari perencanaan proyek), tepatnya pada fase analisis dan desain dari suatu system development life cycle (SDLC). Tools yang termasuk kelas ini adalah jenis Diagramming tools, Form and report generators, dan Analysis tools. Contoh CASE tools: Cradle, PRO-IV Workbench, ProKit*WORKBENCH. 2. Lower CASE. CASE tools yang didesain untuk mendukung tahap implementasi dan maintenance dari SDLC. Tools yang termasuk kelas ini adalah jenis Code generators. Contoh CASE tools: Level/l-User Sensitive CASE, PRO-IV application Development. 3. Cross life-cycle CASE/Integrated CASE (I-CASE). CASE tools yang dirancang untuk mendukung aktifikas-aktifitas yang terjadi pada beberapa fase dari SDLC. Mengkombinasikan Upper dan Lower CASE menjadi satu. Tools yang termasuk kelas ini adalah jenis Project management tools. Contoh CASE tools: Rational Rose, Poseidon, ArgoUML, Catalyze, in-Step, Juggler, PRINCE. 6 Keuntungan teknologi CASE adalah sebagai berikut : - Perbaikan produktivitas. - Perbaikan kualitas program. - Penghematan biaya - Perbaikan prosedur pengendalian - Penyederhanaan dokumentasi 5. Formal Method Fomal Method adalah teknik yang digunakan untuk memodelkan sistem yang kompleks sebagai entitas matematika. Dengan membangun model matematis yang ketat dari sistem yang kompleks, programmer tidak hanya dapat memverifikasi properti sistem dengan cara yang lebih menyeluruh tetapi juga menggunakan bukti matematika sebagai pelengkap pengujian sistem untuk memastikan sistem berjalan dengan benar. Formal Method mengadopsi pendekatan tiga langkah untuk pemodelan dan evaluasi sistem. Selama spesifikasi formal, pengembang akan mendefinisikan suatu sistem menggunakan bahasa pemodelan — biasanya dengan menggunakan sintak formal dan matematis dan semantik yang menghilangkan ketidaktepatan. Ini mirip dengan menuliskan spesifikasi 7 sistem. Berdasarkan spesifikasi, para pengembang mengembangkan seperangkat teorema tentang perilaku suatu sistem. Teorema-teorema ini diverifikasi melalui bukti matematis — untuk memastikan bahwa sistem berjalan konsisten secara logis dan memang sesuai harapan. Karena hal ini memungkinkan pengembang untuk menemukan kelemahan dalam perancangan bahkan sebelum desain diimplementasikan ke dalam kode, hal itu mencegah kesalahan fatal yang muncul di tahap pengembangan selanjutnya. Akhirnya, setelah model ditentukan dan diverifikasi, implementasi dapat dimulai dengan mengubah spesifikasi menjadi kode. Kelebihan model ini adalah pengurangan waktu dan peningkatan produktivitas yang besar. Sementara kekurangan model ini adalah kemungkinan akan sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang konvensional, selain itu terdapat juga masalah dalam hal kode sumber yang tidak efisien. Di samping itu, pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses pengkajian. Contoh penggunaan Formal Method adalah pengembangan sistem pada pesawat terbang. 6. Agile Method Pada awalnya model waterfall sangat populer untuk menyelesaikan proyek. Tetapi saat ini pengembang menghadapi berbagai masalah saat menggunakannya untuk mengembangkan perangkat lunak. Kesulitan utama termasuk menangani permintaan perubahan dari pelanggan selama pengembangan proyek dan biaya tinggi dan waktu yang diperlukan untuk memasukkan perubahan ini. Untuk mengatasi kelemahan model Waterfall ini, pada pertengahan 1990-an model Pengembangan Perangkat Lunak Agile diusulkan. 8 Agile Method dirancang untuk membantu proyek beradaptasi dengan mengubah permintaan dengan cepat. Jadi, tujuan utama model Agile adalah untuk memfasilitasi penyelesaian proyek yang cepat. Agile Method mengadopsi pengembangan berulang. Setiap bagian inkremental dikembangkan melalui iterasi. Setiap iterasi dimaksudkan untuk menjadi kecil dan mudah dikelola dan yang dapat diselesaikan dalam beberapa minggu saja. Kelebihan Agile Method - Meningkatkan kepuasan kepada klien - Pembangunan system dibuat lebih cepat - Mengurangi resiko kegagalan implementasi software dari segi nonteknis - Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil. 9 7. Extreme Programming ( XP ) Extreme programming (XP) adalah salah satu kerangka pengembangan perangkat lunak yang paling penting dari model Agile. Ini digunakan untuk meningkatkan kualitas perangkat lunak dan responsif terhadap kebutuhan pelanggan. Model pemrograman ekstrem merekomendasikan untuk mengambil implementasi terbaik yang telah bekerja dengan baik di masa lalu dalam proyek pengembangan program ke tingkat ekstrem. Beberapa implementasi yang baik yang telah diakui dalam model pemrograman ekstrem dan disarankan untuk memaksimalkan penggunaannya diberikan di bawah ini: - Peninjauan Kode: Peninjauan kode mendeteksi dan memperbaiki kesalahan secara efisien. - Pengujian: Menguji kode membantu menghilangkan kesalahan dan meningkatkan keandalannya - Pengembangan inkremental: Pengembangan inkremental sangat baik karena feedback pelanggan diperoleh dan berdasarkan pada tim 10 pengembangan ini muncul peningkatan baru setiap beberapa hari setelah setiap iterasi. - Kesederhanaan: Kesederhanaan membuatnya lebih mudah untuk mengembangkan kode berkualitas baik serta untuk menguji dan men-debug itu. - Desain: Desain berkualitas baik penting untuk mengembangkan perangkat lunak berkualitas baik. - Pengujian integrasi: Membantu mengidentifikasi bug pada antarmuka berbagai fungsi. Pemrograman ekstrem menunjukkan bahwa pengembang harus mencapai integrasi berkelanjutan dengan membangun dan melakukan pengujian integrasi beberapa kali. 8. Secrum Method Scrum adalah iteratif dan pengembangan perangkat lunak kerangka kerja tambahan tangkas untuk proyek-proyek perangkat lunak dan mengelola produk atau pengembangan aplikasi. Scrum adalah sebuah framework yang mengimplementasikan proses Agile Development. Untuk menjelaskan bagaimana Scrum mengubah paradigma dalam proses bekerjaWalaupun sebenarnya metode ini biasanya digunakan secara tim, tapi tidak ada larangan untuk menggunakannya secara perorangan. Metode Scrum membagi proses development menjadi beberapa Sprint. 11 Berikut ini uraian dari tahap-tahap pengembangan perangkat lunak dengan menggunakan metode Scrum : 1. Product Backlog Bagian pertama ini adalah kumpulan dari hal-hal yang diperlukan dan yang harus tersedia dalam produk. Produk backlog berada dalam tanggung jawab product owner. Product Backlog adalah daftar utama dari semua fungsi yang diinginkan dalam produk. Metodologi Scrum tidak mengharuskan dokumentasi semua persyaratan pada awal proyek. 2. Sprint Backlog Perencanaan Sprint dilakukan dalam pertemuan atau meeting antara pemilik produk dan tim developer yang akan berkolaborasi untuk memilih product backlog untuk dimasukan kedalam proses sprint. Hasil dari pertemuan tersebut adalah Sprint Backlog. 3. Sprint Sprint adalah sebuah kerangka waktu yang berdurasi maksimal 1 bulan untuk mengembangkan produk yang berpontensi untuk dirilis. 4. Increment Increment merupakan hasil dari seluruh hal dalam Product Backlog yang telah selesai dikerjakan pada seluruh Sprint. Pada akhir Sprint, Increment harus sudah benar-benar selesai, yang berarti harus dalam keadaan yang useable. Keuntungan Scrum : - Scrum membantu perusahaan dalam menghemat waktu dan uang. - Metode scrum membolehkan perusahaan dimana persyaratan bisnis sulit untuk diukur menjadi mudah dikembangkan. 12 - Pergerakan pengembangan cutting edge dapat dengan cepat dikodekan dan diuji menggunakan metode ini. bagaikan kesalahan yang mudah untuk diperbaiki. - Scrum merupakan sebuah metode yang mudah dikontrol yang mana peningkatan pekerjaan dapat terjadi setiap periode waktu yang ditentukan - Seperti metodologi agile lainnya, scrum juga merupakan metode iteratif yang membutuhkan feedback secara kontinu dari user. Kerugian Scrum : - Scrum adalah salah satu penyebab utama scope creep karena kecuali ada tanggal akhir tertentu, stakeholder proyek manajemen akan tergoda untuk terus menuntut fungsi baru disampaikan. - Jika tugas tidak didefinisikan dengan baik, perkirakan biaya proyek dan waktu tidak akan akurat. Dalam kasus seperti itu, tugas dapat tersebar di beberapa sprint. - Jika anggota tim tidak berkomitmen, maka proyek tidak akan selesai atau bahkan gagal - Proyek yang kecil dapat bergerak dengan sangat baik karena hanya diselesaikan oleh tim yang kecil - Metode ini hanya membutuhkan anggota tim yang berpengalaman, jika tim berisi orang - orang yang masih pemula maka proyek tidak dapat selesai sesuai waktunya 13