REKAYASA PERANGKAT LUNAK Oleh : DWI SYAMSUIFIN ALHAM (5114201063) Pascasarjana Teknik Informatika Institut Teknologi Sepuluh Nopember Surabaya Tahun Ajaran 2014 Dwi Syamsuifin Alham 5114201063 Iterative Maintenance Life Cycle using eXtreme Programming 1. Latar Belakang Pemeliharaan Software sekarang ini sangat dibutuhkan untuk proses jangka panjang. Karena dibutuhkannya kode yang terstruktur, moral dan kekompakan dari tim, buruknya visibilitas pada proyek, kurangnya teknik komunikasi dan kurang tepatnya test suite. Di sisi lain pemrograman ekstrim adalah proses pengembangan perangkat lunak dengan praktik tantangan. dalam makalah ini diusulkan sebuah pemeliharaan jangka panjang secara berulang menggunakan eXtreme Programming[1]. Ini bisa mengatasi masalah pemeliharaan software dengan cara yang lebih halus. Diusulkan pendekatan proses pemeliharaan untuk mempercepat dengan usaha yang lebih sedikt dan menghasilkan pemeliharaan jangka panjang dan perkembangan pemeliharaan perangkat lunak[2]. 2. Konsep yang ditwarkan a. Analysiss b. Perencanaan c. Perubahan design d. Perubahan implementasi e. Regresi / Pengujian Sistem f. Pengujian Penerimaan g. pengiriman 3. Keuntungan Classic Software Engineering dan Modern Software Engineering Classic Software Engineering[3] dan Modern Software Engineering[4][5] terbagi dalam beberapa model - Waterfall - Rapid Application Development[6] - Spiral - Rational Unified Procces - V-shaped Model Modern Software Engineering - Component Based Software Develepment (CBSD) - agile 4. Conclusion and Future Work Pemeliharaan jangka pancang secara berulang menggunakan pemrograman ekstrim. Ini terdiri dari tujuh tahapan, yaitu; analisis, perencanaan, desain perubahan, perubahan implementasi, pengujian regresi/sistem, pengujian penerimaan, dan pengiriman. Pendekatan yang diusulkan menggunakan permintaan untuk perubahan (RC) cerita dan perangkat lunak lama sebagai masukan dan melakukan semua fase dalam model pemeliharaan berulang yang diusulkan. akhirnya, model yang diusulkan menghasilkan produk yang dimodifikasi mewarisi atribut kualitas seperti meningkatkan pemeliharaan software, meningkatkan produktivitas tim pemeliharaan, mengurangi biaya dan upaya perawatan perangkat lunak. Pengguna sistem yang ada dapat meminta untuk beberapa fungsionalitas tambahan atau dapat melaporkan bug di dalamnya. ini spesifikasi untuk perubahan atau peningkatan dalam yang ada fungsi atau pelaporan bug akan dalam bentuk singkat cerita. Cerita umumnya ditulis pada kartu indeks, yang termasuk tingkat tinggi deskripsi tentang cerita pengguna, prioritas cerita, perkiraan, dan rincian lainnya. prioritas dapat umumnya didasarkan pada tinggi/menengah/rendah atau indeks nomor. Nomor Prioritas akan menentukan mendesaknya kebutuhan untuk pelaksanaan perubahan atau penghapusan bug di sistem yang ada. Catatan. Review ini diterima oleh ibu. Tapi diusulkan untuk mencari reference yang berhubungan dengan maintenance atau extreme programming. Karena review yang diajukan dianggap metode yang digunakan kurang. Sekarang penulis mencoba reference yang beruhubungan dengan V-model. Nama : Dwi Syamsuifin Alham NRP : 5114201063 MK : Rekayasa Perangkat Lunak Topik: Penerapan V-Model Dalam Fleksibilitas Software Development 1. Pendahuluan V-Model sering disebut sebagi pengembangan dari teknik waterfall[7]. Jika dalam model waterfall proses dijalankan secara linear, maka dalam V-Model proses dilakukan bercabang. Dalam V-Model ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya. Untuk verifikasi dan validasi merupakan model standar yang banyak dipakai dinegara-negara Eropa seperti standar untuk proyek pertahanan dan administrasi federal di Jerman. V-Model Merupakan proses pengembangan perangakat lunak (juga berlaku untuk pengemabanagan hardware) yang dapat dianggap perluasan dari model waterfall. Bergerak turun secara linear, langkah-langkah yang bengkok ke atas setelah fase coding, untuk membentuk V yang khas. V-Model menunjukan hubungan antara vase siklus hidup pengembangan dan fase terkait pengujian. Sumbu horizontal dan vertical merupakan kelengkapan waktu atau proyek (kiri ke kanan) dan tingkat abstraksi masing-masing. V-model dikembangkan di Jerman untuk aplikasi pertahanan. Didalam V-model terdapat 3 kompomen kerja yang pokok yaitu: - Project Definition yakni mendefenisian project apa yang akan dibuat. - Time yakni waktu yang dibutuhkan dalam pengimplementasiannya dan - Project Test And Integration atau pengujian dan integrasi project tersebut. 2. Metode V-Model Tahapan V Model Tahapan pada V Model dibagi menjadi 2 garis besar yaitu tahap Verifikasi dan Validasi atau testing. Tahap Verfiikasi mengacu kepada usaha penyesuaian spesifikasi software dengan kebutuhan klien/konsumen, tahapan ini meliputi serangkaian kegiatan sebagai berikut: Business Case: Merupakan tahapan awal yang menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya yang harus disediakan. Requirement: pada fase ini klien mendapatkan gambaran atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh software, baik kebutuhan fungsional maupun non fungsional. Analisis Informasi: Setelah diperoleh spesifikasi sistem dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah didefinisikan. Perancangan Sistem: pada tahapan ini akan dibuat rancangan software secara lebih terinci sesuai spesifikasi yang sudah disepakati. Unit Design: merancang setiap elemen/unit software termasuk rancangan modul/program, antarmuka, database dan lain-lain. Development: merealisasikan hasil rancangan menjadi satu aplikasi/program tertentu. Tahapan Validasi merupakan serangkaian tahapan yang mengacu kepada kesesuaian software dengan spesifikasi yang sudah ditetapkan. Tahapan ini dicapai melalui serangkaian pengujian/testing sebagai berikut: Unit test: menguji setiap komponen/unit program apakah sesuai dengan rancangan unit yang sudah ditetapkan. Secara teoritis seharusnya pengujian dilakukan oleh orang tertentu yang bertugas sebagai software tester, tetapi dalam kenyataannya seringkali unit testing dilakukan oleh programmer sendiri.[8] Interface test: setelah semua komponen diuji secara terpisah, tahapan selanjutnya dilakukan interface test untuk melihat sejauh mana setiap komponen dapat berinteraksi satu sama lain sesuai dengan fungsi yang diharapkan. System test: setelah semua interface berjalan dengan baik, selanutnya dilakukan system test untuk melihat sejauh mana sistem/software dapat memenuhi kebutuhan secara keseluruhan. System testing bersifat menyeluruh dan tidak dapat dilakukan berdasarkan fungsionalitas sistem yang diuji secara terpisah. Acceptance test merupakan aktivitas untuk menguji sejauh mana sistem/software dapat membantu memecahkan business case, dalam artian apakah sistem/software tersebut sudah sesuai dengan harapan konsumen/klien dan sejauh mana manfaat sistem/software ini bagi klien. Test ini sering kali disebut sebagai User Acceptance Test (UAT). Release testing: test ini dilakukan untuk menguji sejauh mana sistem/software dapat mendukung aktivitas organisasi dan berjalan dengan harmonis sesuai dengan kegiatan rutin organisasi. Beberapa pertanyaan coba dijawab pada fase ini misalnya apakah software tersebut mempengaruhi sistem lain? Apakah software tersebut kompatibel dengan sistem lain? Bagaimana kinerja sistem sebenarnya di dalam organisasi? 3. Penerapan V-Model [9][10][11][12] [13] [14][15] [16] 4. Kesimpulan Refense [1] J. Choudhari and U. Suman, “Iterative Maintenance Life Cycle Using eXtreme Programming,” 2010 Int. Conf. Adv. Recent Technol. Commun. Comput., pp. 401– 403, Oct. 2010. [2] M. M. Hugh and O. Cawley, “An agile V-model for medical device software development to overcome the challenges with plan-driven software development lifecycles,” … Heal. Care ( …, pp. 12–19, 2013. [3] H. Mao and L. Zhu, “Template-Based Framework for Rapid Application Development Platform,” 2011 Asia-Pacific Power Energy Eng. Conf., pp. 1–4, Mar. 2011. [4] S. H. Vanderleest, C. College, and G. Rapids, “ESCAPE THE WATERFALL : AGILE FOR AEROSPACE,” pp. 1–16, 2009. [5] G. Kumar, “Comparative Analysis of Software Engineering Models from Traditional to Modern Methodologies,” 2014. [6] N. Marsyahariani, N. Daud, N. Azila, A. Abu, H. M. Rusli, U. Teknologi, and M. Uitm, “Implementing Rapid Application Development ( RAD ) Methodology in Developing Practical Training Application System,” pp. 1664–1667, 2010. [7] M. Iqbal and M. Rizwan, “Application of 80/20 rule in software engineering Waterfall Model,” Inf. Commun. …, no. Author 1, 2009. [8] H. Qian, “A Embedded Software Testing Process Model,” 2009. [9] P. C. Anitha, D. Savio, and V. S. Mani, “Managing requirements volatility while ‘Scrumming’ within the V-Model,” 2013 3rd Int. Work. Empir. Requir. Eng., pp. 17– 23, Jul. 2013. [10] L. Carnevali, L. Ridi, and E. Vicario, “Putting preemptive Time Petri Nets to work in a V-Model SW life cycle,” Softw. Eng. IEEE …, vol. 37, no. 6, pp. 826–844, 2011. [11] J. O. Clark, “System of Systems Engineering and Family of Systems Engineering from a standards, V-Model, and Dual-V Model perspective,” 2009 3rd Annu. IEEE Syst. Conf., pp. 381–387, Mar. 2009. [12] M. Ikoma, M. Ooshima, T. Tanida, M. Oba, and S. Sakai, “Using a Validation Model to Measure the Agility of Software Development in a Large Software Development Organization Issues of Productivity in Software,” pp. 91–100, 2009. [13] L. Dai and L. Huang, “V-Model Method of Individual Education Based on Networked Learning Community,” 2009 Int. Conf. Inf. Eng. Comput. Sci., pp. 1–3, Dec. 2009. [14] K.-K. Lau, F. M. Taweel, and C. M. Tran, “The W Model for Component-Based Software Development,” 2011 37th EUROMICRO Conf. Softw. Eng. Adv. Appl., pp. 47–50, Aug. 2011. [15] P. Trivedi, A. Sharma, and G. E. College, “A Comparative Study between Iterative Waterfall and Incremental Software Development Life Cycle Model for Optimizing the Resources Using Computer Simulation,” pp. 188–194, 2013. [16] A. Deuter, “Slicing the V-Model -- Reduced Effort, Higher Flexibility,” 2013 IEEE 8th Int. Conf. Glob. Softw. Eng., pp. 1–10, Aug. 2013.