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

Thomas Matulessy (Kapitan Pattimura)

Saya akan berbagi artikel tentang seorang pahlawan yang menginspirasi saya untuk selalu berani dan pantang menyerah dalam menyikapi setiap masalah yang datang ke hidup saya.  Orang itu bernama Thomas Matulessy atau yang lebih kita kenal dengan nama Kapitan Pattimura. Beliau lahir di Hualoy, Seram Selatan, Maluku, 8 Juni 1783 dan meninggal di Ambon, Maluku, 16 Desember 1817 pada umur 34 tahun.  Pattimura adalah sosok yang senantiasa berjuang untuk memerdekakan indonesia,ia juga sangat percaya diri saat akan melawan pasukan penjajah belanda. Bagi saya Kapitan Pattimura adalah sosok yang pemberani dan memiliki semangat juang yang tinggi dan memiliki sifat tanggung jawab yang besar dan juga rela berkorban demi orang lain. karena pada waktu pecah perang melawan penjajah Belanda tahun 1817, Raja-raja Patih, Para Kapitan, Tua-tua Adat dan rakyat mengangkatnya sebagai pemimpin dan panglima perang karena berpengalaman dan memiliki sifat-sfat kesatria (kabaressi)....

Pengertian Diagram Class, Use Case, Sequence Diagram

 Sequence Diagram Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram. Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut lifeline, dilekatkan pada setiap obyek atau aktor. Kemudian, lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut. Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anakpanah antara activation box pengirim dan pener...

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...