26 Mar 2013

System Engineering



Definisi Sistem
Suatu sistem adalah suatu bangunan atau koleksi dari unsur-unsur yang berbeda yang bersama-sama tidak menghasilkan produk dapat diperoleh oleh unsur-unsur sendiri. Unsur-Unsur, atau bagian, dapat meliputi orang-orang, perangkat keras, perangkat lunak, fasilitas, kebijakan, dan dokumen; itu semua diperlukan untuk memproduksi tingkatan sistem. Hasil meliputi kualitas tingkatan sistem, kekayaan, karakteristik, fungsi, perilaku dan penampilan.

Sistem Engineering
System Engineering adalah suatu disiplin rancang-bangun yang mana bertanggung jawab menciptakan dan melaksanakan proses disiplin untuk memastikan bahwa pelanggan dan kebutuhan stakeholder's terpuaskan dengan kualitas tinggi, terpercaya, efisiensi biaya dan menjadwalkan cara memenuhi sepanjang keseluruhan jalan kehidupan. Proses ini pada umumnya terdiri atas tujuh tugas: Satukan masalah, alternative penyelidikan, model system, Mengintegrasikan, peluncuran system, Nilai capaian, dan evaluasi kembali. Fungsi ini dapat diringkas dengan singkatan Similar: State, investigasi, Model, integrate, launch, Nilai dan Re-Evaluate.




Sistem mempunyai karakteristik atau sifat-sifat yang tertentu seperti elemenelemen (elements), batasan sistem (boundary), lingkungan sistem (environments), penghubung (interface), masukan (input), pengolahan (process), keluaran (output), dan tujuan (goals).

Sistem berbasis komputer adalah sistem yang komponen-komponennya atau subsistem-subsistemnya terdiri dari :
  •  Perangkat lunak, yaitu program komputer, struktur data, dan dokumentasi terkait.
  • Perangkat keras, yaitu perangkat elektronik yang menyediakan kemampuan komputasi dan perangkat elektromekanik (misalnya: sensor, motor, pompa) yang menyediakan fungsi dunia luar.
  • Manusia, yaitu pemakai dan operator perangkat keras dan perangkat lunak.
  •  Basis data, yaitu kumpulan informasi yang besar dan terorganisasi yang diakses melalui perangkat lunak.
  • Dokumentasi, yaitu buku-buku manual, formulir, dan informasi deskriptif lainnya yang menggambarkan penggunaan dan atau operasional sistem.
  • Prosedur, yaitu langkah-langkah yang menjelaskan pemakaian spesifik dari setiap elemen sistem.




Produk system engineer adalah suatu pernyataan misi, suatu dokumen kebutuhan yang mencakup verifikasi dan pengesahan, suatu uraian fungsi dan object, kepekaan instrument, suatu rencana test, suatu gambar batasan-batasan sistem, suatu alat penghubung mengendalikan dokumen, suatu daftar deliverables, model, suatu analisis kepekaan, suatu tradeoff studi, suatu analisis risiko, suatu analisa jalan kehidupan dan suatu uraian arsitektur phisik. Kebutuhan harus disahihkan ( Apakah kita membangun sistem yang benar?) dan membuktikan ( Apakah kita membangun sistem itu benar?). Fungsi sistem harus dipetakan kepada komponen phisik. Pemetaan berfungsi ke phisik komponen dapat satu untuk satu atau banyak untuk satu. Tetapi jika satu fungsi ditugaskan untuk dua atau lebih komponen phisik, kemudian suatu kekeliruan mungkin telah dibuat dan haruslah diselidiki. Satu alasan sah untuk menugaskan suatu fungsi ke lebih dari satu komponen akan berfungsi preformed oleh satu komponen dalam suatu gaya tertentu dan oleh komponen lain dengan gaya lain. Yang lain akan bersifat pemborosan sengaja untuk tingkatkan keandalan, membiarkan seseorang membagi sistem kepada penerima fungsi jika yang lain gagal melakukan pembagian.

Pemodelan Arsitektur Sistem
Setiap 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. Meskipun dua fitur tambahan ini tidak selalu dipakai tetapi fitur tambahan ini umum dipakai pada pemodelan sistem berbasis komputer yang membuat model sistem menjadi lebih baik. Model sistem ini menjadi dasar bagi analisis kebutuhan dan langkah desain selanjutnya.
Untuk memodelkan sistem maka digunakan model template arsitektur yang mengalokasikan elemen sistem menjadi 5 bagian pemrosesan yaitu:
1.      antarmuka pemakai,
2.      input
3.      fungsi dan kontrol sistem,
4.      output dan
5.      pemeliharaan dan self-test.

Pemodelan Sistem dan Simulasi
Meskipun demikian , sepertinya 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 factor ekonomis yang harus dialami oleh perangkat lunak. 


Spesikasi Sistem
Spesifikasi sistem merupakan dokumen yang berfungsi menggambarkan fungsi dan kinerja sistem berbasis komputer 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.




19 Mar 2013

Model Proses RPL (Rekayasa Perangkat Lunak)


Prescriptive Process Model

Model Proses yang sesuai aturan untuk menghindari ketidakaturan. Pada kenyataannya model-model ini tidak menghilangkan atau mencegah ketidakaturan karena kondisi sebenarnya penuh dengan hal-hal yang tidak terduga. Lain proyek, lain kondisi. Kondisi yang tidak terstruktur tidak selalu berarti kacau.

Prescriptive mode process terdiri dari :

1.framework activities
2.software engineering actions
3.taks
4.work products
5.quality assurance
6.change control mechanisms

yang disusun dalam suatu aliran kerja/work flow dimana tiap elemen proses di atas berelasi satu sama lain

Waterfall Model
Proses dilakukan secara sekuensial dari aktifitas Communication sampai Deployement ketika masalah/kebutuhan dipahami secara lengkap dan proses berjalan stabil.





V-Model
Model yang sama dengan Waterfall dengan memberikan gambaran hubungan antara setiap langkah dengan tingkat pemenuhan kebutuhan. Semakin proses menuju ke akhir proses, kebutuhan semakin dipenuhi. Kebutuhan diwakili dengan proses pengujian




yang dilakukan setelah pengkodean dilakukan, mulai dari pengujian unit, lalu integrasi, sistem dan terakhir adalah Alpha test (Acceptance Test). Pengujian-pengujian ini adalah aksi dari penjaminan kualitas perangkat lunak (quality assurance). Pada prakteknya tidak ada perbedaan antara Waterfall model dan V-Model. V-Model memberikan visualisasi verifikasi dan validasari dilakukan.
Masalah-masalah dalam penerapan Waterfall dan V-Model:
1.sekalipun iterasi dimungkinkan terjadi tapi tidak secara langsung sehingga menimbulkan kebingungan
2.kebutuhan sering kali sulit untuk dinyatakan secara lengkap
3.karya yang dihasilkan baru dapat dinikmati di akhir proses, jika kesalahan tidak terdeteksi di awal akan menimbulkan kekacauan


Incremental Model
Model linier Waterfall yang berulang. Hasil pertama dari rangkaian proses adalah core product (sistem dengan kemampuan inti dan dapat berfungsi).Iterasi/perulangan berikutnya menambahkan kemampuan pada sistem. Dapat memanfaatkan prototype dalam alir prosesnya.
Digunakan ketika tidak banyak tenaga yang tersedia untuk menyelesaikan proyek secara menyeluruh.


Prototype Model
Prototype adalah cara yang dapat diterapkan dalam model apapun. Menjawab situasi sulit ketika klien tidak dapat menjelaskan keinginan/kebutuhannya, pengembang ragu terhadap algoritma/teknik yang digunakan, adaptasi dengan SO baru. Model ini menolong pengembang dan klien untuk memahami lebih baik kebutuhan sistem, tapi problem yang mungkin muncul:


  1. klien menghendaki prototype (yg dibangun secara cepat) menjadi produk yang berfungsi dan lengkap.
  2. Pengembang menganggap prototype cukup untuk dikembangkan jadi produk padahal banyak ketidaksesuaian yg dikompromikan. Misal. SO kurang tepat, bahasa pemrograman tidak mendukung sepenuhnya.

Model ini dapat berhasil jika ada kesepakatan dengan klien bahwa protopying digunakan untuk memastikan kebutuhan secara lengkap.




Spiral Model
Dua hal penting: 

  1. Bersifat siklus untuk hasilkan sistem yang makin berkembang (kemampuannya) dengan risiko yang rendah.
  2. Hasil pencapaian(milestones) yang ditetapkan sebagai wujud komitmen klien. Iterasi-iterasi awal hasilkan prototype atau model, iterasi-iterasi selanjutnya menghasilkan versi-versi yang lebih lengkap. 
Setiap iterasi menjalani aktivitas-aktvitas framework yang didefinisikan oleh tim pengembang. Produk berevolusi.Model ini dapat terus berlaku sekalipun software yang dibangun sudah diserahkan, karena siklus dapat dimulai bila ada perubahan sampai software pensiun.









11 Mar 2013


Definisi Rekayasa Perangkat Lunak (RPL)

RPL atau Software Engineering (SE) Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Perangkat Lunak yang dibuat harus mampu:

  • Tepat waktu
  • Tepat anggaran
  • Meningkatkan kinerja
  • Mengoperasikan prosedur sistem dengan benar


Definisi Rekayasa Perangkat Lunak 

Ada 2 istilah kunci :

1. “disiplin rekayasa” Perekayasa membuat suatu alat bekerja. Menerapkan teori, metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan selalu mencoba mencari solusi terhadap
permasalahan.

2. “semua aspek produksi perangkat lunak” RPL tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti Manajemen proyek PL dan pengembangan alat bantu, metode, dan teori untuk mendukung produksi PL.


Perbedaan RPL dengan Rekayasa Sistem (RS)?

Rekayasa Sistem (RS) berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses.

RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.

Produk Perangkat Lunak



  • Perangkat lunak tidak sama dengan produk perangkat keras.
  • Produk perangkat lunak dikembangkan (developed) atau direkayasa (engineered). Sebagian besar dikembangkan atau dibangun berdasrkan pemesanan dan sebagian kecil dibuat secara paket.
  • Tidak dipabrikkan seperti pabrik perangkat keras, misal komputer, mobil.
  • Perangkat lunak secara pemakaian tidak pernah AUS layaknya perangkat keras
Bentuk produk perangkat lunak:
1. Produk Generik (Umum)
Sistem stand-alone standar yang diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software shrink-wrapped. Contoh : pengolah kata (word processor).
2. Produk pesanan (yang disesuaikan)
Sistem yang dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak. Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara