Rekayasa Sistem (PO3)

02.52 0 Comments

1.       Prototyping Model

Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak  digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapatsaling berinteraksi  selama proses pembuatan sistem. Sering terjadi seorang pelangganhanya mendefinisikan secara  umum apa yang dikehendakinya tanpa menyebutkan secaradetal output apa saja yang  dibutuhkan, pemrosesan dan data-data apa saja yangdibutuhkan. Sebaliknya disisi pengembang  kurang memperhatikan efesiensi algoritma,kemampuan sistem operasi dan interface yang  Menghubungkan manusia dan komputer.
Prototyping juga dapat didefinisikan sebagai proses pengembangan suatu prototipe secara cepat  untuk digunakan terlebih dahulu dan ditingkatkan terus menerus sampai didapatkan sistem yang  utuh. Prototyping merupakan proses yang digunakan untuk membantu pengembang perangkat lunak dalam membentuk model dari perangkat lunak yang harus dibuat.

Prototyping  Model Adalah merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.
Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan
aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan.




2.       RAD (Rapid Application Development) Model

Incremental model adalah model pengembangan sistem pada software engineering berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengembangannya secara bertahap. dilain pihak ada mengartikan model incremental sebagai  perbaikan dari model waterfall dan sebagai standar pendekatan topdown. Layaknya Model Waterfall, model ini pun juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya, yaitu: 
1.       Requirement , Requirment adalah proses tahapan awal yang dilakukan pada incremental model adalah penentuan kebutuhan atau analisis kebutuhan.
2.       Specification, Specification adalah proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.
3.       Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
Code setelah melakukan proses desain selanjutnya ada pengkodean.
Test merupakan tahap pengujian dalam model ini. 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnA81KLliKrCrC3Vgfv8jwXhlh8UB3PnBAveQPEfCVx_UywQKbYix247a1AGEfIPfPBOe0POxPWNqxudYxg-5z_Mbr6Lbt91KnrojYEg6EbX7dDeBoxUWuG81cWaz9L3PcIpv06BWNTUE/s320/Capture.JPG

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkCaiDZ7IUQprefjynMkxgCxfm0VZbEuxuy4b4LZQk-xPxFxRe_SsBibS4OSJBj0_OrmbOF7aZR1YYWhK7idyGhPwoTIh3tuHJ7oADs49N7T_ooA7ZAd4yKefmzwwGVn8wk3KDC_lYzwU/s320/Capture0.JPG
gambar 1.2 desain pemodelan Incremental.

Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap increment. Untuk mengantisipasi kondisi yang terjadi pada incremental model, diperkenalkan model More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim desain menindak lanjuti. Tim spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak harus menunggu modul pertama selesai hingga dikirim ke user.
Beberapa Kelebihan Dari Model Incremental atara lain :
1.       Merupakan model dengan manajemen yang sederhana.
2.       Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
3.       Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan sistem yang paling penting mengalami pengujian yang ketat. Ini berarti bahwa pengguna akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat lunak pada increment sistem yang paling bawah.
4.       Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
5.       Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem.
6.       Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji.

Kelemahannya adalah :
1.       Kemungkinan tiap bagian tidak dapat diintegrasikan.
2.       Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung harus Open Architecture
3.       Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.





3.       Incremental Model

Metode pengembangan sistem adalah suatu aktivitas, metode, praktik terbaik dan peralatan terotomatisasi yang digunakan parastakeholder untuk mengembangkan dan secara berkesinambungan memperbaiki sistem informasi dan perangkat lunak (Whitten, Bentley, Ditman, 2004). Pengembangan sistem informasi merupakan penyusunan suatu sistem untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang telah ada. Rapid Application Development (RAD) yaitu suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak (Kendall dan Kendall, 2002).
Rapid Application Development (RAD) adalah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis pada komponen (Hariyanto, 2004). Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu  yang sangat pendek (kira-kira 60 sampai 90 hari). 

Tahapan-tahapan dalam RAD :
RAD digunakan pada aplikasi sistem konstruksi, maka menekankan fase-fase. Ada tiga fase dalam RAD yaitu (Kendall dan Kendall, 2008):
1.       Requirement Planning, dalam tahap ini diketahui apa saja yan menjadi kebutuhan sistem yaitu dengan mengidentifikasikan kebutuhan informasi dan masalah yang dihadapi untuk menentukan tujuan, batasan-batasan sistem, kendala dan juga alternatif pemecahan masalah. Analisis digunakan untuk mengetahui perilaku sistem dan juga untuk mengetahui aktivitas apa saja yang ada dalam sistem tersebut.
2.       Design Workshop, yaitu mengidentifikasi solusi alternatif dan memilih solusi yang terbaik. Kemudian membuat desain proses bisnis dan desain pemrograman untuk data-data yang telah didapatkan dan dimodelkan dalam arsitektur sistem informasi. Tools yang digunakan dalam pemodelan sistem biasanya menggunakan Unified Modeling Language (UML).
3.       Implentation, setelah Design Workshop dilakukan, selanjutnya sistem diimplementasikan (coding) ke dalam bentuk yang dimengerti oleh mesin yang diwujudkan dalam bentuk program atau unit program. Tahap implementasi sistem merupakan tahap meletakkan sistem supaya siap untuk dioperasikan.

