Model Proses Perangkat Lunak
Model Waterfall (Model Pengembangan
Air Terjun) atau Sekuensial Linier, merupakan model pengembangan
perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan
sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial
yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis,
desain , kode, pengujian, dan pemeliharaan.
Berikut Merupakan Tahapan – tahapan
Pengembangan Model Sekuensial Linear / Waterfall Development Model :
·
Rekayasa
dan pemodelan sistem/informasi
Langkah pertama dimulai dengan
membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan
dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya
dengan Hardware, User, dan Database.
·
Analisis
kebutuhan perangkat lunak
Pada proses ini, dilakukan
penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi,
fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka. Hasil
penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan
kembali kepada pelanggan.
·
Desain
Pada proses Desain, dilakukan
penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat
diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus
pada struktur data, arsitektur perangkat lunak, representasi interface,
dan detail algoritma prosedural.
·
Pengkodean
Pengkodean merupakan proses
menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin,
dengan menggunakan bahasa pemrograman.
·
Pengujian
Setelah Proses Pengkodean selesai,
dilanjutkan dengan proses pengujian pada program perangkat lunak, baik
Pengujian logika internal, maupun Pengujian eksternal fungsional untuk
memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil
dari pengembangan tersebut sesuai dengan hasil yang diinginkan.
·
Pemeliharaan
Proses Pemeliharaan erupakan bagian
paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak
dipergunakan. Kegiatan yang dilakukan pada proses pemeliharaan antara lain :
·
Corrective
Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak,
yang baru terdeteksi pada saat perangkat lunak dipergunakan.
·
Adaptive
Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan
yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai tuntutan
atas perkembangan sistem komputer, misalnya penambahan driver, dll.
·
Perfektive
Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai.
Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan
fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
- ·
Kelebihan
Model Waterfall / Sekuensial Linear :
- Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
- Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
- Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
- Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
- ·
Kekurangan
Model Waterfall Development / Sekuensial Linear :
- Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
- Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
- Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
- Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
- ·
Contoh
Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development
Model
Contoh dari penerapan model
pengembangan ini adalah pembuatan program pendaftaran online ke suatu Instansi
Pendidikan. Program ini akan sangat membantu dalam proses pendaftaran, karena
dapat meng-efektifkan waktu serta pendaftar tidak perlu repot-repot langsung
mendatangi Instansi Pendidikan. Teknisnya adalah sebagai berikut :
·
Sistem
program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan
Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan)
pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows,
Linux, dan sebagainya.
·
Setelah
program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan
memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta
kondisi user.
2. Model Rapid Application Development (RAD)
Berikut adalah Tahapan – tahapan
Proses Pengembangan dalam Model Rapid Application Development (RAD), yaitu :
·
Bussiness
Modeling
Fase ini untuk mencari aliran
informasi yang dapat menjawab pertanyaan berikut:
·
Informasi
apa yang menegndalikan proses bisnis?
·
Informasi
apa yang dimunculkan?
·
Di
mana informasi digunakan ?
·
Siapa
yang memprosenya ?
·
Data
Modeling
Aliran informasi yang didefinisikan
sebagai bagian dari fase bussiness modeling disaring ke dalam serangkaian objek
data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (atribut)
masing-masing objek diidentifikasi dan hubungan antar objek-objek tersebut
didefinisikan.
·
Proses
Modeling
Aliran informasi yang didefinisikan di
dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang
perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan
untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek
data.
·
Aplication
Generation
Selain menggunakan bahasa pemrograman
generasi ketiga, RAD juga memakai komponen program yang telah ada atau
menciptakan komponen yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk
memfasilitasi konstruksi perangkat lunak.
·
Testing
dan Turnover
Karena proses RAD menekankan pada
pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi
keseluruhan waktu pengujian. Tetapi komponen baru harus diuji dan semua
interface harus dilatih secara penuh.
-RAD sangat tepat diterapkan untuk sistem yang telah jelas dan lengkap kebutuhannya, di
mana terdapat komponen-komponen yang dapat dipakai kembali dalam proyek yang
berskala kecil dengan waktu pengembangan perangkat lunak yang singkat.
- Kelebihan
Model RAD :
- Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
- Cocok untuk proyek yang memerlukan waktu yang singkat.
- Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.
- ·
Kekurangan
Model RAD :
- · Model RAD menuntut pengembangan dan pelanggan 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.
- · Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
- · RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
- · Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
- Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.
- Contoh Penerapan:
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.
Model ini merupakan perluasan
dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip
dengan yang yang dalam model waterfall. Jika dalam model waterfall proses
dijalankan secara linier, maka dalam model V proses dalikukan bercabang dalam
model V ini digambarkan hubungan antara tahap pengembangan software dengan
tahap pengujiannya.
Bisa dikatakan model ini
merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena
tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam
model waterfall proses dijalankan secara linear, maka dalam model V proses
dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap
pengembangan software dengan tahap pengujiannya.
Berikut penjelasan masing-masing tahap
beserta tahap pengujiannya:
1. Requirement Analysis & Acceptance Testing
Tahap Requirement
Analysis sama seperti yang terdapat dalam model waterfall. Keluaran dari tahap
ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
2. System Design & System Testing
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
2. System Design & System Testing
Dalam tahap ini
analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan
pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini
adalah spesifikasi software yang meliputi organisasi sistem secara umum,
struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh
tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram
dan Data Dictionary.
3. Architecture Design & Integration Testing
3. Architecture Design & Integration Testing
Sering juga
disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan
berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul,
ketergantungan tabel dalam basis data, hubungan antar interface, detail
teknologi yang dipakai.
4. Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.
5. Coding
4. Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.
5. Coding
Dalam tahap ini
dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
- Kelebihan V Model:
- V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
- V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi dalam change control board yang memproses semua change request terhadap V Model.
- Kekurangan V Model:
- V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
- V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
- Contoh Studi Kasus:
Produk
negara
Sebuah produk mengalami keadaan yang berbeda selama generasi itu dan pengolahan. Perubahan negara hanya dapat dipicu oleh suatu kegiatan. Dalam skema kegiatan itu dijelaskan apa negara produk memiliki ketika memasuki kegiatan dan ketika ia meninggalkan aktivitas.
Sebuah produk mungkin memiliki negara-negara:
• Direncanakan - produk ini sedang direncanakan. Produk belum ada. Ini adalah keadaan awal dari semua produk.
• Menjadi diproses - produk ini sedang diproses. Hal ini mengendalikan pengembang. Hal ini baik check-out dari perpustakaan produk atau check-in ke perpustakaan produk.
• Dikirimkan - produk adalah dari titik pengembang pandang selesai. Produk ini disampaikan ke QA untuk penilaian. Jika penilaian QA menolak produk itu dikembalikan ke yang Negara diproses jika tidak diterima.
• Diterima - Produk telah diterima oleh penilaian QA dan karena itu dibebaskan. Hal ini dapat hanya dapat dimodifikasi lebih lanjut jika nomor versi diperbarui.
Sebuah produk mengalami keadaan yang berbeda selama generasi itu dan pengolahan. Perubahan negara hanya dapat dipicu oleh suatu kegiatan. Dalam skema kegiatan itu dijelaskan apa negara produk memiliki ketika memasuki kegiatan dan ketika ia meninggalkan aktivitas.
Sebuah produk mungkin memiliki negara-negara:
• Direncanakan - produk ini sedang direncanakan. Produk belum ada. Ini adalah keadaan awal dari semua produk.
• Menjadi diproses - produk ini sedang diproses. Hal ini mengendalikan pengembang. Hal ini baik check-out dari perpustakaan produk atau check-in ke perpustakaan produk.
• Dikirimkan - produk adalah dari titik pengembang pandang selesai. Produk ini disampaikan ke QA untuk penilaian. Jika penilaian QA menolak produk itu dikembalikan ke yang Negara diproses jika tidak diterima.
• Diterima - Produk telah diterima oleh penilaian QA dan karena itu dibebaskan. Hal ini dapat hanya dapat dimodifikasi lebih lanjut jika nomor versi diperbarui.
4. Model
Incremental
Model Incremental merupakan hasil
kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara
berulang, atau bisa disebut gabungan dari Model linear sekuensial (waterfall)
dengan Model Prototype. Elemen-elemen tersebut dikerjakan hingga menghasilkan
produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali
hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan
tentunya memenuhi kebutuhan pemakai.
Model ini berfokus pada penyampaian
produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi
stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani
pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Model ini
cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan
ketersediaan waktu yang terbatas.
Pada proses Pengembangan dengan Model
Incremental, perangkat lunak dibagi menjadi serangkaian increment yang
dikembangkan secara bergantian.
- ·
Kelebihan
Model Incremental :
- · Personil bekerja optimal.
- · mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk menjalankannya.
- · Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan.
- · Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya setiap bagian demi bagian.
- · Memaksimalkan pengembalian modal investasi konsumen.
- ·
Kekurangan
Model Incremental :
- · Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding).
- · Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.
- Contoh
Penerapan Model Incremental
Perangkat lunak pengolah kata yang
dikembangkan dengan menggunakan paradigma pertambahan akan menyampaikan
manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan
pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti
(core product). Dan pada pertambahan selanjutnya, produk inti akan
dikembangkan terus hingga menghasilkan produk jadi yang siap untuk
digunakan/dipasarkan.
Spiral
model adalah model proses yang pendekatannya bersifat realistis pada software
besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat
dipahami dnegan baik oleh clieent dan developer. Model ini mempunyai rangkaian
kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan
kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya.
Model ini dapat terus digunakan meskipun software sudah dikirimkan karena
proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai
tidak ada permintaan perupbahan pada software oleh client.
- Kelebihan model spiral:
- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- 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:
- Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
- Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
- Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
- Contoh studi
kasus:
Tuan X adalah General Manager A Company, sebuah perusahaan
perkapalan yang berbasis di Singapura. Sebagai
perusahaan
UKM muda yang terus berkembang, Tuan X menginvestasikan sebagian modal
perusahaan untuk promosi di media cetak dan elektronik, serta melatih kemampuan
karyawan melalui berbagai kursus. Untuk mendukung kerja karyawan, A Company
menggunakan komputer dasar (Basic PC) yang dilengkapi dengan office
software.
Seperti kebanyakan UKM lainnya, A Company juga memiliki akses internet yang
hanya dapat digunakan
secara
terbatas di beberapa PC. A Company memiliki satu buah email resmi yang masih
menggunakan domain dari
ISP
(Internet Service Provider). Untuk komunikasi dilingkungan karyawan, mereka
menggunakan fasilitas
email gratis
yang banyak tersedia di internet. Email gratis ini kadang juga digunakan untuk
berkomunikasi dengan
supplier dan
pelanggan. Sebagai perusahaan UKM yang terus berkembang cepat,
Tuan X mulai
berfikir untuk mengembangkan A Company lebih professional. Harapan Tuan X,
calon pelanggan
potensial,
pelanggan, supplier dan karyawan lebih mengenal A Company. Disisi lain, ia juga
berharap agar cara yang
digunakan
lebih efisien, hemat biaya, tetapi menampilkan sosok perusahaan yang meyakinkan
atau bonafit. Tuan X
meyakini,
bahwa berkomunikasi menggunakan alamat email atau domain sendiri; promosi
melalui website sendiri; data
yang
terintegrasi dan dapat diakses disemua komputer perusahaan akan dapat membawa
perusahaan menjadi lebih
profesional.
A Company tidak memiliki departemen khusus untuk menangani TI. Untuk mewujudkan
keinginannya, Tuan X
meminta
bantuan perusahaan khusus TI. Implementasi TI dikerjakan oleh perusahaan TI
(sebagai pemenang tender)
dalam jangka
waktu kontrak 1 tahun, Dalam proses implementasi, Tuan X menyerahkan tugas dan
tanggungjawab
kepada
bawahannya. Semua karyawan dilibatkan dalam pertemuan dan diskusi dengan
perusahaan
pembangun
TI. Dari waktu kontrak 1 tahun yang disepakati, TI yang bisa diimplementasikan
adalah pembangunan
jaringan
komputer, akses internet, email, dan pembangunan data.
6. Model Prototype
Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.
- Kelebihan model prototype:
- Adanya komunikasi yang baik antara pengembang dan pelanggan
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
- User dapat berpartisipasi aktif dalam pengembangan sistem
- Kekurangan model prototype:
- Biaya untuk membuat prototyping cukup tinggi
- Biasanya kurang fleksible dalam mengahadapi perubahan
- Proses analisis dan perancangan terlalu singkat
- Contoh studi kasus:
Seorang pelanggan
mendefinisikan serangkaian sasaran umum bagi perangkat lunak, tetapi tidak
melakukan mengidentifikasi kebutuhan output, pemrosesan, atupun input detail.
Pada kasus yang lain, pengembang mungkin tidak memiliki kepastian terhadap
efisiensi algoritme, kemampuan penyesuaian dari sebuah sistem operasi,atau
bentuk-bentuk yang harus dilakukan oleh interaksi manusia dengan mesin. Dalam
hal ini, serta pada banyak situasi yang lain, prototyping paradigma mungkin
menawarkan pendekatan yang terbaik.
Prototyping paradigma dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari software, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar diman definisi lebih jauh merupakan keharusan kemudian dilakukan “perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek software tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
Prototyping paradigma dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari software, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar diman definisi lebih jauh merupakan keharusan kemudian dilakukan “perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek software tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
7. Concurrent Development Model
Model Concurrent adalah bisa di sebut Concurrent Engineering merupakan model yang dapat direpresentasikan dengan skema sebagai series dari kerangka aktifitas, aksi software engineering dan juga tugas dari jadwal.
Pada model ini aktifitas kerja
dilakukan secara bersamaan, setiap proses kerja memiliki beberapa pemicu kerja
dari aktifitas. Pemicu dapat berasal dari awal proses kerja maupun dari pemicu
yang lain karena setiap pemicu akan saling berhubungan. Misalnya proses desain
akan berubah atau dihentikan sementara karena ada perubahan permintaan
kebutuhan dari customer.
Concurrent Process Model dapat digambarkan secara
skematik sebagai rangkaian dari kegiatan teknis utama, tugas dan hubungan antar
bagian. Jadi, pada intinya Metode CDMini suatu
skema model yang mengimplementasikan suatu proses kerja yang dilakukan cepat
namun dikerjakan secara bersama-sama dan tetap efektif dalam menyelesaikan
berbagai penyelesaian masalah sesuai permintaan customer.
Diagram Modeling Activity menunjukkan skematik dari satu
aktivitas denganConcurrent Process Model. Aktivitas
analisa pada setiap orang mencatat bagian-bagian di setiap waktu sesuai jadwal.
Dengan cara yang sama, aktivitas yang lain seperti komunikasi antara customer
dapat digambarkan dengan cara yang sama.
- Kelebihan Model CDM:
- Hasil yang di dapat akan menghasilkan suatu sistem yang sangat baik karena terdapat perancangan yang terjadi secara besar dan terencana secara matang.
- Kekurangan Model CDM :
- Memungkinkan terjadinya perubahan besar-besaran, maka akan membuat biaya dan waktu yang diperlukan membengkak.
0 komentar:
Posting Komentar