1.
Model Pengembangan Sistem Informasi
Berikut adalah
beberapa model pengembangan informasi, yaitu :
- Metode SDLC / Waterfall
Model waterfall mengusulkan sebuah pendekatan kepada perkembangan
software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan
sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini
melingkupi aktivitas – aktivitas sebagai berikut : rekayasa dan pemodelan sistem/informasi, analisis
kebutuhan, desain, coding, pemeliharaan
dan pengujian.
Setiap phase pada Waterfall dilakukan
secara berurutan namun kurang dalam iterasi pada setiap level. Dalam
pengembangan Sistem Informasi berbasis web, Waterfall memiliki kekakuan untuk
ke iterasi sebelumnya. Dimana Sistem Informasi berbasis Web selalu berkembang
baik teknologi ataupun lingkungannya.
- Model Prototype
Model prototype dimulai dengan
pengumpulan kebutuhan. Pengembang dan user bertemu dan mendefinisikan obyektif
keseluruhan dari software, mengidentifikasi segala kebutuhan yang diketahui,
dan area garis besar dimana definisi lebih jauh merupakan keharusan kemudian
dilakukan “perancangan kilat”.
Perancangan kilat berfokus pada penyajian dari aspek – aspek
software tersebut yang akan nampak bagi user atau pemakai (contohnya pendekatan
input dan format output). Perancangan kilat membawa kepada konstruksi sebuah
prototype. Prototype tersebut dievaluasi oleh pelanggan/pemakai dan dipakai
untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat
prototype disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama
memungkinkan pengembang untuk secara lebih baik memahami apa yang harus
dilakukannya.
Dalam pengembangan informasi berbasis web, model ini dapat membantu
user dalam menilai setiap versi dari sistem. Sangat baik untuk “aplikasi yang
interaktif”, Umumnya user lebih tertarik pada tampilan dari pada proses pada
sistem. Namun dalam prosesnya prototype cenderung lambat karena user
akan menambah komponen dari luar sistem. Sehingga kepastian penyelesaian
project tidak jelas. Dan target user dalam Web lebih bervariasi.
Model Prototype
- Model Rapid Aplication Development
Rapid Application Development (RAD) adalah sebuah 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 di mana perkembangan cepat dicapai dengan menggunakan
pendekatan kontruksi berbasis komponen. 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).
Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD
melingkupi fase – fase sebagai berikut : bussiness modeling, data
modeling, process modeling, application generation dan testing and turnover.
Beberapa kategori RAD misalnya Phased
Development, Prototyping dan Throw-away Prototyping. Dalam pengembangan sistem
informasi bebasis web, bentuk dari prototipe dengan throw away jika ada modul yang salah maka akan dibuang. Artinya
setiap modul tidak akan dikembangkan sampai selesai, karena jika dianalisa
salah langsung dibuang. “RAD involve building the wrong site multiple times
until the right site falls out of the process”. Kekurangan model RAD adalah :
-
Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya
manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
-
RAD menuntut pengembang dan user memiliki komitmen di dalam aktivitas
rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam
kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada,
proyek RAD akan gagal.
d.
Model Spiral / Incremental
Model spiral (spiral model) adalah model proses software
yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara
kontrol dan aspek sistematis dari model sekuensial linier. Model ini berpotensi
untuk pengembangan versi pertambahan software secara cepat. Di dalam model
spiral, software dikembangkan di dalam suatu deretan pertambahan. Selama awal
iterasi, rilis inkremental bisa merupakan sebuah model atau prototipe kertas.
Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem
rekayasa yang lebih lengkap.
Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja,
disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas, yaitu : komunikasi
pelanggan yang dibutuhkan untuk membangun komunikasi yang efektif di antara
pengembangan dan pelanggan, perencanaan yang dibutuhkan untuk mendefinisikan
sumber – sumber daya, ketepatan waktu, dan proyek informasi lain yang
berhubungan, analisis risiko yang dibutuhkan untuk menperhitungkan resiko (manajemen
maupun teknis), perekayasaan yang dibutuhkan untuk membangun satu atau lebih representasi
dari aplikasi tersebut, konstruksi dan peluncuran yang dibutuhkan untuk
mengkonstruksi dan menguji serta memasang (instal) dan memberikan pelayanan
kepada user (contohnya pelatihan dan dokumentasi) dan bagian evaluasi user yang
dibutuhkan untuk memperoleh umpan balik dari user dengan didasarkan pada
evaluasi representasi software, yang dibuat selama masa perekayasaan, dan
diimplementasikan selama masa pemasangan.
Dalam pengembangan sistem informasi berbasis
web, model ini digunakan untuk menyelesaikan sistem secara global terlebih
dahulu, kemudian untuk feature dari sistem akan dikembangkan kemudian. Dengan ini
mempercepat dalam pengimplementasian project. dan hal ini cocok digunakan dalam
sistem informasi Web.
Kekurangan model spiral adalah sulitnya untuk meyakinkan konsumen (khusunya
dalam situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol. Model
spiral memerlukan keahlian penaksiran risiko yang msuk akal , dan sangat bertumpu
pada keakhlian ini untuk mencapai keberhasilan. Jika resiko mayor tidak
ditemukan dan diatur, pasti akan terjadi masalah. Akhirnya model itu sendiri masih
baru dan belum dipergunakan secara luas seperti paradigma sekuensial dan prototipe.
INCEMENTAL
MODEL
Model
incremental adalah pendekatan intuitif untuk model air terjun. Model
Incremental menggabungkan unsur-unsur dari model sekuensial linier dengan
filosofi iteratif dari prototipe tersebut. Model ini telah secara eksplisit
dirancang untuk mengakomodasi produk yang berkembang dari waktu ke waktu.
Siklus pengembangan multiple berlangsung di sini, membuat siklus hidup
"multi-air terjun" siklus. Siklus dibagi menjadi lebih kecil, iterasi
lebih mudah dikelola. Setiap iterasi melewati, desain pelaksanaan persyaratan,
dan fase pengujian.
Sebuah
versi kerja perangkat lunak yang dihasilkan selama iterasi pertama, sehingga
Anda telah bekerja software awal selama siklus hidup perangkat lunak. Iterasi
berikutnya membangun perangkat lunak awal yang dihasilkan selama iterasi
pertama.
Keuntungan
Incremental Model
1.
Menghasilkan perangkat lunak yang bekerja dengan cepat dan awal selama siklus
hidup perangkat lunak.
2. Lebih
fleksibel - lebih murah untuk mengubah ruang lingkup dan persyaratan.
3. Mudah
untuk menguji dan debug selama iterasi yang lebih kecil.
4. Lebih
mudah untuk mengelola risiko karena potongan berisiko diidentifikasi dan
ditangani selama iterasi nya.
5. Setiap
iterasi merupakan tonggak mudah dikelola.
6. Sistem
dikembangkan dan disampaikan secara bertahap setelah membangun arsitektur
keseluruhan.
7.
Persyaratan dan spesifikasi untuk peningkatan masing-masing dapat dikembangkan.
8.
Dimaksudkan untuk menggabungkan beberapa keuntungan dari prototipe tetapi
dengan proses yang lebih mudah dikelola
dan struktur sistem yang lebih baik.
Kekurangan Incremental Model
1. Setiap
fase iterasi suatu kaku dan tidak saling tumpang tindih.
2. Masalah
mungkin timbul berkaitan dengan arsitektur sistem karena tidak semua
persyaratan yang berkumpul di depan untuk siklus hidup perangkat lunak
keseluruhan.
Unified Process (UP)
Unified Process (UP) merupakan suatu
metode pembangunan sistem secara objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM.
Secara luas, UP telah diakui sebagai standar
metodologi pengembangan sistem berorientasi objek. Vesri alsi dari UP
didefinisikan sangat rumit untuk setiap kegiatan. Namun versi terbaru dari UP
yakni metodologinya lebih sederhana. Ciri utama metode ini adalah menggunakan
use-case driven dan pendekatan iteratif untuk siklus pengembangan perangkat
lunak.UP tepat digunakan saat kondisi:
-
Pengembangan
perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified
Modeling Language )
-
Mempunyai
waktu pengembangan yang panjang
-
Dikembangkan
pada perangkat lunak sebagai sarana interaksi antara pengguna dan perangkat
keras
-
Mempunyai
tim programmer yang cukup banyak
-
Pengembangan
dan perubahan perangkat lunak berdasarkan kebutuhan user
Keuntungan
Pengembangan Perangkat Lunak RUP :
Ada beberapa keuntungan dengan
mengunakan RUP di antaranya :
1. Menyediakan akses yang mudah
terhadap pengetahuan dasar bagi anggota tim.
2.
Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
3.
Mendukung proses pengulangan dalam pengembangan software.
4.
Memungkinkan adanya penambahan-penambahan pada proses.
5.
Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan
yang terjadi pada software selama proses
pengembangannya.
6.
Memungkinkan untuk menjalankan test case dengan menggunakan Rational
Test Manager Tool
Kekurangan
Pengembangan Perangkat Lunak RUP
:
-
Metodologi
ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada
UML (Unified Modeling Language).
-
Membutuhkan
waktu yang cukup lama dibandingkan XP dan Scrum
XP (Extreme Programming)
XP merupakan suatu model
yang tergolong dalam pendekatan agile yang diusulkan oleh Kent Back. Menurut
penjelasannya, definisi XP adalah sebagai berikut: "Extreme Programming
(XP) is a lightweight, efficient, low-risk,flexible, predictable, scientific,
and fun way to develop software". Model ini cenderung menggunakan
pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain:
Planning, Design, Coding, dan Testing. Sasaran Extreme Programming adalah tim
yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu
menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi
requirements yang tidak jelas maupun terjadinya perubahan- perubahan
requirements yang sangat cepat. Extreme Programming merupakan agile methods
yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat
terkenal. XP tepat digunakan saat kondisi
-
Keperluan berubah dengan cepat
-
Resiko tinggi dan ada proyek dengan tantangan yang baru
-
Tim programmer sedikit, yaitu 2-10 orang
-
Mampu mengotomatiskan tes
-
Ada peran serta pelanggan secara langsung
Kelemahan XP:
-
Cerita-cerita yang menunjukkan requirements kemungkinan besar
tidak lengkap sehingga 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).
-
XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi
adalah dokumentasi awal yang dilakukan oleh user.
Agile Modeling
Agile Modeling merupakan
filosofi tentang bagaimana membangun model, dengan beberapa diantaranya
dilakukan secara format dan terperinci dan yang lainnya dilakukan secara samar
dan minim. Agile Software Development juga melihat pentingnya komunikasi antara
anggota tim, antara orang-orang teknis dan businessmen, antara developer dan
managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software.
Kelebihan dari Agile Modeling:
1. Meningkatkan kepuasan kepada klien
2. Pembangunan system dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi
software dari segi non-teknis
4. Jika pada saat pembangunan system terjadi
kegagalan,kerugian dar segi materi relative kecil.
Kelemahan dari Agile Modeling:
Developer harus selalu
siap dengan perubahan karena perubahan akan selalu diterima.
SCRUM
Pertama kali
diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan
selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum merupakan
salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan
harian untuk membahas kemajuan sedangkan XP adalah menekankan metodologi yang
berbeda yaitu ujian, pemrograman dan pembangunan.Scrum menguraikan proses untuk
mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan,
memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil
pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan
memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan.
XP lebih lanjut tentang pengembang membantu menyelesaikan pekerjaan secepat dan
maintainably mungkinScrum merupakan suatu kerangka kerja. Jadi, bukannya
menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus
dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat
lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara
terbaik untuk memecahkan masalah yang mereka disajikan. Ada 3 elemen organisasi
utama pada scrum yaitu product owner, Scrum master, dan the Scrum team. Scrum
Master dapat dianggap sebagai pelatih bagi tim, membantu anggota tim
menggunakan kerangka Scrum untuk tampil di tingkat tertinggi. Product Owner
mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan
produk yang tepat. Sedangkan The Scrum Team merupakan grup pengembang kecil
biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan
biasanya dibagi dan didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan
the scrum master juga dapat ikut membantu dalam koordinasi team. Scrum tepat
digunakan saat kondisi:
-
Keperluan berubah dengan cepat
-
Tim programmer sedikit, yaitu 5-9 orang
-
Pelanggan tidak terlalu paham dengan apa yang diinginkan Scrum
memiliki prinsip yaitu:
-
Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya,
dan memberdayakan satu sama lain
-
Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
-
Proses menghasilkan beberapa software increment
-
Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
-
Dokumentasi dan pengujian terus menerus dilakukan setelah software
dibangun
-
Proses scrum mampu menyatakan bahwa produk selesai kapanpun
diperlukan Kelebihan Scrum antara lain:
-
Keperluan berubah dengan cepat
-
Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi
biaya dan memberdayakan satu sama lain
-
Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
-
Dokumentasi dan pengujian terus menerus dilakukan setelah software
dibangun
-
Proses Scrum mampu menyatakan bahwa produk selesai kapanpun
diperlukan
Kelemahan Scrum antara lain:
Developer harus selalu
siap dengan perubahan karena perubahan akan selalu diterima.
Component-based Development Model
Component-based
development sangat berkaitan dengan teknologi berorientasi objek. Pada
pemrograman berorientasi objek, banyak class yang dibangun dan menjadi komponen
dalam suatu software. Class-class tersebut bersifat reusable artinya bisa
digunakan kembali. Model ini bersifat iteratif atau berulang-ulang prosesnya.
Secara umum proses yang terjadi
dalam model ini adalah:
1. Identifikasi class-class yang akan
digunakan kembali dengan menguji class tersebut dengan data yang akan
dimanipulasi dengan aplikasi/software dan algoritma yang baru
2. Class yang dibuat pada proyek sebelumnya
disimpan dalam class library, sehingga bisa langsung diambil dari library yang
sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat
dengan metode berorientasi objek.
3. Bangun software dengan class-class
yang sudah ditentukan atau class baru yang dibuat, integrasikan.
Penggunaan kembali komponen software
yang sudah ada menguntungkan dari segi:
► Siklus waktu pengembangan software, karena mampu mengurangi
waktu 70%
► Biaya produksi berkurang sampai 84%
arena pembangunan komponen
berkurang
Pembangunan
software dengan menggunakan komponen yang sudah tersedia dapat menggunakan
komponen COTS (Commercial off-the-shelf) – yang bisa didapatkan dengan membeli
atau komponen yang sudah dibangun sebelumnya secara internal. Component-Based
Software Engineering (CBSE) adalah proses yang menekankan perancangan dan
pembangunan software dengan menggunakan komponen software yang sudah ada. CBSE
terdiri dari dua bagian yang terjadi secara paralel yaitu software engineering
(component-based development) dan domain engineering.
Model Formal
Model metode formal mencakup
sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak
komputer. Metode formal memungkinkan perekayasa perangkat lunak untuk
mengkhususkan, mengembangkan, dan memverifikasi sistem berbasis komputer dengan
menggunakan notasi matematis yang tepat. Variasi di dalam pendekatan ini,
disebut juga clean-room Rekayasa perangkat lunak, sedang diaplikasikan
oleh banyak organisasi pengembang perangkat lunak.
Meskipun belum menjadi pendekatan
utama, model metode formal sudah menawarkan janji perangkat lunak yang bebas
cacat/kesalahan; tetapi perhatian tentang kemampuan aplikasinya di dalam
lingkungan bisnis sudah mulai disuarakan :
1. Pengembangan model formal banyak
memakan waktu dan mahal
2. Karena beberapa pengembang
perangkat lunak perlu mempunyai latar belakang yang diperlukan untuk
mengaplikasikan metode formal, maka diperlukan pelatihan yang ekstensif.
Sulit untuk menggunakan model-model sebagai
sebuah mekanisme komunikasi bagi pemakai yang secara teknik belum canggih.