Proses
& Software Enginering Model
Software proses model
ini merupakan hal terpenting atau salah satu aspek utama dalam proses pembuatan
software yaitu pemodelan sistem, tanpa adanya pemodelan sistem maka suatu
sistem akan bisa jadi gagal untuk di kembangkan karena tahap-tahapnya yang
kurang terjadwal, terencana, terkonsep atau terorganisir dengan baik dari segi
biaya, sumber daya, tenaga, maupun estimasi waktu proses pembuatan sistem.
Ada 6 jenis software
proses model yaitu sebagai berikut :
1. Waterfall Model
Ciri khas model
waterfall ini yaitu dalam tahap rekayasa perangkat lunak nya harus berurutan
dari satu tahap ke tahap selanjutnya jadi tidak bisa melompati dari tahap satu
ke 2 tahap setelah nya ataupun sebelumnya, lalu memakan banyak biaya dan waktu bila
suatu sistem yang di kembangkan selalu melakukan perubahan dalam sistemnya,
maka dari itu model software proses ini biasa di gunakan oleh development skala
kecil yang jarang melakukan perubahan sistem maupun peningkatan versi.
Waterfall model ini ada
2 jenis menurut referensi pressman & referensi sommerville namun pada
intinya tetep sama menjelaskan tentang requerments, design dan quality .
Waterfall model referensi pressman
Waterfall Model
Refersnsi Sommerville
Kelebihan Model Waterfall
- Merupakan
model pengembangan paling handal dan paling lama digunakan.
- Cocok
untuk system software berskala besar.
- Cocok
untuk system software yang bersifat generic.
- Pengerjaan
project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan Model Waterfall
- Perubahan
sulit dilakukan karena sifatnya yang kaku.
- Karena
sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap
sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya
jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secara
lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi.
- Waterfall
pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek
dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian
sub-proyek.
- Persyaratan
system harus digambarkan dengan jelas.
- Rincian
proses harus benar-benar jelas dan tidak boleh berubah-ubah.
- Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.
model spiral ini merupakan
gabungan dari model waterfall dengan model prototyping yang melakukan iterasi
namun selalu berkembang secara bertahap.
Ciri khas dari model spiral ini yaitu pada Risk Analysis (analisis resiko). jadi pada intinya analsis resiko ini memungkinkan kita mencegah berbagai
aspek resiko agar tidak terjadi saat pemeralakukan perancangan sisitem aspek analisis resiko yang biasa di fokuskan pada analisis yaitu sebagai
berikut :
- Concept
Development Project (proyek pengembangan konsep)
- New
Product Development Project (proyek pengembangan produk baru)
- Product
Enhancement Project (proyek peningkatan produk)
- dan
Product Maintenance Project (proyek pemeliharaan proyek)
Kelebihan Model Spiral
- Dapat
disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer
- Lebih
cocok untuk pengembangan sistem dan perangkat lunak skala besar
- Pengembang
dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
tingkat evolusi karena perangkat lunak terus bekerja selama proses
- Menggunakan
prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di
dalam evolusi produk
- Tetap
mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya
ke dalam kerangka kerja iteratif
- Membutuhkan
pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko
sebelum menjadi permaslahan yang serius
Kekurangan Model Spiral
- Sulit
untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa
dikontrol.
- Memerlukan
penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius
jika resiko mayor tidak ditemukan dan diatur.
3. Prototype Model
Prototype model yaitu suatu model yang belum sepenuhnya menjadi suatu
rancangan jadi yang utuh karena bertujuan untuk lebih dekat berkomunikasi
dengan pemesan program, perancangan berfokus pada "listen to
customer" jadi pada proses pembuatan modelnya antara development dan
customer lebih banyak berkomunikasi (feed back) dalam perancangannya yang pada
intinya pengembang lebih di tekankan untuk lebih banyak berkomunikasi untuk
memenuhi kebutuhan pemesan sistem (customer).
Kelebihan Model Prototype
- Model
ini akan digunakan jika perangkat lunak yang akan dibuat telah
didefinisikan secara khusus oleh pelanggan dan pengembang.
- Pendefinisian
tersebut antara lain mengidentifikasi kebutuhan output, pemrosesan, input
detail, kepastian terhadap efisiensi algoritme, penyesuaian dari sebuah
sistem operasi, dan bentuk-bentuk yang harus dilakukan oleh interaksi
manusia dengan mesin.
- Intinya
model ini dirancang untuk mendorong konsumen maupun pengembang agar
memahami kebutuhan.
Kekurangan Model Prototype
- Tidak
ada cara untuk mengetahui banyaknya iterasi yang diperlukan.
- Membuat
prototype / prototyping dapat mendorong ke arah perancangan sistem yang
kurang baik.
- Tujuan utama protoyping adalah perkembangan cepat, perancangan sistem kadang-kadang dapat rusak sebab sistem dibangun pada rangkaian “lapisan” tanpa integrasi pertimbangan global dari semua komponen lain.
4. Incremental Model
Model jenis ini ada karena gabungan dari 2 atau lebih element-element yang
ada pada model waterfall pressman dan juga model waterfall yang iteratif atau
melakukan perulangan versi waterfall model.
Model waterfall merupakan model yang cukup populer dengan kemudahan dalam
perancangannya dalam skala tertentu "sequensial" berurutan, bila
model waterafall tersebut saling digabungkan maka dibentuklah model baru yang
lebih baik, lengkap, statis yaitu incremental model.
Inti dari model ini merupakan pengembangan dari model waterfall yang
bardampak positif bagi sistem demi kelengkapan dari segi kebutuhan
(requirement) yang seminimal mungkin karena sudah banyak yang terpenuhi sedikit
demi sedikit di dalam sistem yang menggunakan model perancangan incremental
model.
Kelebihan Incremental Model
- Relatif
sedikit jumlah programer atau developer yang digunakan.
- Memberikan
operasional mutu produk pada tiap stage, tetapi satu yang memuaskan hanya
subset kebutuhan klien.
- Mengurangi
efek traumatis dari mengesankan suatu produk sepenuhnya baru pada
organisasi klien dengan menyediakan suatu pengenalan berangsur-angsur.
- Klien
bisa melihat sistem dan memberikan feedback.
Kekurangan Incremental Model
- Semangat
melakukan proses membangun dan memperbaiki perangkat lunak bisa menurun,
karena terlalu banyaknya iterasi yang dilakukan.
- Kesalahan
pada design menjadi bagian dari sistem dan sulit untuk memperbaikinya.
- Klien
melihat kemungkinan-kemungkinan yang ada sehingga ingin mengubah
kebutuhan.
5. Extreme Programming Model
Extreme Programming Model atau bisa di singkat menjadi
XP Model, XP Model ini merupakan model terbaru bagi kalangan perancangan
pemodelan sistem yang diciptakan oleh kent black.
Ciri khas dalam XP
- Efisien
- Fleksibel
- Dapat
di perkirakan
- Bersifat
ilmiah
- Resiko
rendah dalam development
Dalam model XP ini menekankan (fokus) pada customer
yang berkomunikasi langsung dalam perancangan pemodelan, pengujian maupun
design.
Kelebihan XP Model
Sederhana
Menekankan pada kesederhanaan dalam melakukan
pengkodingan, lebih baik melakukan hal yang sederhana dan mengembangkannya
besok jika diperlukan. Komunikasi yang lebih banyak mempermudah dan rancangan
yang sederhana mengurangi penjelasan, intinya langsung di kerjakan dengan
sedikit penjelasan.
Feedback
Setiap feedback yang ditanggapi dengan melakukan
tes, unit test atau system integration dan jangan pernah menunda proses karena
biaya akan membengkak dari segi uang, tenaga dan waktu.
Berani
Banyak ide baru dan berani mencobanya, berani
mengerjakan kembali dan setiap kali kesalahan ditemukan dan langsung
diperbaiki.
Quality Work
Semua nilai di atas berujung pada sebuah kondisi
di mana kita melakukan pekerjaan dengan berkualitas. Dengan proses yang
berkualitas maka implikasinya akan muncul pula perangkat lunak yang berkualitas
sebagai hasil akhirnya.
Kelemahan XP Model
- Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Tidak
bisa membuat kode yang detail di awal "prinsip simplicity dan juga
anjuran untuk melakukan apa yang diperlukan hari itu juga".
6. Opportunistic Software System
Development Model
Opportunistic Softwere
System Development Model atau bisa disebut (OSSDM) merupakan suatu sistem
pemodelan yang masih baru dan masih jarang sekali digunakan oleh para
programmer, model ini berfokus pada menemukan dan merekatkan potongan-potongan
RPL yang belum sama sekali di satukan, sepertinya ini hampir sama dengan RUP
namun bedanya bila RUP menyatukan kumpulan dari contoh latihan yang terbaik.
3. Aspek Utama Dalam OSSDM
- Desain
- Konstruksi
- Management
Proses
Penekanannya adalah pada rekayasa cerdas,
kreativitas, inovasi, dan cara-cara imajinatif untuk menemukan dan menempelkan
software untuk menyediakan sistem interoperable dan di maintenance yang
memenuhi kebutuhan pengguna.
Bisa kita lihat pada gambar di atas
ada tahap "First Prototype" yang artinya rancangan awal pertama yang
langsung di sajikan kepada customer lalu bila ada kekurangan langsung dilakukan
modifikasi sesuai kebutuhan agar sistem benar benar optimal dan customer merasa
terpuaskan lalu dilanjutkan pada tahap "Think of Idea for
Improvement" dilakukan kegiatan ide ide baru apa yang ingin di tambahkan
pada sistem yang sedang di rancang, jadi sistem ini terus melakukan iterasi
sampai muncul ide ide baru dan terus berkembang demi tercapainya kepuasan dari
customer dengan sistem yang sedang di rancang sampai benar benar matang lalu di
hentikan proses iterasi tersebut, jadi pada model OSSDM ini sama halnya dengan
model prototyping & XP model yang banyak melakukan komunikasi (feedback).
Jadi intinya Model Generic Software Oportunitis
Software System Development (OSSDM) ini sepeti pembahasan sebelumnya mencari
dan melakukan perekatan bersama dalam ruang lingkup perangkat lunak (software)
yang tidak pernah dirancang untuk bekerja bersama-sama, dilakukan perubahan
agar bisa berkerja bersama-sama.






