Langsung ke konten utama

Kebutuhan Perangkat Lunak


Jenis kebutuhan perangkat lunak dapat dibagi dalam 2 jenis,
  1. Kebutuhan Fungsional ( Functional Requirement)
  2. Kebutuhan Non Fungsional (Non Functional Requirement)
Functional Requirement
Mendeskripsikan layanan, fitur atau fungsi yang disediakan atau diberikan oleh sistem bagi penggunanya. Kebutuhan fungsional awal merupakan fungsi atau layanan yang merepresentasikan goal dari pengguna ketika hendak menggunakan sistem.
Contoh pada Sistem Mesin ATM :
  1. Mengecek saldo
  2. Menarik uang
  3. Mentransfer uang
  4. Melakukan pembayaran
Non-Functional Requirement
Mendeskripsikan sekumpulan batasan, karakteristik dan properti pada sistem, baik dalam lingkungan pengembangan maupun operasional, atau atribut kualitas yang harus dipenuhi oleh sistem. Contoh pada mesin ATM :
  1. Pengguna baru membutuhkan waktu belajar maksimal 10 menit untuk dapat menggunakan fungsi-fungsi utama sistem
  2. Sistem harus tetap berfungsi minimal 10 jam setelah pasokan listrik dari PLN terhenti
  3. Waktu yang dibutuhkan untuk kembali beroperasi setelah sistem mati minimal 2 menit
IEEE 803:1993 mengelompokkan kebutuhan non-fungsional ke dalam sejumlah kategori kualitas dari suatu perangkat lunak.
Kategori tsb secara umum dibagi dalam 2 kelompok, yaitu :
  • Faktor kualitas eksternal perangkat lunak. Kategori kualitas yang bisa diobservasi atau menjadi ketertarikan utama dari pelanggan. Diantaranya :
  1. Ketepatan (correctness)
  2. Robustness
  3. Unjuk Kerja (performance)
  4. Ketersediaan dan kualitas antarmuka(interface)
  5. Keandalan(Reability)
  6. Ketersediaan (Availability)
  7. Faktor kualitas internal perangkat lunak.
Kategori kualitas yang bisa diobservasi atau menjadi ketertarikan utama dari pengembang. Diantaranya :
  1. Kemudahan membaca/memahami struktur perangkat lunak(readibility)
  2. Kemampuan untuk dilakukan pengujian (testability)
  3. Ketersediaan dan kualitas dokumentasi (documentation)
  4. Kemudahan pemeliharaan(maintainability)
  5. Adaptasi terhadap lingkungan berbeda (portability)


Proses-proses dalam Rekayasa Kebutuhan
Daur hidup perangkat lunak (software life cycle – SLC) terdiri dari dua siklus kehidupan utama, yaitu :
  1. Daur hidup pengembangan perangkat lunak (Software Development Life Cycle – SDLC)
  2. Daur hidup pengoperasian perangkat lunak (Software Operational Life Cycle – SOLC).


Kedua siklus perangkat lunak tersebut dihubungkan oleh dua proses, yaitu proses studi kelayakan (feasibility study) dan proses peluncuran (deployment). Secara umum dapat kita ilustrasikan seperti berikut :


Penelitian Hofmann dan Lehner (2001) merekomendasikan langkah-langkah yang dilakukan untuk meningkatkan keberhasilan tahapan spesifikasi kebutuhan, diantaranya :
  1. Lakukan aktivitas dalam spesifikasi kebutuhan sepanjang durasi proyek
  2. Gunakan anggota lepas waktu untuk mendukung anggota penuh waktu (sumber daya yang memiliki kompetensi khusus).
  3. Terapkan kombinasi proses prototype dan berbasis model untuk membantu pemangku kepentingan (terutama pelanggan dan penggguna), untuk mendapatkan gambaran dari solusi yang diajukan.
  4. Sesering mungkin lakukan umpan balik dari pemangku kepentingan, mengevaluasi artifak dan material asal dari sistem lama atau yang sedang berjalan, serta sesering mungkin menggunakan panduan dari ahli
  5. Gunakan metoda pemodelan terkini (misalnya object Oriented atau Aspect Oriented) yang dikombinasikan dengan model-model dasar (seperti ERD, diagram transisi status, dan Petri-Net)
  6. Lakukan perbaikan evolusioner terhadap spesifikasi dengan menggunakan mock-ups, prototipe, peer reviewswalkyhtough, dan skenario, serta ibatkan pengguna (end user), pelanggan dan ahli teknis maupun ranah permasalahan. Rata-rata iterasi dari proses spesifikasi kebutuhan yang efektif adalah 3 iterasi.

Contoh tujuan bisnis dari proyek pembuatan Automatic Teller Machine (ATM) yang menjadi abstraksi solusinya :
  1. Peningkatan kepuasan pelanggan dalam hal melakukan transaksi perbankan 24 jam
  2. Pengurangan kasir
  3. Perluasan jaringan perbankan dengan cara yang ekonomis


Komentar

Postingan populer dari blog ini

SOFTWARE

Berikut merupakan review pertemuan mata kuliah Rekayasa Perangkat lunak yang diampu oleh Bapak Bambang Prasetya Adhi, S.Pd., M.Kom. Yang di jadwalkan pada hari kamis lalu, 19 September 2019. Software/Perangkat Lunak  adalah program komputer yang mempunyai fitur, fungsi, struktur data yang memungkinkan program untuk memanipulasi informasi dan dokumentasi yang mendeskripsikan operasi dari progam. Software tidak akan usang karena suatu software mempunyai tujuan tertentu dan bisa dibilang selalu berkembang. Suatu software harus beradaptasi pada lingkungannya dan akan selalu meningkat terhadap kebutuhan bisnis baru Karakter Aplikasi Web Dapat diakses semua kalangan (Network intensiveness) Concurrency Unpredictable load Performance Availability Data driven Content sensitive Continous evolution Immediacy Security Aesthetics Umbrella Activities Software project management Formal technical reviews Software quality assurance Software configura...

Desain dan Konsep Perangkat Lunak

Desain adalah langkah pertama dalam fase pengembangan bagi setiap produk atau sistem yang direkayasa. Desain dapat didefinisikan berbagai “proses aplikasi berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau sistem dalam detail yang memadai untuk memungkinkan realisasi fisiknya”[TAY59]. Tujuan desainer adalah untuk menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Desain Perangkat Lunak Dan Rekayasa Perangkat Lunak Desain perangkat lunak berada pada inti teknik dari proses rekayasa perangkat lunak dan diaplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan. Begitu persyaratan perangkat lunak telah mulai dianalisis dan ditentukan, maka desain perangkat lunak menjadi yang pertama dari tiga aktivitas teknik – desain, pembuatan kode dan pengujian – yang diperlukan untuk membangun dan menguji perangkat lunak. Persyaratan perangkat lunak, yang dimanifestasi oleh data, fungsional, dan model-...