REKAYASA PERANGKAT LUNAK 1 REKAYASA PERANGKAT LUNAK By : Andi Latifa Nabone
Materi FAQ mengenai perangkat lunak Tanggung jawab profesional dan etika
Pendahuluan Biaya perangkat lunak yang seringkali mendominasi sistem komputer biaya. Biaya perangkat lunak pada PC sering lebih besar dari biaya hardware. Biaya Perangkat Lunak lebih untuk mempertahankan daripada yang dilakukannya untuk berkembang. Untuk sistem dengan umur panjang, biaya perawatan mungkin beberapa kali Biaya yang diperlukan untuk pengembangan. Rekayasa perangkat lunak berkaitan dengan biaya pengembangan perangkat lunak yang efektif.
FAQ Mengenai Rekayasa Perangkat Lunak Apakah Perangkat Lunak Itu? Perangkat Lunak (Software) tidak sama dengan program komputer. Perangkat lunak tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat agar program beroperasi dengan benar. Sistem Perangkat Lunak terdiri dari : Sejumlah program yg terpisah File-file konfigurasi Dokumentasi sistem Dokumentasi User
Dua tipe produk perangkat lunak Ada dua tipe produk perangkat lunak, yaitu : Produk Generik Sistem stand-alone standar yg diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software shrink-wrapped. Contoh : pengolah kata (word processor). Produk pesanan (yang disesuaikan) Sistem yg dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak. Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara.
Apa Rekayasa Perangkat Lunak Itu? RPL atau Software Engineering (SE) Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Ada 2 istilah kunci disini : “disiplin rekayasa” Perekayasa membuat suatu alat bekerja. Menerapkan teori, metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan selalu mencoba mencari solusi terhadap permasalahan. “semua aspek produksi perangkat lunak” RPL tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti Manajemen proyek PL dan pengembangan alat bantu, metode, dan teori untuk mendukung produksi PL.
Perbedaan antara RPL dengan Computer Science ? Teori ilmu komputer masih cukup untuk bertindak sebagai fondasi yang lengkap untuk perangkat lunak rekayasa (seperti misalnya fisika dan teknisi listrik ). Intinya, computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
Perbedaan RPL dengan Rekayasa Sistem ? Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem. Rekayasa sistem merupakan disiplin yang lebih tua dari rekayasa perangkat lunak
Apa yang dimaksud dengan proses perangkat lunak? Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL : Spesifikikasi Perangkat Lunak Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan. Pengembangan Perangkat Lunak Perangkat lunak yang memenuhi spesifikasi harus di produksi Validasi Perangkat Lunak Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan. Evolusi Perangkat Lunak Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
Apa yang dimaksud dengan proses perangkat lunak? Proses perangkat lunak yang berbeda mengatur kegiatan ini dengan cara yang berbeda dan dijelaskan dengan tingkat kerincian yang berbeda pula. Waktu kegiatan bervariasi, sebagaimana hasilnya Pengaturan yang berbeda dapat menggunakan proses yang berbeda untuk menghasilkan produk yang sama. Tapi untuk beberapa jenis aplikasi tertentu, beberapa proses lebih sesuai dari yang lainnya, jika digunakan proses yang tidak sesuai maka kualitas kegunaan produk perangkat lunak yang akan dikembangkan tersebut mungkin akan berkurang.
Model Proses Perangkat Lunak Yaitu deskripsi yang disederhanakan dari proses perangkat lunak di presentasikan dengan sudut pandang tertentu. Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak (Perekayasa PL).
Biaya Rekayasa Perangkat Lunak Umumnya sekitar 60% untuk biaya pengembangan (development) dan 40% biaya pengujian (testing). Distribusi biaya yang tepat selama proses perangkat lunak bergantung pada proses yang digunakan dan jenis perangkat lunak yang dikembangkan.
Metode-metode RPL Pendekatan-pendekatan terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi, aturan, saran pengembangan sistem (rekomendasi), dan panduan proses. Deskripsi model sistem Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Ex : model aliran data. Aturan Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem harus memiliki nama yang unik. Rekomendasi Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang memiliki lebih dari tujuh sub-objek yang berhubungan dengannya. Panduan Proses Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex : Atribut objek harus didokumentasi sebelum mendefinisikan operasi yang berhubungan dengan objek.
CASE (Computer-Aided Software Engineering) Mencakup berbagai macam program yang digunakan untuk mendukung kegiatan PL seperti analisis persyaratan, pemodelan sistem, debugging, dan pengujian.
Atribut perangkat lunak yang bagus Perangkat Lunak seharusnya memberikan user kebutuhan fungsionalitas dan kinerja yang : Dapat dipelihara (Maintanability) PL harus dapat memenuhi perubahan kebutuhan user. Dapat diandalkan (Dependability) PL harus dapat dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi jika terjadi kegagalan sistem. Efisien PL harus efisien dalam penggunaan sumber daya sistem. Kemampuan pemakaian (Usability) PL harus dapat dipakai sesuai dengan yang direncanakan.
Tanggung Jawab Profesional dan Etika Software engineering melibatkan lebih luas tanggung jawab dari sekedar penerapan keterampilan teknis. Para Perancang Perangkat Lunak harus berperilaku jujur dan etis cara yang bertanggung jawab jika mereka harus dihormati sebagai profesional. Perilaku etis lebih dari sekedar menegakkan hukum.
Isu tanggung jawab profesional Konfidensialitas Engineers biasanya harus menghormati kerahasiaan dari majikan mereka atau klien terlepas dari apakah atau tidak perjanjian kerahasiaan formal telah ditandatangani. Kompetensi Perekayasa tidak boleh menggambarkan tingkat mereka kompetensi. Mereka seharusnya tidak sengaja menerima pekerjaan yang melebihi kompetensi mereka.
Isu tanggung jawab profesional Hak properti intelektual Insinyur harus menyadari hukum setempat yang mengatur penggunaan kekayaan intelektual seperti paten, hak cipta, dll Mereka harus berhati-hati untuk memastikan bahwa kekayaan intelektual majikan dan klien dilindungi. Komputer penyalahgunaan insinyur Perangkat lunak tidak harus menggunakan keterampilan teknis mereka untuk penyalahgunaan komputer orang lain. Komputer penyalahgunaan berkisar dari yang relatif sepele (bermain game pada komputer atasan ) sampai yang sangat serius (penyebaran virus).
ACM / IEEE Kode Etik Masyarakat profesional di AS bekerja sama untuk menghasilkan sebuah kode praktek yang etis. Anggota organisasi ini mendaftar ke kode praktek ketika mereka ingin bergabung. Kode berisi delapan Prinsip-prinsip yang terkait dengan perilaku dan keputusan yang dibuat oleh profesional perangkat lunak insinyur, termasuk praktisi, pendidik, manajer, supervisor dan kebijakan pembuat, serta trainee dan mahasiswa profesi.
Kode etik dan praktek profesional rekayasa perangkat lunak. Perekayasa Perangkat Lunak harus berkomitmen untuk membuat analisis, spesifikasi, desain, pengembangan, pengujian dan pemeliharaan perangkat lunak dan dihormati sebagai profesi menguntungkan. Sesuai dengan komitmen mereka untuk keselamatan, kesehatan dan kesejahteraan masyarakat, insinyur perangkat lunak harus mematuhi Delapan Prinsip berikut:
Prinsip Kode Etik, yaitu : PUBLIK insinyur Perangkat Lunak harus bertindak konsisten dengan publik bunga. KLIEN DAN KERJA Perekayasa Perangkat Lunak harus bertindak dengan cara yang ada di terbaik kepentingan klien mereka dan majikan yang konsisten dengan publik bunga. PRODUK Perekayasa Perangkat Lunak harus memastikan bahwa mereka produk dan terkait modifikasi memenuhi standar profesional tertinggi mungkin.
Prinsip Kode Etik PENGHAKIMAN Perekayasa Perangkat Lunak harus mempertahankan integritas dan kemandirian dalam penilaian profesional mereka. MANAJEMEN Manajer dan pemimpin Software engineering harus berlangganan dan mempromosikan pendekatan etis dengan pengelolaan pengembangan perangkat lunak dan pemeliharaan. PROFESI Perekayasa Perangkat Lunak memajukan integritas dan reputasi profesi konsisten dengan kepentingan publik.
Terima Kasih