Kamis, 03 Oktober 2013

BAB IV Rekayasa Kebutuhan

REKAYASA KEBUTUHAN

4.1  Rekayasa Kebutuhan
- Rekayasa Kebutuhan adalah bagian yang tidak terpisahkan dari kegiatan rekayasa perangkat lunak. Rekayasa kebutuhan mempunyai peran yang cukup penting, bahkan aku menentukan keberhasilan dari suatu proyek rekayasa perangkat lunak. 


4.2  Teori yang Mendukung Rekayasa Kebutuhan
Beberapa hukum dalam rekayasa kebutuhan sebagai berikut :
a. Hukum Glass (Robert Glass)
Kekurangan kebutuhan adalah sumber utama dari kegagalm proyek
 
b. Hukum Boehm Pertama
Kesalahan yang paling sering selama menentukan kebutuhan adalah kegiatan desain yang lebih mahal

c. Hukum Boehm Kedua
Prototyping secara signifikan mengurangi kebutuhan dan kesalahan desain, terutama untuk user interface
 
 
4.3  Kegiatan Rekayasa Kebutuhan
- Feasibility Study 
sebuah analisa dan evaluasi dari proyek yang diusulkan untuk menentukan apakah secara teksis layak, layak dalam perkiraan biaya dan menguntungkan.
 
- Feasibility Report
analisis yang mengevaluasi satu atau lebih langkah-langkah tindakan potensial dan merekomendasikan bagaimana organisasi tersebut harus dilanjutkan. Diperkirakan biaya, mengidentifikasi manfaat yang diharapkan memperkirakan berapa lama proyek akan mengambil dan menguraikan kesulitan potensial.
 
- Requirements  Elicitation and Analysis
pengumpulan persyaratan sistem pengguna, pelanggan dan stakeholder lainnya. meliputi wawancara, kuisioner, observasi pengguna.
 
- System Model
sistem model konseptual yang menggambarkan dan mewakili suatu sistem. Sebuah sistem terdiri dari beberapa pandangan seperti perencanaan, persyaratan, desain, implementasi, penyebaran, struktur, perilaku, input data, dan data tampilan output.
Dalam system model terdapat 2 pendekatan, yaitu
1. Pendekatan non-arsitektur
terstruktur Sistem Metode Analisis dan Desain (SSADM), memilih bagan struktur untuk deskripsi struktur dan data flow diagram (DFD) untuk deskripsi perilaku.
2. Pendekatan arsitektur
arsitektur sistem menggunakan Bahasa Arsitektur Deskripsi (ADL) baik struktur dan perilaku deskripsi.
 
- Requirements spesification 
akibat langsung dari analisis kebutuhan dan dapat merujuk.
 
- User Requirements
kebutuhan pengguna, menggambarkan apa yang pengguna lakukan dengan sistem, seperti kegiatan yang pengguna harus dapat melakukan apa. Persyaratan pengguna umumnya didokumentasikan dalam Dokumen Persyaratan Pengguna (URD) menggunakan teks narasi. Persyaratan pengguna umumnya ditanda tangani oleh pengguna dan digunakan sebagai masukan utama untuk menciptakan persyaratan sistem.
 
- System Requirements 
persyaratan sistem diklarifikasikan sebagai persyaratan baik fungsional maupun tambahan. 
*Persyaratan fungsional menentuka sesuatu yang pengguna perlu untuk melakukan pekerjaan mereka. contoh : sistem mungkin diperlukan untuk mencetak dan masuk perkiraan biaya.
*Persyaratan non-fungsional atau tambahan menentukan semua persyaratan yang tersisa tidak tercakup oleh persyaratan fungsional 
 
- Requirements Validation
kepastian bahwa suatu produk, layanan, atau sistem memenuhi kebutuhan pelanggan dan stakeholder lainnyadidentifikasi. Ini sering melibatkan penerimaan dan kesesuaian dengan pelanggan eksternal.
 
- Requirements Document
dokumen yang ditulis oleh sebuah perusahaan yang mendefinisikan sebuah produk yang mereka buatatau persyaratan untuk satu atau lebih fitur baru untuk produk yang sudah ada. Fungsinya sebagai pemasaran persyaratan dokumen juga, terutama jika produk tersebut rumit atau kecil. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

BAB III SISTEM ENGINEERING



SISTEM ENGINEERING


