Perangkat Lunak (software)
Adalah program
komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti
dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual).
Contoh : Ms Office,
Nero, Avira Antivirus, AVG Antivirus, WinAmp
Perangkat Lunak (Software)
untuk memenuhi kebutuhan pelanggan (Customer)
Karakteristik
perangkat lunak adalah sebagai berikut :
- Perangkat Lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan.
- Perangkat lunak tidak pernah usang (“wear out”) karena kecacatan dalam perangkat lunak dapat diperbaiki.
- Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan.
Aplikasi dari
perangkat lunak adalah sebagai berikut :
- Perangkat lunak sistem (system software)
- Perangkat lunak waktu nyata (real-time software)
- Perangkat lunak bisnis (business software)
- Perangkat lunak untuk keperluan rekayasa dan keilmuan (engineering and scientific software)
- Perangkat lunak tambahan untuk membantu mengerjakan suatu fungsi dari perangkat lunak lainnya (embedded software)
- Perangkat lunak komputer personal (personal computer software)
- Perangkat lunak berbasis web (web based software)
- Perangkat lunak berintelijensia buatan (artificial intelligence software)
Produk perangkat
lunak dibuat oleh pengembang terdiri dari 2 (dua) jenis :
- Produk Generik
Produk yang dibuat oleh
pengembang untuk dijual atau dipopulerkan tanpa ada pemesanan terlebih dahulu.
Contoh : Antivirus, Ms Office,
Adobe Acrobat.
- Produk Pemesanan
Produk yang dibuat karena ada
pelanggan yang melakukan pemesanan.
Contoh : Aplikasi Persediaan
Barang, POS (Point of Sales),
Sistem Informasi Akademik Mahasiswa.
Rekayasa
perangkat lunak
Merupakan
pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan
menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja
secara efisien menggunakan mesin.
Fokus rekayasa
perangkat lunak adalah sebagai berikut :
- Dapat terus diperlihara setelah perangkat lunak selesai dibuat seiring berkembangnya teknologi dan lingkungan (maintability)
- Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi
- Efisiensi dari segi sumber daya dan penggunaan
- Kemampuan dipakai sesuai dengan kebutuhan (usability)
3 fase dalam
rekayasa perangkat lunak adalah sebagai berikut :
- Fase pendefinisian “what”
Mencari tahu atau
mengidentifikasi informasi apa yang harus diproses,
seperti apa fungsi dan performansi yang diinginkan.
- Fase pengembangan “how”
Mendefinisikan bagaimana data
distrukturkan dan bagaimana fungsi-fungsi yang dibutuhkan diimplementasikan di
dalam arsitektur perangkat lunak, bagaimana detail prosedural
diimplementasikan, bagaimana karakter antarmuka tampilan, bagaimana desain
ditranslasikan ke bahasa pemrograman, dan bagaimana pengujian akan dijalankan.
- Fase pendukung (support phase)
Perbaikan pada kesalahan,
adaptasi yang dibutuhkan, perbaikan akibat perubahan kebutuhan pelanggan.
Pada fase ini ada 4 tipe
perubahan :
- Koreksi (correction)
- Adaptasi (adaptation)
- Perbaikan (enhacement)
- Pencegahan (prevention)
Ada beberapa
tantangan dalam rekayasa perangkat lunak :
- Tantangan warisan dimana perangkat lunak dikembangkan selama bertahun-tahun oleh orang-orang yang berbeda, hal ini dapat menyebabkan ketidak pahaman atau perubahan tujuan pembuatan perangkat lunak.
- Tantangan heterogenitas dimana perangkat lunak harus dapat beradaptasi dengan teknologi yang tersu berkembang dengan semakin luasnya lingkungan distribusi perangkat lunak.
- Tantangan pengiriman dimana perangkat lunak dengan skala besar dan kompleks sekalipun dapat sampai ke tangan pelanggan (customer) dengan cepat dan kualitas terjamin.
Proses rekayasa
perangkat lunak umumnya adalah sebagai berikut :
- Pengumpulan spesifikasi (specification)
Mengetahui apa saja yang harus
dapat dikerjakan sistem perangkat lunak.
- Pengembangan (development)
Pengembangan perangkat lunak
untuk menghasilkan sistem perangkat lunak.
- Validasi (Validation)
Memeriksa apakah perangkat lunak
sudah memenuhi keinginan pelanggan (customer)
- Evolusi (Evolution)
Mengubah perangkat lunak untuk
memenuhi perubahan kebutuhan pelanggan (customer)
Teknologi
Informasi Sosial
Hal-hal yang
harus dilakukan sebelum mengembangkan perangkat lunak di lingkungan tertentu
maka harus dicari tahu :
- Pengetahuan lingkungan tentang teknologi informasi dan komputer
- “social knowledge” atau “local knowledge” (pengetahuan mengenai budaya lokal) di lingkungan yang akan dikembangkan perangkat lunak, apakah memungkinkan untuk dikembangkan perangkat lunak
- Pengetahuan tentang apa saja yang bisa dibatasi dan yang tidak, sehingga saat pengembangan perangkat lunak dapat mendefinisikan aturan main dari perangkat lunak
- Teknologi informasi sosial atau social information technology (social IT) adalah faktor atau aspek sosial yang berkaitan dengan implementasi suatu teknologi informasi.
- Sering kendala dari pengembangan perangkat lunak bukan berada pada masalah teknis tapi pada kondisi lingkungan pelanggan, misalnya ternyata yang akan menjadi user atau pemakai perangkat lunak belum bisa mengoperasikan komputer atau keengganan user untuk mengubah kebiasaan bekerja menggunakan perangkat lunak, lingkungan yang tidak mendukung (aplikasi keuangan).
Melakukan
konversi dari cara kerja yang lama ke cara kerja yang baru menggunakan
perangkat lunak dikembangkan perlu dilakukan secara bertahap, karena perubahan
ekstrim akan menghabiskan lebih banyak sumber daya, dana, dan waktu.
Beberapa cara
konversi adalah sebagai berikut :
- Konversi paralel
- Konversi langsung
- Konversi per fase
- Konversi pilot atau single location
Tidak ada komentar:
Posting Komentar