Devy Ferdiansyah, M. Kom

Kumpulan BLOG dan VLOG Pribadi Koe

Kebutuhan Perangkat Lunak

6 min read

Pertemuan 3

KEBUTUHAN PERANGKAT LUNAK

 

1. REKAYASA KEBUTUHAN

  • Kebutuhan untuk suatu sistem adalah deskripsi tentang apa yang harus dilakukan oleh sistem berupa layanan yang diberikan dan kendala dalam operasinya
  • Kebutuhan ini mencerminkan kebutuhan pelanggan untuk sistem yang melayani tujuan tertentu seperti mengontrol perangkat, menempatkan pesanan, atau mencari informasi.
  • Proses mencari tahu, menganalisis, mendokumentasikan serta memeriksa layanan dan kendala ini disebut Rekayasa Kebutuhan (Requirement Engineering).
  • Rekayasa Kebutuhan harus disesuaikan dengan kebutuhan proses, proyek, produk, dan orang-orang yang melakukan pekerjaan

Jenis Kebutuhan:

  1. Kebutuhan pengguna adalah pernyataan, dalam bahasa alami ditambah diagram, dari layanan apa yang diharapkan sistem untuk diberikan kepada pengguna sistem dan kendala di mana ia harus
  2. Kebutuhan sistem adalah deskripsi yang lebih rinci tentang fungsi, layanan, dan kendala operasional sistem perangkat lunak. Dokumen Kebutuhan sistem (kadang-kadang disebut spesifikasi fungsional) harus mendefinisikan secara tepat apa yang akan diimplementasikan. Ini mungkin menjadi bagian dari kontrak antara pembeli sistem dan pengembang perangkat

Kegiatan pada Rekayasa Kebutuhan:

  1. Pengenalan Permasalahan (Inception)
  2. Pengenalan Lanjutan (Elicitation)
  3. Elaborasi (Elaboration)
  4. Negosiasi
  5. Spesifikasi (Specification)
  6. Validasi (Validation)
  7. Manajemen Kebutuhan (Requirement Management)

A. Pengenalan Permasalahan (Inception)

  • Proyek PL dimulai ketika kebutuhan bisnis atau pasar atau layanan baru telah diidentifikasi atau ditemukan
  • Menetapkan pemahaman dasar tentang masalah, siapa yang menginginkan solusi, sifat solusi, serta keefektifan komunikasi dan kolaborasi antara stakeholder dengan tim PL

B. Pengenalan Lanjutan (Elicitation)

Bagian penting dari elisitasi adalah untuk menetapkan tujuan bisnis.

  • Masalah yang sering dijumpai:
  1. Lingkup permasalahan: tentang batasan sistem tidak
  2. jelas atau rincian teknis yang membingungkan
  3. Permasalahan yang berkaitan dengan pemahaman
  4. Permasalahan yang berkaitan dengan kestabilan

Kegiatan pada tahap ini adalah:

1.    Kebutuhan penemuan

adalah proses pengumpulan informasi tentang sistem yang diperlukan dan sistem yang ada, filterisasi pengguna dan kebutuhan sistem. Sumber informasi selama tahap penemuan kebutuhan termasuk dokumentasi, stakeholder, dan spesifikasi sistem.

2.    Klasifikasi Kebutuhan dan Organisasi

Kegiatan ini mengumpulkan kebutuhan yang tidak terstruktur dan kebutuhan kelompok yang bersifat koheren. Cara pengelompokkan kebutuhan menggunakan model arsitektur sistem untuk mengidentifikasi sub-sistem dan untuk menghubungkan kebutuhan dengan masing- masing sub-sistem.

3.    Kebutuhan Prioritas dan Negosiasi

Kegiatan ini berkaitan dengan memprioritaskan kebutuhan dan menemukan cara penyelesaian konflik melalui negosiasi.

C. Elaborasi (Elaboration)

  •  Elaborasi dilakukan dengan cara membuat dan penyempurnaan skenario pengguna yang menggambarkan bagaimana pengguna akhir (dan aktor lain) akan berinteraksi dengan sistem

