Rekayasa Perangkat Lunak
Nama : Sepri Triansyah
NPM : 14010056
Prodi : Teknik Informatika
Fakultas : Ilmu Komputer
1. Latar Belakang Disiplin RPL
2. Krisis Perangkat Lunak
4. Mutu Perangkat Lunak
5. Karakteristik Perangkat Lunak
Atribut Perangkat Lunak seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat di rawat, berguna.
Dalam Buku Software Engineering Ian Sommerville, Perangkat Lunak mempunyai Karakteristik sebagai berikut :
Proses Perangkat Lunak merupakan Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak. Aktifitas umum dalam semua proses perangkat lunak terdiri dari:
Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,Proses Perangkat Lunak dapat dikatakan sebagai aktifitas yang salingterkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak.
7. Karakteristik Proses Perangkat Lunak
Karakteristik Proses Perangkat Lunak terdiri dari:
8. Daur Pembangunan PL
Daur Hidup Pembangunan Perangkat Lunak Di dalam pengembangan rekayasa perangkat lunak biasanya dipandu dengan pemodelan dengan Daur Hidup Perangkat Lunak (Software Development Life Cycle).
Tak ada standar sehingga bervariasi model proses u/ menggambarkan rekayasa daur hidup p.l. Namun tahap - tahap yang prinsipal terhadap pemetaan model proses kedalam aktifitas pengembangan yang fundamental alalah sbb:
Jelaskan tentang pembangunan dan siklus pengembangan RPL :
Pengembangan Perangkat Lunak
Pengembangan perangkat lunak adalah suatu proses dimana kebutuhanpemakai diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan instalasi sertapemeriksaan kebenararan perangkat lunak untuk operasional [4].
Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak mengikuti tahap - tahap:
Siklus pengembangan perangkat lunak atau sering disebut juga dengan siklushidup perangkat lunak adalah [4]:
Model proses pengembangan perangkat lunak :
Model Proses Pengembangan Perangkat Lunak Model proses perangkat lunak (atau disebut juga paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan lapisan proses, metode, dan alat serta tahap - tahap generik. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat proyek dan aplikasi.metode dan alat yang digunakan, serta pengendalian dan hasil yang diinginkan.
Berikut adalah beberapa model proses pengembangan perangkat lunak
NPM : 14010056
Prodi : Teknik Informatika
Fakultas : Ilmu Komputer
1. Latar Belakang Disiplin RPL
faktor yang
melatar belakangi munculnya RPL :
- Ketidakmampuan organisasi memprediksi waktu, usaha dan beaya u/membangunperangkat lunak
- Perubahan nisbah/rasio beaya perangkat keras thd harga perangkat lunak
- Kemajuan pesat perangkat keras
- Kemajuan dalam teknik
- teknik pembuatan perangkat lunak
- Tuntutan yang lebih tinggi thd jumlah perangkat lunak
- Tuntutan yang lebih tinggi thd mutu perangkat lunak
- Meningkatnya peran pemeliharaan
2. Krisis Perangkat Lunak
- Masalah nyata yang sudah mengganggu perkembangan perangkat lunak
- Serangkaian masalah yang terjadi dalam perkembangan perangkat lunak komputer.
- Masalah yang ada tidak hanya terbatas pada perangkat lunak yangtidak berfungsi dengan baik tapi juga pada penderitaan yang melingkupi masalah
- masalah yang berhubungan dengan bagaimana mengembangkan perangkat lunak, bagaimana memelihara volume perangkat lunak yang sedang tumbuh dan bagaimana mengejar kebutuhan perangkat lunak lebih banyak lagi
- Penyebab krisis atau penderitaan Perangkat lunak dapat ditelusuridengan sebuah mitologi yang muncul selama masa sejarah awal perkembangan perangkat lunak.
- Mitos perangkat lunak ini berbicara atas salah informasi dan keraguan. Masa sekarang kebanyakan kaum profesional memiliki banyak pengetahuan mengetahui berbagai mitos di bidang ilmu yang digelutinya (sikap yang salah yang menyebabkan masalah yang serius bagi manajer serta masyarakat teknis). Hal ini terlihat berbagai sisi pandang dari pihak Manajer/Sponsor, elanggan atau Pengembang/Praktis
3. Rekayasa
Perangkat Lunak
Perangkat
Lunak Merupakan program - program komputer dan dokumentasi
yang
berkaitan.
Produk
perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar
umum terdiri
dari:
Generik – dibuat
untuk dijual ke suatu kumpulan pengguna yang berbeda Bespoke
(custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa
perangkat lunak berasal dari 2 kata yaitu Software( Perangkat
Lunak) dan
Engineering (Rekayasa).
- Perangkat Lunak (Software) adalah source code pada suatu program atausistem. Perangkat lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu yang dibutuhkan selama pengembangan, binstalasi, penggunaan dan pemeliharaan sebuah sistem.
- Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin, produk, proses atau sistem.
Rekayasa
Perangkat Lunak adalah suatu disiplin rekayasa yang berkonsentrasi terhadap
seluruh aspek.
Produk
perangkat lunakmengadopsi pendekatan yang sistematis dan terorganisir terhadap
pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan
berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya
yang tersedia Rekayasa Perangkat Lunak(RPL) juga
merupakan pendekatan sistematis dan matematis u/ membangun, memelihara dan
mengenyahkan perangkat lunak. Dari cara pandang lain, RPL adalah
pendekatan sistematis u/ merekayasa p.l
yang
handal/bermutu, tepat waktu dan dengan biaya yang optimal.
4. Mutu Perangkat Lunak
Terdapat 3
pihak (minimal) yang mempengaruhi mutu p.l yaitu
-
SponsorSeseorang atau organisasi yang membiayai/membayar selamapengembangan atau perantaraan sistem software dan biasanya mempunyai respon terhadap pengembangan sistem software itu sendiri dengan melibatkan perhitungan biaya yang optimal.
- User
Setiap orang
yang secara langsung berinteraksi terhadap eksekusi
software, yang secara langsung
memberi input ke komputer dan menggunakan/menikmati output dari komputer.
- Developer
Seseorang atau organisasi yang
memberikan modifikasi dan memelihara terhadap error serta mengembangkan sistem
software tersebut.
5. Karakteristik Perangkat Lunak
Atribut Perangkat Lunak seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat di rawat, berguna.
Dalam Buku Software Engineering Ian Sommerville, Perangkat Lunak mempunyai Karakteristik sebagai berikut :
- Maintanability (Dapat Dirawat), Perangkat Lunak harus dapat memenuhi perubahan kebutuhan
- Dependability, Perangkat Lunak harus dapat dipercaya
- Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource
- Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang direncanakan
Proses Perangkat Lunak merupakan Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak. Aktifitas umum dalam semua proses perangkat lunak terdiri dari:
- Software Specification - apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya
- Software Development – proses memproduksi sistem perangkat lunak
- Software Validation – pengujian perangkat lunak terhadap keinginan pengguna
- Software Evolution – perubahan perangkat lunak berdasarkan perubahan keinginan.
Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,Proses Perangkat Lunak dapat dikatakan sebagai aktifitas yang salingterkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak.
7. Karakteristik Proses Perangkat Lunak
Karakteristik Proses Perangkat Lunak terdiri dari:
- Understandability, membuat proses secara eksplisit didefinisikan dan bagaimana sehingga mudah untuk mengerti definisi proses
- Visibility, Aktifitas proses menghasilkan hasil yang jelas sehingga tahapan proses yang dilakukan terlihat
- Supportability, Aktifitas Proses dapat didukung atas CASE tools
- Acceptability, Penerimaan atas proses yang terdefinisi dan yang digunakan oleh Engineer selama pembangunan Produk Perangkat Lunak.
- Reliability, Proses didesain dalam suatu metode untuk dihindarkan dari kesalahan
- Robustness, Proses dapat meneruskan dalam masalah yang tidak diharpkan terjadi Maintainabiity, Proses yang merefleksi atas perubahan thd permintaan atau perbaikan proses yang diidentifikasi.
- Rapidity, bagaimana cepat dapat berjalan atas proses pengiriman atau implementasi sebuah sistem dari Spesifikasi yang ada sampai selesai
8. Daur Pembangunan PL
Daur Hidup Pembangunan Perangkat Lunak Di dalam pengembangan rekayasa perangkat lunak biasanya dipandu dengan pemodelan dengan Daur Hidup Perangkat Lunak (Software Development Life Cycle).
Tak ada standar sehingga bervariasi model proses u/ menggambarkan rekayasa daur hidup p.l. Namun tahap - tahap yang prinsipal terhadap pemetaan model proses kedalam aktifitas pengembangan yang fundamental alalah sbb:
- Requirement Analysis and definition
- System and Software Design
- Implementation and unit testing
- Integration and system Testing
- Operation and maintenance
Jelaskan tentang pembangunan dan siklus pengembangan RPL :
Pengembangan Perangkat Lunak
Pengembangan perangkat lunak adalah suatu proses dimana kebutuhanpemakai diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan instalasi sertapemeriksaan kebenararan perangkat lunak untuk operasional [4].
Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak mengikuti tahap - tahap:
- Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam satu rentang waktu tertentu.
- Mendefinisikan BAGAIMANA perangkat lunak dibuat, mencakup arsitektur perangkat lunaknya, antarmuka internal, algoritma, dan sebagainya.
- Penerapan (penulisan program) dan pengujian unit - unit program.
- Integrasi dan pengujian modul - modul program.
- Validasi perangkat lunak secara keseluruhan (pengujian sistem).
Siklus pengembangan perangkat lunak atau sering disebut juga dengan siklushidup perangkat lunak adalah [4]:
- Periode waktu yang diawali dengan keputusan untuk mengembangkan produk perangkat lunak dan berakhir setelah perangkat lunak diserahkan. Umumnya siklus pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan, pengujian, dan instalasi serta pemeriksaan.
- Periode waktu yang diawali dengan keputusan untuk mengembangkan produk perangkat lunak dan berakhir saat produk tidak dapat ditingkatkan lebih jauh lagi oleh pengembang.
Model proses pengembangan perangkat lunak :
Model Proses Pengembangan Perangkat Lunak Model proses perangkat lunak (atau disebut juga paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan lapisan proses, metode, dan alat serta tahap - tahap generik. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat proyek dan aplikasi.metode dan alat yang digunakan, serta pengendalian dan hasil yang diinginkan.
Berikut adalah beberapa model proses pengembangan perangkat lunak
- Linear Sequential Model
- Pemodelan dan rekayasa sistem/informasi. Menetapkan kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan perangkat lunak.
- Analisis kebutuhan perangkat lunak
- Perancangan
- Pembuatan kode
- Pengujian
- Pemeliharaan
- Proyek yang sebenarnya jarang mengikuti alur sekuensial, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah kembali.
- Linear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal proses, tetapi kadang - kadang hal ini tidak dapat terlaksana karena kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya tersebut.
- Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir rentang waktu proyek.
- Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
- Prototyping Model
- Mendefinisikan objetif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.
- Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype
- Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan - perbaikan terhadap prototype yang sudah dibuat.
Kelemahan prototyping model:
- Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
- Pengembang kadang - kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
Pendekatan RAD model mempunyai cakupan:
- Pemodelan bisnis
- Pemodelan data
- Pemodelan proses
- Pembuatan aplikasi
- Pengujian dan pergantian
Kelemahan RAD model:
- Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD.
- RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untuk melaksanakan berbagai aktivitas melengkapi sistem dalam kerangka waktu yang singkat.
- Akan menimbulkan masalah jika sistem tidak dapat dibuat secara modular.
- RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
- Incremental Model
pertamanya merupakan sebuah produk inti yang mewakili kebutuhan dasar sistem. Produk inti ini nantinya dikembangkan menjadi increment - increment selanjutnya setelah digunakan dan dievaluasi sampai didapat produk yang lengkap dan memenuhi kebutuhan pemakai.
Kelemahan incremental model:
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
- Spiral Model
- Komunikasi dengan pemakai
- Perencanaan
- Analsis resiko
- Rekayasa
- Konstruksi dan pelepasan
- Evaluasi
Kelemahan spiral model:
- Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yangrelatif baru.
- Component Assembly Model
- Mengidentifikasi calon - calon komponen (kelas objek)
- Melihat komponen - komponen dalam pustaka
- Mengekstrak komponen jika ada
- Membangun komponen jika tidak ada
- Menyimpan komponen baru pada pustaka
- Mengkontruksi iterasi ke - n dari sistem
- Fourth Generation Techniques (4GT)
Menggunakan perangkat bantu yang akan membuat kode sumber secaraotomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk mengembangkan perangkat lunak yang menggunakan bentuk bahasa khusus at
au notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT:
- Pengumpulan kebutuhan.
- Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
- Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
- Pengujian.
- Membuat dokumentasi.
- Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi - solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.
Komentar
Posting Komentar