A. KEBUTUHAN PERANGKAT LUNAK Dalam pembuatan perangkat lunak, kita perlu menetapkan layanan yang dibutuhkan konsumen terhadap system dan batasan operasi dan pengembangan. Kebutuhan merupakan deskripsi layanan system dan batasan yang dibangkitkan selama proses rekayasa kebutuhan. Atau bisa juga disebut sebagai proses pengumpulan data mengenai analisa analisa system dan masalahnya. Sistem yang baik adalah system yang selalu menyesuaikan dengan perubahan lingkungan yang terjadi disekitarnya atau system tersebut harus dinamis menuju keadaan yang lebih baik.
Kebutuhan fungsional Mendeskripsikan layanan, fitur atau fungsi yang disediakan atau diberikan oleh system bagi penggunanya. Kebutuhan fungsional awal merupakan fungsi atau layanan yang merepresentasikan goal dari pengguna ketika hendak menggunakan sistem
Kebutuhan non fungsional Mendeskripsikan sekumpulan batasan, karakteristik dan property pada system, baik dalam lingkungan pengembangan maupun operasional, atau atribut kualitas yang harus dipenuhi oleh system
B. UKURAN KEBUTUHAN
C. TAHAPAN PROSES REKAYASA KEBUTUHAN Tahap awal adalah pendefinisian tentang rekayasa system apa yang akan dibuat. Pada tahap ini diperlukan proses perencanaan dan anlisis kebutuhan. Tahap selanjutnya adalah pengembangan, dalam tahap ini adalah bagaimana produk yang telah didefinisikan didefinisikan dengan jelas kemudian akan mulai diimplementasikan. Maka pada proses pengembangan ini akan dilakukan
design software, kemudian mengenerate koding- koding pembangun program, hingga program siap dites kebenarannya. Proses rekayasa perangkat lunak adalah proses yang terus berulang, karena karakteristik perangkat lunak yang membutuhkan pemeliharaan dan continue development agar perangkat lunak tidak kadarluarsa. Dalam proses pemeliharaan kita melakukan koreksi kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan bentuk pencegahan lainnya agar perangkat lunak tersebut tidak kadarluarsa. Penyebab kegagalan rekayasa perangkat lunak adalah
Perencanaan yang tidak realistic, terlalu optimis dalam perhitungan
System pemantauan kerja yang tidak berjalan dengan seharusnya
Perubahan kebutuhan
Resiko- resiko lainnya
D. TEKNIK-TEKNIK ANALISA KEBUTUHAN Analisis kebutuhan merupakan suatu proses untuk mendapatkan informasi, model dan spesifikasi tentang preangkat lunak yang diinginkan. Ada 3 faktor yang mempengaruhi pada tahapan analisis kebutuhan, yaitu : lengkap, detail, benar. 3 faktor tersebut merupakan faktorfaktor yang paling berpengaruh terhadap sukses atau tidaknya analisa yang dilakukan untuk mengetahui kebutuhan apa saja yang dibutuhkan oleh klien. Namun pada tahapan analisis kebutuhan ada saja kendala yang dihadapi, antara lain :
Klien tidak memiliki pengetahuan yang cukup tentang dunia komputer
Cara klien mengungkapkan keinginan membingungkan
Kurangnya waktu pertemuan antara klien dan pengembang
Pada tahapan analisis kebutuhan ini, terdapat beberaoa metode atau teknik yang dapat digunakan antara lain : 1. Survei kuisioner Adalah daftar pertanyaan operasional yang ditanyakan pada responden terpilih untuk menjawab hipotesis- hipotesis yang dikembangkan sesuai tujuan penelitian 2. Interview/ wawancara Merupakan teknik pengumpulan requirement yang paling umum dilakukan. Teknis dilapangannya seorang developer menanyakan hal- hal yang berkaitan dengan masalah yang diangkat kepada responden yang memiliki kriteria cocok pada masalah yang ditanyakan 3. Observasi Istilah obeservasi diarahkan pada kegiatan memperhatikan secara akurat, mencatat fenomena yang muncul, dan mempertimbangkan hubungan antar aspek dalam fenomena tersebut. Dengan melihat langsung apa yang sedang dikerjakan, pekerjaan yang rumit untuk dijelaskan dengan kata- kata dapat diidentifikasi melalui observasi. Umumnya orang yang diamatai akan merasa terganggu sehingga akan melakukan pekerjaan dengan ridak semestinya. 4. Analisa dokuemen
Sering juga disebut dengan analisis kegiatan 5. Joint application development Suatu teknik pengembangan aplikasi yang melibatkan anatara pemakai dan professional dalam pengembangan sistemnya. Orang- orang yang terlatih di dalam teknologi informasi mempunyai pemahaman terbaik dalam pengembangan ini. Secara garis besar, pelaku JAD yang perlu terlibat adalah sponsor, business user, system analyst, system experts, facilitator. 6. Ethnography Merupakan strategi atau metode penelitian ilmiah yang sering digunakan dalam bidang ilmu sosial. 7. Shadowing Merupakan salah satu metode penelitian dengan cara mengikuti subjek yang diteliti dengan izin mereka. Contoh kasis penelitian tentang ponsel (dimana orang biasa meletakan ponsel? Merek ponsel yang dipakai). Dari hasil penelitian, didapati bahwa 60% sample pria menaruh
posel mereka di saku depan, dengan alasan agar mudah diambil pada saat ingin digunakan. Sedangkan 61% dari sample wanita menaruh ponsel mereka di dalam tas. Dan hamper 80% dari mereka yang me nggunakan merk NOKIA. Metode shadowing merupakan suatu teknik penelitian dimana teknik ini mengikuti objek yang diteliti seperti bayangan. Metode ini dapat memungkinkan peneliti melihat karakteristik pengguna objek tersebut digunakan. 8. Bollywood Adalah metode yang dikembangkan untuk mengetahui respon masyarakat terhadap suatu hal dengan menggunakan cara- cara yang mengacu pada kebiasaan dan budaya masyarakat setempat. Tahap
Elicitation (pengumpulan informasi)
Specification (spesifikasi)
Keterangan
Bertujuan untuk mengumpulkan sebanyak mungkin informasi mengenai problem domain, kesulitankesulitan klien dan user, serta apa yang sistem ingin lakukan untuk mereka. Informasi dari proses elicitation dianalisa dan direkam menggunakan teknik modeling dramatis dan tekstual untuk menunjukkan masalah dan solusi yang diajukan.
Metode
Validation (validasi)
Mengecek kebutuhan yang telah direkam apakah telah berkaitan dengan tujuan stakeholder terhadap sistem.
Wawancara Kuesioner Skenario Prototyping Spesifikasi formal Protoyping Wawancara Teknik kombinasi dari elicitation Inspeksi Fagan Prototyping
E. PERANGKAT KEBUTUHAN PERANGKAT LUNAK Saat melakukan pengidentifikasian kebutuhan pemakai, informasi yang diperoleh masih belum terstruktur. Biasanya pemakai akan mengungkapkan apa yang diinginkan dengan bahasa seharihari yang biasa mereka gunakan. Sebagai contoh, ungkapan kebutuhan pemakai dibagian akuntansi (saya ingin data yang dimasukan oleh bagian penjualan bisa langsung dijurnal; informasi neraca keuangan bisa saya lihat kapan saja).
Kemudian pada tahap ini, kebutuhan pemakai yang belum terstruktur tersebut aka dianalisis, diklaasifikasikan, dan diterjemahkan menjadi kebutuhan fungsional, antarmuka dan unjuk kerja perangkat lunak. sebagai contoh, kebutuhan “data yang dimasukan oleh bagian penjualan bisa langsung dijurnal” setelah dianalisis, diklasifikasikan dan diterjemahkan, mungkin akan
menghasilkan kebutuhan sebagai berikut :
a) Kebutuhan fungsional
-
Entri dan rekam data transaksi penjualan.
-
Retrieve data transaksi penjualan untuk periode tertentu (periode sesuai dengan inputan periode yang diinputkan pada keyboard).
-
Rekam data akumulasi transaksi penjualan periode tertentu ke jurnal umum berikut account pasangannya (kas).
b) Kebutuhan antarmuka
-
Antarmuka pemakai untuk memasukkan dan merekam data penjualan.
-
Antarmuka pemakai untuk menyajikan dan menjurnal informasi transaksi penjualan pada periode tertentu.
-
Antarmuka untuk jaringan lokal yang menghubungkan perangkat lunak aplikasi dibagian penjualan dengan perangkat lunak aplikasi dibagian akutansi.
c) Kebutuhan unjuk kerja
- proses jurnal hanya bisa dilakukan sekali setelah data transaksi penjualan direkam. -
Adanya otoritas pemakaian perangkat lunak dan akses data sesuai dengan bagian pekerjaan masing-masing.
Kemudian kebutuhan tersebut akan dimodelkan atau digambarkan dengan teknik analisis dan alat bantu tertentu. Sebagai contoh kebutuhan fungsional dapat dimodelkan dengan menggunakan :
DFD, kamus data, dan spesifikasi proses jika menggunakan analisis terstruktur
Use case diagram dan scenario system jika menggunakan analisis berorientasi objek