D. Negosiasi

  • Konflik yang terjadi antara pelanggan, pengguna dan stakeholder harus didamaikan dengan pendekatan yang bersifat iteratif untuk menentukan skala prioritas kebutuhan, menilai biaya-biaya dan risiko masing- masing.

E. Spesifikasi (Specification)

  • Spesifikasi kebutuhan adalah proses menuliskan kebutuhan pengguna dan kebutuhan sistem ke dalam dokumen kebutuhan
  • Spesifikasi dapat berupa dokumen tertulis, model grafis, model matematika formal, kumpulan skenario penggunaan sistem/PL, prototipe, atau kombinasi dari semuanya.
  • Kebutuhan pengguna menggambarkan kebutuhan fungsional dan non-fungsional sehingga dapat dimengerti oleh pengguna sistem (perilaku eksternal dari sistem) yang tidak memiliki pengetahuan teknis
  • Dokumen kebutuhan tidak boleh menyertakan rincian arsitektur atau desain sistem

1). Spesifikasi Bahasa

  • Bahasa alami telah digunakan untuk menulis kebutuhan PL sejak awal RPL yang bersifat ekspresif, intuitif, dan universal.
  • Panduan sederhana:
  1. Buat format standar dan pastikan bahwa semua definisi kebutuhan mematuhi format tsb
  2. Gunakan bahasa secara konsisten
  3. Gunakan penjelasan teks (tebal, miring, atau warna) untuk memilih bagian-bagian penting dari kebutuhan
  4. Jangan berasumsi bahwa pembaca memahami bahasa RPL, hindari penggunaan jargon, singkatan, dan akronim
  5. Sebisa mungkin, harus mencoba mengaitkan alasan dengan setiap kebutuhan pengguna

2). Spesifikasi Struktur

  • Bahasa alami terstruktur adalah cara penulisan kebutuhan sistem dimana kebebasan dalam penulisan terbatas dan semua kebutuhan ditulis dengan cara
  • Untuk menentukan kebutuhan fungsional, informasi berikut harus disertakan:
    1. Deskripsi fungsi atau entitas yang ditentukan
    2. Penjelasan tentang input dan dari mana asalnya
    3. Penjelasan tentang output dan kemana tujuannya
    4. Informasi yang diperlukan untuk perhitungan atau entitas lain dalam sistem yang digunakan.
    5. Penjelasan tentang tindakan yang harus diambil
    6. Penjelasan tentang efek samping dari operasi (jika ada)

F. Validasi (Validation)

  • Validasi kebutuhan adalah proses pengecekan kebutuhan yang benar-benar menentukan sistem yang diinginkan oleh pelanggan
  • Validasi melakukan pemeriksaan untuk memastikan bahwa:
    • Semua kebutuhan PL telah dinyatakan dengan jelas
    • Inkonsistensi, kelalaian, dan kesalahan telah terdeteksi dan diperbaiki
    • Produk kerja sesuai dengan standar yang ditetapkan untuk proses, proyek, dan produk.

Hal-hal yang perlu pemeriksaan:

1.   Pemeriksaan Validitas

Suatu sistem diperlukan untuk melakukan fungsi-fungsi tertentu dan dapat mengidentifikasi fungsi tambahan.

2.   Pemeriksaan Konsistensi

Kebutuhan dalam dokumen tidak boleh bertentangan. Artinya, tidak ada batasan yang bertentangan atau deskripsi yang berbeda dari fungsi sistem yang sama.

3.   Pemeriksaan Kelengkapan Dokumen

Kebutuhan yang mendefinisikan semua fungsi dan batasan yang dimaksudkan oleh pengguna sistem.

4.   Pemeriksaan Realisme

Dengan menggunakan pengetahuan tentang teknologi yang ada, kebutuhan harus diperiksa untuk memastikan bahwa mereka benar-benar dapat diimplementasikan.

5.   Verifiability