Keunggulan dan Kelemahan Menggunakan RAD 
Berikut adalah keunggulan dan kelemahan menggunakan RAD (Whitten, Bentley, Ditman, 2004):
Keunggulan :
Ø  Berguna untuk proyek-proyek tempat persyaratan-persyaratan pengguna tidak pasti dan tidak tepat.
Ø  Mendorong pengguna aktif dan partisipasi manajemen (berkebalikan dengan reaksi pasif pada model-model sistem yang tidak bekerja). Hal ini meningkatkan antusiasme pengguna akhir pada proyek.
Ø  Proyek-proyek memiliki visibilitas dan dukungan lebih tinggi karena keterlibatan pengguna yang ekstensif selama proses.
Ø  Para pengguna dan manajemen melihat solusi-solusi yang berbasis perangkat lunak dan bekerja lebih cepat daripada pengembangan yang model-driven.
Ø  Error dan penghilangan cenderung untuk dideteksi lebih awal dan prototype daripada dalam model sistem.

Kelemahan :
Ø  Beberapa orang berpendapat bahwa RAD mendorong mentalitas “mengkode, mengimplementasi, dan memperbaiki” yang meningkatkan biaya seumur hidup yang diperlukan untuk mengoperasikan, mendukung dan merawat sistem.
Ø  Prototype-prototype RAD dapat dengan mudah memecahkan yang salah karena analisis masalah disingkat atau diabaikan.
Ø  Prototype berbasis RAD mungkin membuat para analis minder untuk mempertimbangkan alternatif-alternatif teknis lain yang lebih bernilai.
Ø  Kadang-kadang lebih baik membuang sebuah prototype, tapi para stakeholder enggan melakukannya karena menganggapnya sebagai hilangnya waktu dan usaha dalam produk saat ini.
Ø  Penekanan pada kecepatan dapat berdampak terhadap kualitas yang disebabkan jalan-jalan pintas yang disarankan dengan buruk melalui metodologi tersebut.





4.       Model Spiral

Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek sistematis model sequensial linier.
Model iteratif ditandai dengan tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak yang lebih lengkap secara bertahap. Perangkat lunak dikembangkan dalam deretan pertambahan. Selama awal iterasi, rilis inkremantal bisa berupa model/prototype kertas, kemudian sedikit demi sedikit dihasilkan versi sistem yang lebih lengkap.

Tahapan-Tahapan Model Spiral.
Model spiral dibagi menjadi enam wilayah tugas yaitu:
1.       Komunikasi pelanggan, Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan kebutuhankebutuhan yang diinginkan oleh pelanggan.
2.       Perencanaan, Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg berhubungan.
3.       Analisis Resiko, Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen dan teknis.
4.       Perekayasaan, Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari apikasi tersebut.
5.       Konstruksi dan peluncuran, Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang , dan memberi pelayanan kepada pemakai.
6.       Evaluasi Pelanggan, Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgj4-fi9JDzwa9DWJLoQ66xO6AJnWSzKrq6XB6vKZY21i3vqQ6P5GLxf3Quv9BTJdDyD8fp03VhyphenhyphenS_FbwGaamTM6If0Lfs4HNIDB5zL66qa-_kHN1a-QAHBg_5MZBvhv6JRDAWfkD8lbs/s320/13.jpg
Dari gambar tersebut, proses dimulai dari inti bergerak searah dengan jarum jam mengelilingi spiral. Lintasan pertama putaran menghasilkan perkembangan spesifikasi produk. Putaran selanjutnya digunakan untuk mengembangkan sebuah prototype, dan secara progresif mengembangkan versi perangkat lunak yang lebih canggih. Masing-masing lintasan yang melalui daerah perencanaan menghasilkan penyesuaian pada rencanan proyek.
Biaya dan jadwal disesuaikan berdasarkan umpan balik yang disimpulakan dari evaluasi pelanggan. Manajer proyek akan menambah jumlah iterasi sesuai dengan yang dibutuhkan.

Kelebihan dan Kelemahan Model Spiral.
A.      Kelebihan model Spiral :
1.       Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
2.       Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3.       Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .
4.       Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
5.       Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannyake dalam kerangka kerja iteratif .
6.       Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.

B.      Kelemahan model Spiral:
1.       Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
2.       Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
3.       Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut


Sumber :

0 komentar:

Rekayasa Sistem (PO1)

00.30 0 Comments



1.       Pengertian Rekayasa Sistem.
Rekayasa sistem adalah kumpulan konsep, pendekatan dan metodologi, serta alat-alat bantu (tools) untuk merancang dan menginstalasi sebuah kompleks sistem. Kompleksitas sistem bisa diakibatkan karena 2 hal yaitu kompleksitas dinamis dan kompleksitas detail. Kompleksitas detail ketika komponen atau sub-sistem yang dirancang tidak hanya banyak tetapi ditambah pula dengan multi-sourcing (multi suplier), multi standard, multi criteria dan lainnya.
Rekayasa sistem dewasa ini, terutama di Amerika, lekat dengan dunia militer, karena produk-produk militer memang memiliki kriteria akan kompleksitas detail seperti ini, misalnya pesawat tempur, kapal induk, sistem pertahanan rudal patrior dsb, dimana timbul kombinasi yang kompleks antara sub-sistem mekanis, sub-sistem elektronik dan sub-sistem manusia.
Disiplin ilmu sistem engineering sendiri dewasa ini sedang berevolusi untuk mencari jati diri. Sebagian besar masih bergabung dengan bidang ilmu lainnya seperti biologi, teknik industri, teknik komputer, teknik kimia (instalasi sebuah processing plant membutuhkan skill rekayasa sistem).

2.       Komponen Rekayasa Sistem.
Pressman menyebut sistem yang didalamnya terdapat perangkat lunak sebagai sistem berbasis komputer. Pada sistem berbasis komputer terdapat komponen – komponen sebagai berikut :
1)      Perangkat Keras (Hardware).
Pengertian dari hardware atau dalam bahasa indonesia-nya disebut juga dengan nama “perangkat keras” adalah salah satu komponen dari sebuah komputer yang sifat alat nya bisa dilihat dan diraba secara langsung atau yang berbentuk nyata, yang berfungsi untuk mendukung proses komputerisasi.
2)      Orang (People).
Disebut juga sebagai user ialah yang terlibat langsung dengan sistem.
3)      Perangkat Lunak (Software).
Pengertian Software komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. Melalui sofware atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah.
4)      Basis Data (Database).
Kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
5)      Prosedur (procedure).
Prosedur adalah serangkaian aksi yang spesifik, tindakan atau operasi yang harus dijalankan atau dieksekusi dengan cara yang sama agar selalu memperoleh hasil yang sama dari keadaan yang sama.
6)      Dokumentasi.
Dokumentasi adalah sebuah cara yang dilakukan untuk menyediaan dokumen-dokumen dengan menggunakan bukti yang akurat dari pencatatan sumber-sumber informasi khusus dari karangan/ tulisan, wasiat, buku, undang-undang, dan sebagainya.

3.       Pengertian UML.
Unified Modeling Language merupakan salah satu alat bantu yang dapat digunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML akan mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak perusahaan raksasa seperti IBM, Microsoft, dan sebagainya.
Definisi UML :
1)      Unified Modeling Language merupakan metode pengembangan perangkat lunak (sistem informasi) dengan menggunakan metode grafis serta merupakan bahasa untuk visualisasi, spesifikasi, konstruksi serta dokumentasi.
2)      Unified Modeling Language (UML) adalah bahasa yang telah menjadi standard untuk visualisasi, menetapkan, membangun dan mendokumentasikan arti suatu sistem perangkat lunak.
3)      Unified Modeling Language (UML) dapat didefinisikan sebagai sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak.
4)      Unified Modeling Language (UML) merupakan standard modeling language yang terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem dansoftware.
Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (OOP).
4.       Bagian UML.
1)      View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram. Beberapa jenis view dalam UML antara lain : use case view, logical view, component view, concurrency view, dan deployment view.
2)      Use case View
Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya. View ini digambarkan dalam use case diagrams dan kadang-kadang dengan activity diagrams. View ini digunakan terutama untuk pelanggan, perancang (designer), pengembang (developer), dan penguji sistem (tester).
3)      Logical View
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object, dan relationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu. View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence, collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer).
4)      Component View
Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya. View ini digambarkan dalam component view dan digunakan untuk pengembang (developer). 
5)      Concurrency View
Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
6)      Deployment View
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan yang lain. View ini digambarkan dalam deployment diagrams dan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).




Sumber
Pressman, Roger.S (2005). Software Engineering : A Practitioner’s Approach 6th Edition. McGraw – Hill International Edition. Singapore
http://id.wikipedia.org/wiki/
 

0 komentar: