Merupakan program-program komputer dan dokumentasi yang berkaitan,
Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum
Produk perangkat lunak tersebut:
Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda
Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa Perangkat Lunak:
adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak.
mengadopsi 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
Proses Perangkat Lunak
Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak.
Aktifitas generic dalam semua proses perangkat lunak adalah:
Spesifikasi – apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya
Pengembangan – proses memproduksi sistem perangkat lunak
Validasi – pengujian perangkat lunak terhadap keinginan penggunak
Evolusi – perubahan perangkat lunak berdasarkan perubahan keinginan.
Model Proses Perangkat Lunak
Suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dar perspektif khusus
Contoh perspektif proses:
Perspektif Alur-kerja (workflow) - barisan kegiatan
Perspektif Alur Data (Data flow) – alur informasi
Perspektif Peran/Aksi – siapa melakukan apa.
Model proses Generik:
Waterfall (Air terjun)
Pengembangan secara evolusi
Transformasi formal
Model SPiral
Integrasi daru komponen yang reusable
Biaya rekayasa perangkat lunak
Sekitar 60% untuk biaya pengembangan, 40% biaya pengujian. Untuk perangkat lunak berbasis pengguna (custom), biaya evolusi biasanya melebihi biaya pengembangan.
Biaya beragam tergantung pada tipe sistem yang akan dikembangkan dan kebutuhan sistem seperti unjuk kerja dan kehandalan sistem,
Distribusi biaya bergantung pada model pengembangan yang digunakan.
Metode Rekayasa Perangkat Lunak
Pendekatan terstruktur pengembangan PL termasuk model sistem, notasi, perancangan dan petunjuk pemrosesan,
Deskripsi Model: deskripsi pemodelan dengan grafik,
Aturan: Batasan yang digunakan pada model sistem
Rekomendasi: nasihat bentuk perancangan yang baik,
Petunjuk proses: Aktifitas yang harus diikuti,
Atribut Perangkat Lunak yang baik:
PL seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat di rawat, berguna,
Maintanability (Dapat Dirawat)
PL harus dapat memenuhi perubahan kebutuhan
Dependability
PL harus dapat dipercaya
Efisiensi
PL harus efisien dalam penggunaan resource
Usability
PL harus dapat digunakan sesuai dengan yang direncanakan
Proses Perangkat Lunak
Suatu proses model adalah suatu representasi abstrak suatu model. Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,
Proses PL merupakan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak.
Model Proses PL yang Generic
Model Air terjun (Water fall)
Memisahkan dan membedakan antara spesifikasi dan pengembangan
Pengembangan yang berevolusi
Spesifikasi dan pengembangan saling bergantian
Pengembangan sistem Formal
Menggunakan suatu model sistem matematika yang ditransformasikan ke implementasi,
Pengembangan berbasis Re-use (penggunaan ulang)
Sistem dibangun dari komponen yang sudah ada.
Model Air Terjun (Water Fall)
Fase Model Air Terjun
1.Analisis Kebutuhan dan pendefinisiannya
2.Perancangan sistem dan Perangkat Lunak
3.Implementasi dan unit testing
4.Integrasi dan pengujian sistem
5.Pengoperasian dan perawatan
Proses kembali ke state sebelumnya untuk mengantisipasi perubahan setelah proses menuju ke suatu state di bawahnya adalah sangat sulit.
Masalah pada Model Air Terjun:
Partisi projek ke stages yang berbeda tidak fleksibel.
Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna
Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik,
Pengembangan yang berevolusi (Evolutionary Development)
Pengembangan yang berdasarkan penyidikan
Tujuannya untuk mengaktifkan pengguna dan memperolah model final berasal dari initial spesifikasi awal. Seharusnya diawali dengan kebutuhan yang sudah dimengerti,
Throw-away prototyping
Tujuannya adalah untuk memahami kebutuhan sistem. Biasanya diawali dengan pemahaman kebutuhan yang minim.
Permasalahan dalam model pengembangan yang berevolusi:
Kekurangan visibilitas proses
Model sistem biasanya tidak terstruktur
Membutuhkan kemampuan khusus (mis.: bahasa pemrograman untuk rapid prototyping).
Pemakaian model pengembangan yang berevolusi
Untuk sistem interaktif yang kecil atau menengah
Untuk salah satu bagian dari sistem yang besar (mis. User Interface)
Untuk sistem yang digunakan tidak terlalu lama (short lifetime).
Pendekatan pengembangan sistem Formal
Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi,
Trasformasi menyatakan spesifikasi program
Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.
Pengembangan menggunakan konsep Re-use (Penggunaan Ulang)
Proses dengan metode Iterasi
Model Iterasi dapat digunakan pada setiap model proses generic
Terdapat dua pendekatan:
Pengembangan Incremental
Model Spiral
Model Pengembangan Incremental
Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increament/bertahap
Kebutuhan pengguna diprioritaskan dan priritas tertinggi dimasukkan dalam awal increment
Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan dulu hingga increment berikutnya dimulai
Perangkat lunak
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.[1][2][3]
Di bawah ini ada beberapa contoh macam perangkat lunak, yaitu:
- Perangkat lunak aplikasi (application software) seperti pengolah kata, lembar tabel hitung, pemutar media, dan paket aplikasi perkantoran seperti OpenOffice.org.
- Sistem operasi (operating system) misalnya Ubuntu.
- Perkakas pengembangan perangkat lunak (software development tool) seperti Kompilator untuk bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan.
- Pengendali perangkat keras (device driver) yaitu penghubung antara perangkat perangkat keras pembantu dan komputer adalah software yang banyak dipakai di swalayan dan juga sekolah, yaitu penggunaan barcode scanner pada aplikasi database lainnya.[4]
- Perangkat lunak menetap (firmware) seperti yang dipasang dalam jam tangan digital dan pengendali jarak jauh.
- Perangkat lunak bebas (free 'libre' software) dan Perangkat lunak sumber terbuka (open source software)
- Perangkat lunak gratis (freeware)
- Perangkat lunak uji coba (shareware / 'trialware)
- Perangkat lunak perusak (malware)
0 komentar:
Posting Komentar