Kebutuhan sistem harus selalu ditulis sehingga dapat diverifikasi, artinya menulis serangkaian tes yang dapat menunjukkan bahwa sistem yang dikirimkan memenuhi setiap kebutuhan yang ditentukan.

G. Manajemen Kebutuhan (Requirement Management)

  • Adalah serangkaian kegiatan yang membantu tim proyek untuk mengidentifikasi, mengontrol, dan melacak kebutuhan-kebutuhan dan melacak perubahan terhadap kebutuhan saat proyek
  • Ada beberapa alasan mengapa perubahan tidak dapat dihindari:
  1. Lingkungan bisnis dan teknis sistem selalu berubah setelah
  2. Pengguna sistem bukan orang yang
  3. Sistem besar biasanya memiliki komunitas pengguna yang beragam

1). Kebutuhan Perencanaan Manajemen

Tahap perencanaan menetapkan tingkat detail manajemen kebutuhan yang diperlukan, dengan memutuskan:

1. Identifikasi Kebutuhan

Setiap kebutuhan harus diidentifikasi secara unik sehingga dapat direferensikan dengan kebutuhan lain dan digunakan dalam pelacakan.

2. Proses manajemen perubahan

Adalah serangkaian kegiatan yang menilai dampak dan biaya perubahan.

3. Kebijakan Pelacakan

Menentukan hubungan antara setiap kebutuhan, kebutuhan dengan desain sistem, dan pemeliharaan catatan-catatan.

4. Dukungan alat

Kebutuhan manajemen melibatkan pemrosesan sejumlah besar informasi tentang kebutuhan. Alat yang dapat digunakan berkisar dari sistem manajemen kebutuhan khusus untuk spreadsheet dan sistem basis data sederhana.

2).     Kebutuhan Manajemen Perubahan

  • Kebutuhan manajemen perubahan harus diterapkan untuk semua perubahan yang diajukan pada kebutuhan sistem setelah dokumen kebutuhan
  • Ada tiga tahapan utama untuk proses manajemen perubahan:
  1. Analisis masalah dan spesifikasi perubahan
  2. Analisis dan biaya perubahan
  3. Perubahan implementasi

2. KEBUTUHAN FUNGSIONAL DAN NON-FUNGSIONAL

  • Kebutuhan Fungsional adalah layanan yang harus disediakan sistem, bagaimana sistem harus bereaksi terhadap input tertentu, dan bagaimana sistem harus berperilaku dalam situasi
  • Kebutuhan non-fungsional adalah batasan pada layanan atau fungsi yang ditawarkan oleh

Termasuk:

  • Kendala waktu
  • Kendala pada proses pengembangan
  • Kendala yang dikenakan oleh standar

A. Kebutuhan Fungsional

  • Kebutuhan fungsional menggambarkan apa yang harus dilakukan oleh
  • Kebutuhan ini tergantung pada jenis PL yang dikembangkan, pengguna, dan pendekatan umum yang diambil oleh organisasi saat menulis
  • Kebutuhan pengguna dijelaskan secara abstrak yang dapat dipahami oleh pengguna sistem, terutama untuk kebutuhan sistem yang lebih spesifik menggambarkan fungsi-fungsi sistem, input dan output, dan pengecualian secara rinci
  • Contoh: kebutuhan fungsional untuk sistem informasi tentang pasien:
    • User harus dapat mencari daftar janji untuk semua poliklinik sesuai dengan jadwal praktek
    • Setiap hari, untuk setiap poliklinik mencatat daftar pasien yang telah melakukan pendaftaran hari itu.
    • Setiap petugas yang menggunakan sistem harus diidentifikasi secara unik dengan nomor karyawan delapan digit

B. Kebutuhan Non-Fungsional

  • Kebutuhan non-fungsional adalah kebutuhan yang tidak secara langsung terkait dengan layanan spesifik yang disampaikan oleh sistem kepada penggunanya
  • Berhubungan dengan sifat sistem yang muncul seperti keandalan, waktu respon,dll
  • Dapat berupa kendala pada implementasi sistem seperti kemampuan perangkat I/O, representasi data yang digunakan dalam antarmuka dengan sistem lain
  • Kebutuhan non-fungsional muncul melalui kebutuhan pengguna, karena keterbatasan anggaran, kebijakan organisasi, kebutuhan interoperabilitas dengan software/hardware, atau faktor eksternal seperti peraturan keselamatan atau undang-undang privasi

