Model
Sekuensial Linear
Model sekuensial linear
disebut juga model waterfall atau air terjun. Model ini pertama kali
muncul pada tahun1970 yang diperkenalkan oleh WinstonW.Royce. walaupun sudah
dikenal dalam waktu yang lama dan sering di anggap kuno tetapi model ini paling
banyak dipakai dalam industri perangkat lunak .
Model sekuensial linear
berisi rangkaian proses yang disajikan secara terpisah, yaitu analisis
kebutuhan,perancangan,pemgkodean,pemgujian, seta implementasi dan pemeliharaan.
Setelah setiap proses dilakukan, proses tersebut ditutup dan pengembangan dilanjutkan
pada proses berikutnya.
Untuk mengatasi
kekurangan-kekurangan tersebut, dibuatlah model sekuensial linear yang
dimodifikasi. Keunggulan model ini dibandingkan model sekuensial linear biasa
adalah model ini memungkinkan tahap-tahap yang telah dilalui ditinjau kembali
sehinnga jika ternyata terjadi kesalahan atau kekurangan dalam menentukan
kebutuhan di tahap awal, bisa dilakukan perbaikan atau peambahan lagi.
Model sekuensial linier melingkupi aktivitas –
aktivitas sebagai berikut :
1 Rekayasa
dan pemodelan sistem/informasi
Karena sistem merupakan bagian dari sebuah sistem
yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen
sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut.
Pandangan sistem ini penting ketika software harus berhubungan dengan
elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan
anasisis system menyangkut pengumpulan kebutuhan pada tingkat sistem dengan
sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi
mancakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat
area bisnis.
2 Analisis
kebutuhan Software
Proses pengumpulan kebutuhan diintensifkan dan
difokuskan, khusunya pada software. Untuk memahami sifat program yang dibangun,
analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan
interface yang diperlukan. Kebutuhan baik untuk sistem maupun software
didokumentasikan dan dilihat lagi dengan pelanggan.
3 Desain
Desain software sebenarnya adalah proses multi
langkah yang berfokus pada empat atribut sebuah program yang berbeda struktur
data, arsitektur software, representasi interface, dan detail (algoritma)
prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi
software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode.
Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari
konfigurasi software.
4 Generasi
Kode
Desain harus diterjemahkan kedalam bentuk mesin yang
bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan
dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5 Pengujian
Sekali program dibuat, pengujian program dimulai.
Proses pengujian berfokus pada logika internal software, memastikan bahwa semua
pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan
pengujian untuk menemukan kesalahan – kesalahan dan memastikan bahwa input yang
dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
6 Pemeliharaan
Software akan mengalami perubahan setelah
disampaikan kepada pelanggan (perkecualian yang mungkin adalah software
yangdilekatkan). Perubahan akan terjadi karena kesalahan – kesalahan
ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan –
perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan
sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau
karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja.
Pemeliharaan software mengaplikasikan lagi setiap fase program sebelumnya dan
tidak membuat yang baru lagi.
KEKURANGAN
MODEL SEKUENSIAL LINEAR
Masalah yang kadang terjadi ketika model sekuensial
linier diaplikasikan adalah :
- Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model ini melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan – perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.
- Kadang – kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan halini dan mengalami kesulitan untuk mengakomodasi ketidakpastiannatural yang ada pada bagian awal beberapa proyek.
- Pelanggan harus bersifat sabar. Sebuah versi kerja dari program – program kerja itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka
- Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier
KELEBIHAN
MODEL SEKUENSIAL LINIER
Software yang dikembangkan dengan metode ini
biasanya menghasilkan kualitas yang baik.
Document pengembangan sistem sangat terorganisir,
karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase
berikutnya.
Model Prototype
Prototype adalah sebuah
Javascript Framework yang dibuat untuk lebih memudahkan proses dalam membangun
aplikasi berbasis web.
Paradigma dari metode
prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari
sistem informasi yang akan datang. Prototipe sistem informasi bukanlah
merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali,
dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain
bila perlu.
Model ini digunakan
jika customer tidak menjelaskan detail kebutuhan input, proses atau output,
sehingga developer tidak dapat memastikan algoritma yang akan dipakai,
kesesuaian sistem operasi atau bentuk user interface. Prototyping model dimulai
dengan mendengarkan kebutuhan user. Engineer dan customer bertemu dan
menentukan semua tujuan software dan menentukan kebutuhan-kebutuhan. Developer
kemudian membangun prototype dan user menguji coba prototype untuk memberikan
feedback. Prototype dapat dijalankan sebagai sistem yang pertama. User bisa mendapatkan
pengertian dari sistem yang sesungguhnya dan developer dapat membangun sistem
dengan segera. Kekurangan : kontrak akan merugikan, dirugikan oleh keinginan
customer yang meminta penambahan-penambahan. Kelebihan : akan mengurangi waktu
pembuatan program, kebutuhan customer akan lebih terpenuhi dengan baik, jika
kebutuhannya belum jelas, maka dengan prototype akan lebih menguntungkan.
Empat langkah yang menjadi karakteristik metode
Prototyping yaitu
- Pemilihan fungsi
- Penyusunan Sistem Informasi
- Evaluasi
- Penggunaan Selanjutnya
Tahapan-tahapan Prototyping
1.
Pengumpulan kebutuhan : Pelanggan dan
pengembang bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2.
Membangun prototyping : Membangun
prototyping dengan membuat perancangan sementara yang berfokus pada penyajian
kepada pelanggan (misalnya dengan membuat input dan format output)
3.
Evaluasi prototyping : Evaluasi ini
dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai
dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil.
Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.
4.
Mengkodekan sistem : Dalam tahap ini
prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman
yang sesuai
5.
Menguji sistem : Setelah sistem sudah
menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum
digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur dan lain-lain
6.
Evaluasi Sistem : Pelanggan mengevaluasi
apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya,
langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7.
Menggunakan sistem : Perangkat lunak
yang telah diuji dan diterima pelanggan siap untuk digunakan.
Jenis-jenis Prototyping
Feasibility prototyping – digunakan untuk menguji
kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan
disusun.
Requirement prototyping – digunakan untuk mengetahui
kebutuhan aktivitas bisnis user.
Desain Prototyping - digunakan untuk mendorong
perancangan system informasi yang akan digunakan.
Implementation prototyping – merupakan lanjytan dari
rancangan protipe, prototype ini langsung disusun sebagai suatu system
informasi yang akan digunakan.
Teknik-teknik Prototyping meliputi
1. Perancangan Mode
2. Perancangan Dialog
3. Simulasi
KEUNGGULAN
DAN KELEMAHAN PROTOTYPING
1. End user dapat
berpartisipasi aktif
2. Penentuan kebutuhan
lebih mudah diwujudkan
3. Mempersingkat waktu
pengembangan SI
1. Adanya komunikasi
yang baik antara pengembang dan pelanggan
2. Pengembang dapat
bekerja lebih baik dalam menentukan kebutuhan pelanggan
3. Pelanggan berperan
aktif dalam pengembangan sistem
4. Lebih menghemat
waktu dalam pengembangan sistem
5. Penerapan menjadi
lebih mudah karena pemakai mengetahui apa yang diharapkannya.
KELEMAHAN
PROTOTYPING :
1. Proses analisis dan
perancangan terlalu singkat
2. Mengesampingkan
alternatif pemecahan masalah
3. Bisanya kurang
fleksible dalam mengahadapi perubahan
4. Prototype yang
dihasilkan tidak selamanya mudah dirubah
5. Prototype terlalu
cepat selesai
Rapid
Application Development (RAD) Model
RAD merupakan
incremental software process yang menekankan pada siklus development yang
singkat. Model ini mengunakan pembuatan berdasarkan komponen, menekankan
penggunaan kembali code dan code generation. Jika requirement telah diketahui
dengan pasti dan scope project mendesak, RAD proses memungkinkan team
development untuk sistem fungsional keseluruhan dalam periode waktu yang sangat
singkat (misalnya 60-90 hari). RAD model dapat digunakan untuk project yang
dapat dipisah, misalnya ada 1 project besar, dibagi 3, dikerjakan oleh team
yang berbeda-beda (dari analisis sampai testing) kemudian diintegrasikan. Jika
menggunkan RAD model, kualitas team harus solid dan punya disiplin tinggi.
Kekurangan : (1). untuk project yang besar dan membutuhkan sumber daya manusia
yang cukup. (2) Jika developer dan customer berkomitmen untuk menyelesaikan
project dalam waktu yang singkat, maka project akan gagal. (3). Jika pemodulan
project tidak tepat, maka pembangunan komponen untuk RAD akan bermasalah.
Model RAD mengadopsi model waterfall dan
pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
1. Component
based construction ( pemrograman berbasis komponen bukan prosedural).
2. Penekanan
pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3. Pembangkitan
kode program otomatis/semi otomatis.
4. Multiple
team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak
sama.
Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang
dibangun.Jika keutuhan yang
diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas, maka waktu
yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat
adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model
waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek
dengan penerapan teknik yang cepat.
Sistem dibagi-bagi
menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir
bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim,
dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan
pembagian modul sistem.
Rapid Aplication
Development (RAD) adalah sebuah model proses perkembangan software
sekuensial linier yang menekankan siklus perkembangan yang sangat pendek
pendekatan RAD melingkupi fase – fase sebagai berikut :
1. Bussiness Modeling
Aliran informasi di
antara fungsi – fungsi bisnis dimodelkan dengan suatucara untuk menjawab
pertanyaan – pertanyaan berikut : informasi apa yang mengendalikan proses
bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana
informasi itu pergi? Siapa yang memprosesnya?
2. Data Modeling
Aliran informasi yang
didefinisikan sebagai bagian dari fase business modelling disaring ke dalam
serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut.
Karakteristik (disebut atribut) masing – masing objek diidentifikasi dan
hubungan antara objek – objek tersebut didefinisikan.
3. Process Modelling
Aliran informasi yang
didefinisikan di dalam fase data modelingditransformasikan untuk mencapai
aliran informasi yang perlu bagiimplementasi sebuah fungsi bisnis. Gambaran
pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan
kembalisebuah objek data.
4. Aplication
Generation
RAD mengasumsikan
pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan
menggunakan bahasa pemrogramangenerasi ketiga yang konvensional, RAD lebih
banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat
memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu).
Pada semua kasus, alat – alat Bantu otomatis dipakai untuk memfasilitasi
konstruksi perangkat lunak.
5. Testing and Turnover
Karena proses RAD
menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini
mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji dan
semua interface harus dilatih secara penuh.
KELEMAHAN
Beberapa hal (kelebhan dan kekurangan) yang perlu
diperhatikan dalam implementasi pengembangan menggunakan model RAD :
1. Model
RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala
besar.
2. Model
ini cocok untuk proyek dengan skala besar.
3. Model
RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan
keduanya bisa tergabung dalam 1 tim
4. kinerja
dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala
kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan
dengan model ini kurang bagus.
5. sistem
yang tidak bisa dimodularisasi tidak cocok untuk model ini.
6. penghalusan
dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini
memerlukan kerja keras.
7. proyek
bisa gagal karena waktu yang disepakati tidak dipenuhi
8. risiko
teknis yang tinggi juga kurang cocok untuk model ini.
KELEBIHAN
1. Fleksibilitas yang
lebih besar
2. Sangat mengurangi
manual coding
3. Peningkatan
keterlibatan pengguna
4. Mungkin lebih
sedikit cacat
5. Mungkin dikurangi
biaya
6. Singkat siklus
pengembangan
Incremental
Model
Pada tahun 1971 Harlan Mills (IBM) mengusulkan semestinya perkembangan software
lebih tepat daripada membuatnya. Kita mulai membangun system sangat sederhana yang
mendukung, memiliki fungsi sederhana, kemudian menambahkan dan mengembangkan software
tersebut. Semestinya software pengembangan seperti bunga atau pohon. Nama
lainperangkat lunak tersebut adalah incremental model
Model incremental
(Incremental waterfall model) merupakan perbaikan dari modelwaterfall dan
sebagai standar pendekatan top-down. Ide dasar dari model ini adalah membangun
software secara meningkat (increment) berdasarkan kemampuan fungsional.Model
incremental ini diaplikasikan pada sistem pakar dengan penambahan rules
yangmengakibatkan bertambahnya kemampuan fungsional sistem.
Model incremental merupakanmodel continous rapid prototype dengan durasi
yang diperpanjang hingga akhir prosespengembangan. Pada model prototipe biasa,
prototipe hanya dibuat pada tahap awal untuk mendapatkan kebutuhan user.
Model Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa
perangkatlunak perbagian, hingga menghasilkan perangkat lunak yang lengkap.
Proses membangunberhenti jika produk telah mencapai seluruh fungsi yang
diharapkan. Pada awal tahapan dilakukan penentuan kebutuhan dan spesifikasi.
Kemudian dilakukan perancangan arsitektur software yang terbuka, agar dapat
diterapkan pembangunan per-bagian pada tahapan selanjutnya.
Tahapan Incremental Model
1.Requirement
2.Specification
3.Architecture Design
Incremental model
menerapkan rangkaian linear. Setiap rangkaian linear mendelivery increment dari
software. Sebagai contoh, software word-processing, dibangun menggunakan
incremental model, mendelivery fungsi dasar file management, editing, dan
fungsi document production pada increment pertama. Kemampuan editing, dan
fungsi document production yang lebih baik pada increment kedua, checking dan
grammar spelling pada increment ketiga. Proses akan diulangi sampai produk yang
lengkap telah dihasilkan. Jika menggunakan Incremental model, increment yang
pertama merupakan inti product. Incremental model fokus pada pendeliverian
opertional product pada tiap increment.
KELEBIHAN
MODEL INCREMENTAL
- Penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dandapat menurunkan biaya yang dikeluarkan untuk memperbaiki system.
- Nilai penggunaan dapat ditentukan pada setiap increament sehingga fungsionalitas sistemdisediakan lebih awal
- Increment awal berupa prototype untuk membantu memahami kebutuhan pada incrementberikutnya.
- Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem.
- Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
KEKURANGAN
MODEL INCREMENTAL
- Tiap bagian tidak dapat diintegrasikan
- Setiap tambahan yang dibangun harus dimasukkan kedalam struktur yang ada tanpamenurunkan kualitas dari yang telah dibangun system tersebut sampai saat ini.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanju
Spiral
Model
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. Model spiral dibagi menjadi sejumlah aktifitas kerangka
kerja, disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas,
yaitu :
1. Komunikasi Pelanggan
Tugas – tugas yang dibutuhkan untuk membangun
komunikasi yang efektif di antara pengembangan dan pelanggan.
2. Perencanaan
Tugas – tugas yang dibutuhkan untuk mendefinisikan
sumber – sumber daya, ketepatan waktu, dan proyek informasi lain yang
berhubungan.
3. Analisis Risiko
Tugas – tugas yang dibutuhkan untuk menaksir risiko
– risiko, baik manajemen maupun teknis.
4. Perekayasaan
Tugas – tugas yang dibutuhkan untuk membangun satu
atau lebih representasi dari aplikasi tersebut.
5. Konstruksi dan Peluncuran
Tugas – tugas yang dibutuhkan untuk mengkonstruksi,
menguji, memasang (instal) dan memberikan pelayanan kepada pemakai (contohnya
pelatihan dan dokumentasi).
6. Evaluasi Pelanggan
Tugas – tugas yang dibutuhkan untuk memperoleh umpan
balik dari pelnggan dengan didasarkan pada evaluasi representasi software, yang
dibuat selama masa perekayasaan, dan diimplementasikan selama masa pemasangan.
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.
Kelebihan dari model
ini yaitu dilakukannya proses prototyping untuk setiap tahap dari evolusi
produk secara kontinu. Model ini melakukan tahap2 yang sudah sangat baik
didefinisikan pada model waterfall dan ditambah dengan iterasi yang menyebabkan
model ini lebih realistis untuk merefleksikan dunia nyata
0 komentar:
Post a Comment