3.1 Sistem Berbasis Komputer
Sistem adalah kumpulan elemen-elemen atau komponen-komponen atau subsistem-subsistem yang saling berintegrasi dan berinteraksi untuk mencapai tujuan tertentu. Sebuah sistem memiliki sistem yang lebih besar yang dinamakan supra sistem, supra sistem dimungkinkan memiliki sistem yang lebih besar, sehingga dinamakan supra dari supra sistem.
Beberapa definisi sistem menurut para ahli :
-         -  Gordon B Davis (1984) “Sebuah sistem terdiri dari bagian-bagian yang saling berkaitan yang beroperasi bersama untuk mencapai beberapa sasaran atau maksud”
-        -   Raymond Mcload (2001) “Sistem adalah himpunan dari unsur-unsur yang saling berkaitan sehingga membentuk suatu kesatuan yang utuh dan terpadu”

Sebagai contoh sistem komputer memiliki subsistem perangkat lunak (software), subsistem perangkat keras (hardware), dan subsistem pengguna (brainware). Sedangkan subsistem hardware terdiri dari subsistem piranti input, piranti proses, dan piranti output. Subsistem piranti input terdiri dari komponen seperti mouse, keyboard, suara dan sebagainya.
Sistem berasal dari bahasa latin (systema) dan bahasa yunani (sustema) adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi. Istilah ini sering digunakan untuk menggambarkan suatu setentitas yang berinteraksi dimana suatu model matematika sering kali bisa dibuat.
Sistem merupakan kumpulan bagian-bagian atau sub-sub sistem yang disatukan dan dirancanag untuk mencapai suatu tujuan tertentu.
Tujuan dari sistem tersebut adalah untuk mengorganisasikan sistem informasi yang baru agar dapat mengatasi berbagai masalah yang terjadi pada suatu organisasi, serta memberikan pengertian mengenai suatu bentuk sistem yang ada pada suatu organisasi serta trik-trik managemen yang berkaitan dengan sistem informasi managemen (SIM) berbasis komputer.

Gambar susunan sistem

Sistem mempunyai karakteristik atau sifat-sifat tertentu seperti elemen-elemen (elements), batasan sistem (boundary), lingkungan sistem (enviroments), penghubung (interface), masukan (input), pengolahan (proses), keluaran (output), dan tujuan (goal).
Sebuah sistem memiliki penghubung yang berfungsi melakukan interaksi antar subsistem atau elemen di dalam sebuah sistem. Sistem juga dapat menerima energi masukan dari elemen yang lain dan melakukan pengolahan untuk menghasilkan energi keluaran baik yang berguna maupun tidak berguna bagi sisem. Suatu sistem dibuat pasti memiliki tujuan tertentu. Sebuah sistem dibuat jika dapat menghasilkan tujuan sesuai dengan yang dibutuhkan.

Transformasi elemen sistem


Sistem berbasis komputer yaitu sistem yang komponen-komponennya atau subsistem-subsistemnya terdiri dari :
- Perangkat lunak : program komputer, struktur data, dan dokumentasi terkait
- Perangkat keras : perangkat elektronik yang menyediakan kemampuan komputasi dan perangkat elektromekanik (contoh : sensor, motor, pompa) yang meyediakan fungsi dunia luar
- Manusia : pemakai dan operator perangkat keras dan perangkat lunak
- Basis data : kumpulan informasi yang besar dan terorganisasi yang diakses melalui perangkat lunak
- Dokumentasi : buku-buku manual, formulir, dan informasi deskriptif lainnya yang menggambarkan penggunaan atau operasional sistem
- Prosedur : langkah-langkah yang menjelaskan pemakaian spesifik dari setiap elemen sistem
Dari enam komponen diatas merupakan dasar pembentuk sistem berbasis komputer, dan setiap komponen tersebut merupakan hasil aktifitas rekayasa perangkat lunak (software engineering).
Perangkat lunak komputer yaitu produk yang dihasilkan melalui serangkaian aktifitas proses rekayasa atau pengembangan software yang dapat menghasilkan aktifitas berupa :

  • Dokumen-dokumen yang menspesifkasikan program yang hendak dibangun
  • Program yang dieksekusi komputer
  • Dokumen yang menjelaskan program dan cara kerja program
  • Data berbentuk angka atau teks, yang juga berupa audio, video, gambar, dan sebagainya

 Ada beberapa elemen yang membentuk sebuah sistem yaitu:
1. Tujuan
 Setiap sistem memiliki tujuan . Tanpa tujuan, sistem menjadi tak terarah dan tak terkendali 
2. Masukan
masukan sistem adalah segala sesuatu yang masuk ke dalam sistem dan selanjutnya menjadi bahan yang diproses. Masukan dapat berupa hal-hal yang berwujud (tampak secara fisik) maupun yang tidak tampak
3. Proses
merupakan bagian yang melakukan perubahan atau transformasi dari masukan menjadi keluaran yang berguna dan lebih bernilai, misalnya berupa informasi dan produk, ataupun juga bisa berupa hal-hal yang tidak berguna, misalnya saja sisa pembuangan atau limbah.
4. Keluaran
merupakan hasil dari pemrosesan. Pada sistem informasi, keluaran bisa berupa suatu informasi, saran, cetakan laporan, dan sebagainya.
5. Batas
atau disebut dengan (boundary) sistem adalah pemisah antara sistem dan daerah diluar sistem (lingkungan). Batas sistem menentukan konfigurasi ruang lingkup atau kemampuan sistem. sebagai contoh, pertumbuhan sebuah toko kelontong dipengaruhi oleh pembelian pelanggan, gerakan pesaingdan keterbatasan dana dari bank.
6. Mekanisme Pengembalian dan Umpan Balik
diwujudkan dengan menggunakan umpan balik (feedback) yang mencuplik keluaran. Umpan balik digunakan untuk mengendalikan baik masukan maupun proses. Tujuannya adalah untuk mengatur agar sistem berjalan sesuai dengan tujuan.
7. Lingkungan
adalah segala sesuatu yang berada diluar sistem. Lingkungan bisa berpengaruh terhadap operasi sistem dalam arti bisa merugikan atau menguntungkan. Lingkungan yang merugikan tentu saja harus ditahan dan dikendalikan supaya tidak mengganggu kelangsungan sistem operasi, sedangkan yang menguntungkan tetap harus dijaga, karena akan memacu terhadap kelangsungan hidup sistem.


3.2  Rekayasa Sistem
System Engineering atau rekayasa sistem adalah aktifitas untuk menetapkan kebutuhan-kebutuhan pada tingkat sistem, kemudian mengalokasikan beberapa bagian dari kebutuhan-kebutuhan tersebut ke satu atau beberapa komponen rekayasa, misalnya perangkat lunak rekayasa sistem dapat membantu menerjemahkan kebutuhan pelanggan menjadi model sistem tertentu, sehingga dapat memberikan gambaran bagaimana interaksi antara satu elemen sistem dengan elemen sistem lainnya.
Menurut Pressman, cakupan rekayasa sistem meliputi:
- Rekayasa informasi : rekayasa sistem yang konteks pekerjaan rekayasanya berfokus pada perusahaan bisnis. Contohnya pengumpulan kebutuhan-kebutuhan untuk tingkat bisnis strategis dan tingkat area bisnis
- Rekayasa produk : rekayasa sistem yang merupakan aktifitas penyelesaian masalah. Data, fungsi dan perilaku produk yang diinginkan dicari, dianalisa, dibuat model kebutuhannya lalu dialokasikan ke komponen rekayasa. selanjutnya komponen-komponen tersebut disatukan dengan infrastruktur pendukungnya sampai produk jadi.


3.3  Rekayasa Informasi
Tujuan dari rekayasa informasi adalah:
- Mendefinisikan suatu arsitektur yang memungkinkan bisnis menggunakan informasi secara efektif
- Membuat rencana menyeluruh untuk mengimplementasi arsitektur tersebut:
    ~ arsitektur data merupakan objek data yang dibutuhkan oleh suatu basis data dan ditransformasikan menjadi sebuah informasi yang dibutuhkan oleh bisnis atau fungsi bisnis
    ~ arsitektur aplikasi merupakan sistem program (perangkat lunak) yang melakukan transformasi data.
    ~ infrastuktur teknologi mencakup perangkat lunak dan perangkat keras yang digunakan untuk mendukung data dan aplikasi. 

hirarki Rekayasa Perangkat Lunak

Aktifitas hirarki dilakukan melalui perencanaan strategi informasi yang akan dibahas pada bab berikutnya. Perencanaan strategi informasi ini  memandang bisnis secara keseluruhan sebagai sebuah entitas dan memisahkan domain bisnis yang penting dalam sebuah enterprise (perusahaan). Perencanaan strategi informasi mendefinisikan objek data, hubungannya, serta bagaimana sata tersebut mengalir dalam domain bisnis yang terlihat pada tingkat perusahaan. Dari pandangan domain pada aktifitas rekayasa informasi disebut sebagai analisis area bisnis yang mengidentifikasikan data dan fungsi yang dibutuhkan oleh area bisnis atau domain yang telah dipilih.