Implementasi kebutuhan ini dapat disebarluaskan di seluruh sistem, dengan alasan:

  1. Kebutuhan non-fungsional dapat mempengaruhi keseluruhan arsitektur sistem daripada komponen individu. Misalnya, untuk memastikan bahwa terpenuhinya kebutuhan kinerja harus mengatur sistem untuk meminimalkan komunikasi antar komponen
  2. Kebutuhan non-fungsional tunggal, seperti kebutuhan keamanan, dapat menghasilkan sejumlah kebutuhan fungsional terkait yang menentukan layanan sistem baru yang diperlukan

Karakteristik kebutuhan non-fungsional

1.    Kebutuhan produk

Kebutuhan ini menentukan atau membatasi perilaku perangkat lunak.

  • Kebutuhan kinerja tentang seberapa cepat sistem harus dijalankan dan berapa banyak memori yang dibutuhkan
  • Kebutuhan keandalan yang menetapkan tingkat kegagalan yang dapat diterima
  • Kebutuhan keamanan
  • Kebutuhan kegunaan

2.    Kebutuhan Organisasi

Adalah kebutuhan sistem yang luas yang berasal dari kebijakan dan prosedur di organisasi pelanggan dan pengembang.

  • Kebutuhan operasional yang menentukan bagaimana sistem akan digunakan
  • Kebutuhan proses pengembangan yang menentukan bahasa pemrograman, lingkungan pengembangan atau proses standar yang akan digunakan
  • Kebutuhan lingkungan yang menentukan lingkungan operasi sistem

3.    Kebutuhan Eksternal

Mencakup semua kebutuhan yang berasal dari faktor eksternal ke sistem dan proses pengembangannya.

  • Kebutuhan peraturan yang mengatur apa yang harus dilakukan untuk sistem yang akan disetujui untuk digunakan oleh regulator, seperti bank sentral
  • Kebutuhan legislatif yang memastikan bahwa sistem beroperasi sesuai peraturan
  • Kebutuhan etis yang memastikan bahwa sistem akan diterima oleh pengguna dan masyarakat umum
Contoh Requirement
Daftar Isi

Sejarah Revisi

1.    Pendahuluan

1.1. Kegunaan

1.2.   Konvensi-Konvensi dalam Dokumen

1.3.  Pembaca yang Dituju

1.4. Lingkup Proyek

1.5. Rujukan-Rujukan

2.  Deskripsi KRsRluruhan

2.1.    Sudut Pandang Produk

2.2.    Fitur-Fitur Produk

2.3.    Kelas-Kelas Pengguna dan Karakterisitiknya

2.4.    Lingkungan Operasional

2.5.    Perancangan dan lmplementasi Batasan- Batasan

2.6.    Dokumentasi Pengguna

2.7.    Asumsi dan Kebergantungan

  3.         Fitur-Fitur Sistem

3.1.    Fitur Sistem-1

3.2.    Fitur Sistem-2 (dan selanjutnya)

4.         Kebutuhan-Kebutuhan Antamuka Eksternal

4.1.    Antarmuka Pengguna

4.2.    Antarmuka Perangkat Keras

4.3.    Antarmuka Perangkat Lunak

4.4.    Komunikasi

5.  Kebutuhan-Kebutuhan Non-Fungsional Lainnya

5.1.    Kebutuhan-Kebutuhan Kinerja

5.2.    Kebutuhan-Kebutuhan Keamanan

5.3.    Kebutuhan-Kebutuhan Kualitas PL

6.  Kebutuhan-Kebutuhan Lainnya

Lampiran A: Daftar Istilah
Lampiran B: Model-ModelAnalisis
Lampiran C: Daftar Permasalahan

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *