Rekayasa
perangkat lunak atau Software engineering dalam bahasa inggris merupakan bidang
ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti
cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen
kualitas perangkat lunak.
Rekayasa
perangkat lunak jugamerupakan disiplin rekayasa dengan perangkat lunak yang
dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien,
menyusunnya didalam daftar kebutuhan, merangcang arsitektur yang mampu
mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan
pengintegrasian bagian yang terpisah, menguju keseluruhan, penyebaran, dan
pemeliharaan perangkat lunak.
1. Konsep Dasar Pada
Software Engineering
Software
engineering didefinisikan oleh Fritz Bauer sebagai: penerapan dan penggunaan
prinsip-prinsip engineering yang baik dalam rangka menghasilkan software yang
ekonomis, reliable, dan bekerja secara efisien pada komputer sungguhan.
Software engineering is the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and works
efficiently on real machines.
Sementara itu IEEE mendefinisikan software engineering sebagai: Aplikasi yang sistematis, tertata, mampu untuk dikembangkan, dioperasikan, dirawat dan diperbaiki, itulah sebuah aplikasi software engenering.dan mempelajarinya
Komponen Software Engenering :
Komponen adalah pokok bahasan yang sangat menarik jika kita membicarakan masalah reuse. Membangun software yang bersifat reusable akan sangat sulit dikarenakan desain komponen yang tidak baik. Hal ini dapat mengakibatkan komponen yang satu dengan yang lain sulit untuk dipisahkan. Di dalam membangun dan memelihara komponen dibutuhkan kejelasan pengertian dari dan antar komponen. Suatu komponen dapat saja memiliki hubungan external atau ketergantungan antar komponen (komponen dependence). Untuk itu diperlukan sebuah tools yang dapat melihat komponen dependence.
Metode software engineering memberikan tehnik-tehnik bagaimana membentuk software. Metode ini terdiri dari serangkaian tugas:
Sementara itu IEEE mendefinisikan software engineering sebagai: Aplikasi yang sistematis, tertata, mampu untuk dikembangkan, dioperasikan, dirawat dan diperbaiki, itulah sebuah aplikasi software engenering.dan mempelajarinya
Komponen Software Engenering :
Komponen adalah pokok bahasan yang sangat menarik jika kita membicarakan masalah reuse. Membangun software yang bersifat reusable akan sangat sulit dikarenakan desain komponen yang tidak baik. Hal ini dapat mengakibatkan komponen yang satu dengan yang lain sulit untuk dipisahkan. Di dalam membangun dan memelihara komponen dibutuhkan kejelasan pengertian dari dan antar komponen. Suatu komponen dapat saja memiliki hubungan external atau ketergantungan antar komponen (komponen dependence). Untuk itu diperlukan sebuah tools yang dapat melihat komponen dependence.
Metode software engineering memberikan tehnik-tehnik bagaimana membentuk software. Metode ini terdiri dari serangkaian tugas:
- Perencanaan & estimasi proyek
- Analisis kebutuhan sistem dan software
- Desain struktur data
- Arsitektur program dan prosedur algoritma
- Coding
- Testing dan pemeliharaan2. Peralatan Software Engineering
Peralatan
software engineering memberikan dukungan atau semiautomasi untuk metode.
Contohnya :
- CASE (Case Aided Software Engineering), yaitu suatu software yang menggabungkan software, hardware, dan database software engineering untuk menghasilkan suatu lingkungan software engineering.
- Database Software Engineering, adalah sebuah struktur data yang berisi informasi penting tentang analisis, desain, kode dan testing.
- Analogi dengan CASE pada hardware adalah : CAD, CAM, CAE
- Prosedur Software Engineering
Terdiri dari
:
- urut-urutan di mana metode tersebut diterapkan
- dokumen
- laporan-laporan
- formulir-formulir yang diperlukan
- mengontrol kualitas software
- mengkoordinasi perubahan yang terjadi pada software
2.
Tanggung Jawab dan Profesi Etika dalam RPL
- Konfedensialitas
konfidensialitas adalah kewajiban untuk menyimpan informasi yang sifatnya sangat rahasia. Setiap karyawan di dalam perusahaan, terutama yang memiliki akses ke rahasia perusahaan seperti akuntan, bagian operasi, manajer, dan lain lain memiliki konsekuensi untuk tidak membuka rahasia perusahaan kepada khalayak umum. Kewajiban ini tidak hanya dipegang oleh karyawan tersebut selama ia masih bekerja disana, tetapi juga setelah karyawan tersebut tidak bekerja di tempat itu lagi. Sangatlah tidak etis apabila seorang karyawan pindah ke perusahaan baru dengan membawa rahasia perusahaannya yang lama agar ia mendapat gaji yang lebih besar.
- Kompetensi
Kompetensi adalah suatu kemampuan untuk melaksanakan atau melakukan suatu pekerjaan atau tugas yang dilandasi atas ketrampilan dan pengetahuan serta didukung oleh sikap kerja yang dituntut oleh pekerjaan tersebut .
- Hak property dan intelektual
Hak kekayaan materi semakin terbatas akibat dari tekanan sosial dan budaya yang dilaksanakan sesuai dengan norma-norma sosial, dengan tujuan ke arah manfaat etis. Intelektual properti (IP) masih dinyatakan secara pasti, melalui Trade Related Aspects of Intellectual Property Rights (TRIPS) Agreement, bagian dari WTO / GATT Uruguay Round Agreements, dengan cara yang umum. Kontribusi ini berharap pada penggunaan hak kekayaan intelektual, memberikan perbedaan mendasar dengan hak harta benda, menimbulkan kesempatan untuk berlebihan seperti sewa-mencari kesalahan alokasi yang mungkin telah dibuat dan terus dilakukan, sehingga persepsi ketidakadilan fundamental intelektual hak milik seperti yang dilakukan di luar nilai-nilai sosial, yaitu, dalam secara etika tidak bermanfaat .
- Konfedensialitas
konfidensialitas adalah kewajiban untuk menyimpan informasi yang sifatnya sangat rahasia. Setiap karyawan di dalam perusahaan, terutama yang memiliki akses ke rahasia perusahaan seperti akuntan, bagian operasi, manajer, dan lain lain memiliki konsekuensi untuk tidak membuka rahasia perusahaan kepada khalayak umum. Kewajiban ini tidak hanya dipegang oleh karyawan tersebut selama ia masih bekerja disana, tetapi juga setelah karyawan tersebut tidak bekerja di tempat itu lagi. Sangatlah tidak etis apabila seorang karyawan pindah ke perusahaan baru dengan membawa rahasia perusahaannya yang lama agar ia mendapat gaji yang lebih besar.
- Kompetensi
Kompetensi adalah suatu kemampuan untuk melaksanakan atau melakukan suatu pekerjaan atau tugas yang dilandasi atas ketrampilan dan pengetahuan serta didukung oleh sikap kerja yang dituntut oleh pekerjaan tersebut .
- Hak property dan intelektual
Hak kekayaan materi semakin terbatas akibat dari tekanan sosial dan budaya yang dilaksanakan sesuai dengan norma-norma sosial, dengan tujuan ke arah manfaat etis. Intelektual properti (IP) masih dinyatakan secara pasti, melalui Trade Related Aspects of Intellectual Property Rights (TRIPS) Agreement, bagian dari WTO / GATT Uruguay Round Agreements, dengan cara yang umum. Kontribusi ini berharap pada penggunaan hak kekayaan intelektual, memberikan perbedaan mendasar dengan hak harta benda, menimbulkan kesempatan untuk berlebihan seperti sewa-mencari kesalahan alokasi yang mungkin telah dibuat dan terus dilakukan, sehingga persepsi ketidakadilan fundamental intelektual hak milik seperti yang dilakukan di luar nilai-nilai sosial, yaitu, dalam secara etika tidak bermanfaat .
3.
SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem)
Pengertian SDLC
SDLC adalah proses pembuatan dan pengubahan sistem
serta model dan metodologi yang digunakan untuk
mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk
pada sistem komputer atau informasi. Terdapat 3 jenis metode siklus
hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem
tradisional (traditional system life cycle), siklus hidup menggunakan
protoyping (life cycle using prototyping), dan siklus hidup sistem
orientasi objek (object-oriented system life cycle). SDLC (Software
Development Life Cycle) berarti sebuah siklus hidup pemngembangan perangkat
lunak yang terdiri dari beberapa tahapan-tahapan yang sangat penting dalam
keberadaan perangkat lunak yang dilihat dari segi pengembangannya.
Sejarah SDLC
Siklus Hidup Sistem(SLC) adalah metodologi yang digunakan untuk
menggambarkan proses untuk membangun sistem informasi , dimaksudkan
untuk mengembangkan sistem informasi dalam cara yang sangat disengaja,
terstruktur dan teratur, mengulangi setiap tahap siklus
hidup . Pengembangan sistem siklus hidup, menurut Elliott &
Strachan & Radford (2004), “berasal pada tahun 1960, untuk mengembangkan
skala besar fungsional sistem bisnis di zaman skala
besar konglomerat bisnis . Sistem informasi kegiatan berkisar
berat pengolahan data dan angka-angka rutinitas “.
Beberapa kerangka kerja pengembangan sistem telah sebagian didasarkan pada
SDLC, seperti analisis sistem terstruktur dan metode desain (SSADM)
diproduksi untuk pemerintah Inggris Kantor Pemerintah Commerce pada
1980-an. Sejak saat itu, menurut Elliott (2004), “pendekatan siklus kehidupan
tradisional untuk pengembangan sistem telah semakin digantikan dengan
alternatif pendekatan dan kerangka kerja, yang berusaha mengatasi beberapa
kekurangan yang melekat pada SDLC tradisional”.
SDLC adalah proses yang digunakan oleh analis sistem untuk
mengembangkan sistem informasi , termasuk
persyaratan, validasi kepemilikan (stakeholder), pelatihan, dan
pengguna. Setiap SDLC harus menghasilkan sistem berkualitas tinggi yang
memenuhi atau melebihi harapan pelanggan, mencapai selesai dalam waktu dan perkiraan
biaya, bekerja secara efektif dan efisien di saat ini dan
direncanakan Teknologi Informasi infrastruktur , dan murah untuk
mempertahankan dan biaya-efektif untuk meningkatkan. sistem komputer yang
kompleks dan sering (terutama dengan munculnya baru-baru arsitektur
berorientasi layanan ) link beberapa sistem tradisional berpotensi
disediakan oleh vendor perangkat lunak yang berbeda. Untuk mengelola
tingkat kompleksitas, sejumlah model SDLC atau metodologi telah diciptakan,
seperti “ air terjun ”;” spiral ”;” Agile pengembangan
perangkat lunak ”;” prototipe cepat ”;” incremental ”;
dan” sinkronisasi dan menstabilkan “.
Model SDLC dapat dijelaskan sepanjang spektrum gesit untuk iteratif untuk
berurut. metodologi Agile ,
seperti XP dan scrum , fokus pada proses ringan yang
memungkinkan untuk perubahan yang cepat di sepanjang siklus
pengembangan. Iteratif metodologi, seperti kesatuan proses
rasional dan dinamis pengembangan sistem metode , fokus pada
lingkup proyek terbatas dan memperluas atau memperbaiki produk oleh beberapa
iterasi. Sequential atau besar-desain-up-depan (BDUF) model,
seperti Air Terjun , fokus pada perencanaan lengkap dan benar untuk
membimbing proyek-proyek besar dan risiko untuk hasil yang sukses dan dapat
diprediks. Model-model lain, seperti Pembangunan Anamorphic ,
cenderung fokus pada bentuk pembangunan yang dipandu oleh ruang lingkup proyek
dan iterasi pengembangan fitur adaptif.
Dalam manajemen proyek proyek dapat didefinisikan baik
dengan siklus hidup proyek (PLC) dan SDLC, selama kegiatan yang
sedikit berbeda terjadi. Menurut Taylor (2004) “siklus hidup proyek
mencakup semua kegiatan proyek , sedangkan siklus hidup pengembangan
sistem berfokus pada produk menyadari persyaratan ”.
Tahapan SDLC
Proses pengembangan sistem melewati beberapa tahapan dari mulai sistem itu
direncanakan sampai sistem tersebut diterapkan.
Di dalam System Development Live Cycle (SDLC) terdapat 6 jenis tahapan
pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun
sistem informasi. Langkah yang digunakan
meliputi:
1. Perencanaan sistem, yaitu mempelajari konsep sistem dan permasalahan
yang hendak diselesaikan. apakah sistem baru tersebut realistis dalam masalah
pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang.
2. Analisis system adalah sebuah proses
investigasi terhadap sistem yang sedang berjalan dengan tujuan untuk
mendapatkan jawaban mengenai pengguna sistem, cara kerja sistem dan waktu
penggunaan sistem. Dari proses analisa ini akan didapatkan cara untuk membangun
sistem baru.
3. Desain sistem merupakan proses penentuan cara
kerja sistem dalam hal architechture design, interface design, database dan
spesifikasi file, dan program design. Hasil dari proses perancangan ini akan
didapatkan spesifikasi sistem.
4. Seleksi sistem yaitu Tahap untuk
memilih perangkat keras & perangkat lunak yang dibutuhkan
5. Implementasi sistem adalah proses pembangunan
dan pengujian sistem, instalasi sistem, dan rencana dukungan sistem.
6. Pemeliharaan sistem yaitu sistem yang telah
diimplemantasikan serta dapat mengikuti perkembangan dan perubahan apapun yang
terjadi guna meraih tujuan penggunaannya.
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga
langkah terakhir. Setiap langkah yang telah selesai harus dikaji ulang,
kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan
dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan
benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi
atau kembali ke langkah sebelumnya.