0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
410 tayangan3 halaman
Hubungan Software Engineering Dan Software Craftsmanship Dalam Software Development PDF
Software engineering dan software craftsmanship memiliki kesamaan dan perbedaan dalam pengembangan perangkat lunak. Keduanya bertujuan untuk memenuhi kebutuhan pelanggan dan memberikan perangkat lunak berkualitas, namun software engineering lebih menekankan pendekatan sistematis dan terukur sedangkan software craftsmanship lebih menekankan keahlian dan ketrampilan pengembang.
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
410 tayangan3 halaman
Hubungan Software Engineering Dan Software Craftsmanship Dalam Software Development PDF
Software engineering dan software craftsmanship memiliki kesamaan dan perbedaan dalam pengembangan perangkat lunak. Keduanya bertujuan untuk memenuhi kebutuhan pelanggan dan memberikan perangkat lunak berkualitas, namun software engineering lebih menekankan pendekatan sistematis dan terukur sedangkan software craftsmanship lebih menekankan keahlian dan ketrampilan pengembang.
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 3
Hubungan Software Engineering dan Software
Craftsmanship dalam Software Development
Latifah Maulida Rahma 1 , Gusnia Syukriyawati 2
1,2 Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya Jl. Veteran no.8 Malang 1 [email protected] 2 [email protected]
Abstract Software Development (pengembangan perangkat lunak) merupakan pengembangan suatu perangkat lunak dalam bentuk perangkat lunak yang baru untuk memperbaiki atau menggantikan secara keseluruhan perangkat lunak yang sudah ada. Tantangan dalam pengembangan perangkat lunak tidak hanya terletak pada penciptaan kode baru, tetapi pada pasar persaingan yang luar biasa, yang menuntut pemaksaan untuk menyelesaikan solusi yang harus tepat waktu. Dalam Software Development sering terdapat istilah Software Engineering dan Software Craftmansip. Software engineering atau yang biasa disebut dengan rekayasa perangkat lunak merupakan disiplin rekayasa dengan perangkat lunak yang dikembangkan. Software craftsmanship adalah pengembangan perangkat lunak yang menyatu dengan seni, ilmu pengetahuan, dan teknik. Bertujuan untuk memberikan sistem yang efektif, yang dibuat oleh pengembang yang berpengalaman dan terampil. Tidak membutuhkan pendekatan sistematis, disiplin ilmu dan teknik, serta terukur.
Kata kunci: Software Development, Software Engineering , Software Craftmansip
I. PENDAHULUAN Perangkat lunak pada awalnya dikembangkan dengan bebas dari kebutuhan bisnis yang spesifik, tetapi menjadi lebih baik saat dinilai dalam konteks penyampaian nilai bisnis yang spesifik. Kondisi ini memperluas pandangan tradisional dari rekayasa perangkat lunak untuk mencakup dampak dari sistem informasi manajemen pada pengebanagn perangkat lunak. Pemasukan dari metriks bisnis untuk mengevaluasi kualitas pengembangan perangkat lunak mencerminkan suatu kesadaran dari pandangan ini. Perangkat lunak dikembangkan sebagai tanggapan untuk keperluan bisnis, tetapi hanya ketika bisnis melihat hal tersebut sebagai perwakilan dari suatu kesempatan untuk hasil bisnis yang baru. Aplikasi perangkat lunak akan dikembangkan untuk kebutuhan yang spesifik. Pengguna dari suatu produk tidak tertarik pada bagaimana suatu produk dihasilkan atu bagaimana suatu produk bekerja, kecuali jika beberapa spesifikasi teknis dipasangkan secara erat dengan fitur yang diinginkan dari produk. Perbedaan pada aplikasi perangkat lunak yang tak umum adalah bahwa pengguna ingin dilibatkan pada tahap teksnis pengiring dari siklus hidup pengembangan perangkat lunak seperti analisis, desain, dan pengujian [3]. Pada saat ini, tantangan dalam pengembangan perangkat lunak tidak hanya terletak pada penciptaan kode baru, tetapi pada pasar persaingan yang luar biasa, yang menuntut pemaksaan untuk menyelesaikan solusi yang harus tepat waktu, sesuai dengan anggaran dan sesuai dengan target. Selain itu, pengembangan perangkat lunak menghadapi tantangan lainnya berupa [3] : User power and authority Pengguna bisnis dan pengguna individu adalah pihak yang lebih kuat, berpengalaman, dan selektif. Market share Pesaing menjadi lebih agresif, inovatif, dan banyak mengetahui. Killer application Aplikasi lebih bisa dikusomisasi, interaktif, dinamis, dan penuh gaya. The anytime anywhere factor Faktor ini mengakomodasi aplikasi berbasis web dan lingkungan tanpa kabel ( wireless) sert peningkatan sejumlah alat portabel. The return on invesment (ROI) factor Perangkat lunak dipandang sebagai suatu investasi, tidak hanya sebagai suatu kegiatan teknis. Oleh karena itu, pengevaluasian dilakukan pada nilai yang diciptakan yang dibandingkan dengan kemampuan yang bisa dikirim. The technology factor Dari alat berbasis web dan CASE sampai penintegrasian perangkat lunak maupun perangkat keras ke aplikasi dan peralatan multimedia, teknologi perangkat luank meningkatkan pada suatu tingkayt yang sangat cepat. Penyelidikan dan pemahaman pengembanagan seperti ini penting karena teknologi yang baru dapat menambah keuntungan kompetitif yang penting jika digunakan dengan baik.
II. PEMBAHASAN 2.1 Software Engineering Software engineering atau yang biasa disebut dengan rekayasa perangkat lunak merupakan disiplin rekayasa dengan perangkat lunak yang dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien, menyusunnya di dalam daftar kebutuhan, merancang arsitektur yang mampu mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan peintegrasian bagian yang terpisah, menguji keseluruhan, penyebaran dan pemeliharaan perangkat lunak. The Software Engineering Body of Knowledge (SWEBOK) membagi software engineering kedalam 10 area pengetahuan, yaitu [3]: 1. Kebutuhan perangkat lunak 2. Perancangan perangkat lunak 3. Kontruksi perangkat lunak 4. Pengujian perangkat lunak 5. Pemeliharaan perangkat lunak 6. Manajemen konfigurasi perangkat lunak 7. Manajemen perangkat lunak 8. Proses perangkat lunak 9. Metode dan tool perangkat lunak 10. Kualitas perangkat lunak Seperti halnya engineering yang lain, software engineering yang tanpa alternatif digabungkan dengan empat elemen kunci yaitu [3]: Kelayakan: menemukan solusi yang terbaik untuk suatu masalah. Maksimaslisasi nilai: memaksimalkan nilai dari solusi yang disediakan. Strategi yang efektif: mengadopsi suatu strategi yang efektif untuk mengembangkan solusi. Pemodelan: perancangan suatu gambaran visual dari tahap sebelum solusi sampai implementasinya.
Definisi Institute of Electrical and Electronics Engineers (IEEE) pada rekayasa perangkat lunak mengatakan bahwa: Aplikasi dari suatu sistem, disiplin, pendekatan dapat dihitung untuk pengembangan, operasi dan pemeliharaan perangkat lunak [3]. Software engineering dipandang sebagai bagian dari sekelompok besar strategi dalam hubungannya dengan permasalahan bisnis yang mempertimbangkan proses pengembangan perangkat lunak sebagai suatu unsur penting dan faktor kesuksesan kritis untuk keseluruhan perusahaan.
2.2 Software Craftsmanship Software Craftsmanship dalam kamus bahasa Indonesia diartikan sebaga software adalah perangkat lunak sedangkan craftsmanship merupakan sebuah keahlian atau ketrampilan dalam kerajinan tertentu. Sehingga dapat disimpulkan software craftsmanship merupakan keahlian dalam membuat sebuah perangkat lunak. Dimana kerajinan adalah perangkat lunak itu sendiri. Namun bagaimana dengan software engineering, bukan kah software engginering juga merupakan suatu keahliaan. Dalam buku Software Craftsmanship, Pete McBreen menjelaskan bahwa: Menjadi seorang software developer yang baik melibatkan banyak aspek, tidak hanya sekedar belajar untuk menulis program. Pengembangan perangkat lunak adalah sebuah craft (kerajinan), menyatu dengan science (ilmu pengetahuan), engineering (teknik), mathematics (matematika), linguistics (ilmu bahasa) dan art (seni) [1]. Dalam buku tersebut Pete McBreen berupaya mengumpulkan manifesto-manifesto untuk pengembangan perangat lunak (software development), dimana pengembangan perangkat lunak ini ditujukan bagi mereka yang berasumsi bahwa pengembangan perangkat lunak bukanlah sebuah disiplin teknik atau ilmu. Melainkan sebuah keahlian atau ketrampilan (craftsmanship).
Gambar 1. Software Craftsmanship [2]
Apakah Anda seorang pengguna, manajer atau pengembang, itu tidak masuk akal untuk mempercayai seorang pengembang perangkat lunak yang kurang pengalaman. Inilah sebabnya mengapa kita focus pada software craftsmanship dari pada software engineering. Proses terbaik tidak akan menyelamatkan proyek dari kegagalan jika orang-orang yang terlibat tidak memiliki keterampilan atau keahlian yang diperlukan untuk melakukan proses tersebut. sebaliknya, hanya pengembang yang benar-benar baik yang dapat membuat proses bekerja [2]. Jadi dari penjelasan tersebut, software craftsmanship adalah pengembangan perangkat lunak yang menyatu dengan seni, ilmu pengetahuan, dan teknik. Bertujuan untuk memberikan sistem yang efektif, yang dibuat oleh pengembang yang berpengalaman dan terampil. Tidak membutuhkan pendekatan sistematis, disiplin ilmu dan teknik, serta terukur.
2.2.1 Manifesto Software Craftsmanship Pada bulan Maret 2009, setelah diskusi berkepanjangan di software craftsmanship mailing list, dirancanglah sebuah manifesto. Pada manifesto tersebut memiliki tujuan yaitu [2]: Tidak hanya membuat perangkat lunak , namun juga perangkat lunak yang dibuat dengang baik Tidak hanya menanggapi perubahan, tetapi juga terus memberikan nilai tambah tambah Tidak hanya individualis dan interaksi, tetapi juga komunitas profesional Tidak hanya bekerjasama dengan pelanggan, tetapi juga produktif / kemitraan
Gambar 2. Manifesto software Craftmanship [4]
Gambar 2. Grafik garis bagi yang melakukan signature di manifesto software Craftsmanship [4]
2.3 Hubungan Software Engeneering dan Software Craftsmanship dengan Software Development Antara software engineering dan software craftsmanship memiliki beberapa tujuan yang sama, antara lain: Merupakan pengembangan perangkat lunak. memenuhi apa yang dibutuhkan pelanggan. Memberikan perangkat lunak berkualitas tinggi. Memastikan rilis tepat waktu. Meminimalkan risiko kegagalan.
2.4 Perbedaan antara Software Engeneering dan Software Craftsmanship Software engineering proses pengembangan perangkat lunak yang mengacu pada aspek teknis dan disiplin ilmu sehingga menghasilkan perangkat lunak yang ekonomis, handal dan efisien. Software craftsmanship mengacu pada pengasahan ketrampilan pengembang. Jadi pengembangan perangkat lunak lebih mengutamakan pada keahlian dan ketrampilan pengembang. Oleh karena itu pengembang dapat melakukan proses software development dengan baik.
III. KESIMPULAN Software engineering berbeda dengan software craftsmanship. Namun antara Software engineering dan software craftsmanship memiliki tujuan yang sama pembangunan perangkat lunak (software development). Software engineering lebih mengacu pada teknis dan disiplin ilmu sedangkan software craftsmanship lebih mengutamakan pada keahlian dan ketrampilan pengembang dalam mengembangkan perangkat lunak.
REFERENSI [1] McBreen, P. (2001). Software Craftsmanship: The New Imperative. Addison-Wesley
[2] Hoover, D. & Oshineye, A. (2009). Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. OReilly. [Available on- linehttp://ofps.oreilly.com/titles/9780596518387/]
[3] Simarmata, Janner. 2010. Rekayasa Perangkat Lunak. Yogyakarta : Andi
[4] (2009) The Manifesto Software Craftsmanship website. [Online]. Available: http://manifesto.softwarecraftsmanship.org/