3.4 Rekayasa Produk
Rekayasa produk merupakan aktifitas pemecahan masalah. Data, fungsi, dan perilaku produk yang diinginkan dicari, dianalisis, dibuat model kebutuhannya, kemudian dialokasikan ke komponen rekayasa. Selanjutnya komponen-komponen ini disatukan dengan infrastruktur pendukungnya sampai produk tersebut jadi. Komponen rekayasa disini seperti perangkat lunak, perangkat keras, data (basis data) dan manusia. Sedangkan infrastruktur pendukung berupa teknologi yang dibutuhkan untuk menyatukan komponen dan informasi.
3.4.1  Analisis Sistem
- Mengidentifikasi kebutuhan pelanggan
- Mengevaluasi kelayakan sistem
- Melakukan analisis teknis dan ekonomis
- Mengalokasikan fungsi-fungsi untuk perangkat lunak, perangkat keras, basis data, manusia dan elemen sistem yang lain
- Membuat batasan biaya dan jadwal
- Menentukan definisi sistem yang menjadi dasar kerja bagi komponen sistem baik perangkat lunak, perangkat keras, basis data dan manusia

3.4.2  Identifikasi Kebutuhan
- Adakah teknologi untuk membangun sistem ?
- Batasan apa saja yang akan dialokasikan terhadap jadwal dan biaya ?
- Pengembangan dan sumber daya apa saja yang dibutuhkan ?

3.4.3  Studi Feasibility
- Kelayakan Ekonomis : Studi mengenai evaluasi biaya pengembangan dengan keuntungan yang diperoleh dari sistem atau produk yang dikembangkan
- Kelayakan Teknis : Studi mengenai fungsi, sasaran dan kinerja yang perlu dipertimbangkan yang dapat mempengaruhi kemampuan sistem yang akan dikembangkan
- Kelayakan Legal : Studi mengenai pertimbangan yang perlu dilakukan mengenai kontrak, pelanggaran atau liabilitas yng akan dihasilkan dari sistem yang akan dikembangkan
- Alternatif : Studi mengenai evaluasi pendekatan alternatif pada pengembangan sistem atau produk


3.5 Pemodelan Arsitektur Sistem
Sistem berbasis komputer dapat dimodelkan sebagai sebuah pemindahan informasi dengan menggunakan arsitektur input-pemrosesan-output. Pemodelan arsitektur sistem memperluas arsitektur ini dengan menambahkan 2 fitur tambahan yaitu pemrosesan antarmuka pemakai dan pemrosesan self-test. Untuk memodelkan sistem maka digunakan model template arsitektur yang mengalokasikan elemen sistem menjadi 5 bagian pemrosesan yaitu :
- antarmuka pemakai
- input
- fungsi dan kontrol sistem
- output
- pemeiharaan dan selt-test

template Arsitektur Sistem


Pemodelan pada rekayasa sistem dan perangkat lunak, template arsitektur memungkinkan analisis membuat hirarki sistem secara detail. Diagram konteks arsitektur menggambar sistem pada level paling atas. Diagram konteks ini membangun batas informasi diantara sistem yang akan diimplementasikan dengan lingkungan dimana sistem akan dioperasikan.

diagram konteks arsitektur untuk sistem pengurutan pembawa barang pada bidang manufaktur

Diagram aliran arsitektur ini masih membagi pemrosesan sub sistem kedalam lima elemen pemrosesan seperti diagram konteks arsitektur. Pada tingkat ini, masing-masing dari subsistem dapat berisi satu elemen sistem atau lebih (perangkat lunak, perangkat keras, manusia)


3.6  Pemodelan Sistem dan Simulasi 
Metode ini akan banyak penganutnya diantara pengembangan perangkat lunak yang harus membangun perangkat lunak yang kritis untuk keselamatan (misal perangkat medis dan penerbangan pesawat) serta diantara pengembangan yang harus menderita karena faktor ekonomis yang harus dialami oleh perangkat lunak.
 
 diagram aliran arsitektur untuk sistem pengurutan barang pada barang manufaktur

Diagram aliran arsitektur yang awal menjadi puncak dari hirarki diagram arsitektur. Masing-masing bujur sangkar pada diagram arsitektur dapat diperluas atau didetailkan lagi kedalam template arsitektur yang lain.


3.7  Spesifikasi sistem
Spesifikasi sistem merupakan dokumen yang berfungsi menggambarkan fungsi dan kinerja sistem berbasis komuter yang akan dikembangkan, membatasi elemen-elemen sistem yang telah dialokasikan, serta memberikan indikasi mengenai perangkat lunak dan konteks sistem keseluruhan dan informasi data dan kontrol yang dimasukkan dan dikeluarkan oleh sistem yang telah digambarkan dalam diagram aliran arsitektur.

 Hirarki diagram aliran arsitektur