Assalamu'alaikm Wr. Wb.
Selamat datang kembali di blog JamanIT
Bicara
Tentang Software memang gak ada habisnya, tidak dapat dipungkiri peranan
software sangatlah penting.hampir setiap mesin dilengkapi software sebagai
media penghubung dengan kegiatan manusia. Pembuatan software memang tidak
mudah, karena memiliki beberapa tahapan yang harus diperhatikan. Pada rekayasa
perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses
pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model
proses pengembangan sistem yang disebut System Development Life Cycle
(SDLC) seperti terlihat pada Gambar berikut ini.
SDLC (System Developement Life Cycle) |
Meskipun dalam pendekatan berbeda-beda,
namun model-model pendekatan memiliki kesamaan, yaitu menggunaka pola tahapan
analysis – design – coding(construction) – testing – maintenance.
-
Analisis sistem adalah sebuah teknik pemecahan masalah yang
menguraikan sebuah sistemmenjadi komponen-komponennya dengan tujuan mempelajari
seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk meraih
tujuan mereka.
-
Model proses adalah model yang memfokuskan pada seluruh proses
di dalam sistem yang mentransformasikan data menjadi informas.
-
Disain perangkat lunak adalah tugas, tahapan atau
aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis computer
(Whitten et al, 2004). Disain perangkat lunak sering juga disebut sebagai
physical design. Jika tahapan analisis sistem menekankan pada masalah
bisnis (business rule), maka sebaliknya disain perangkat lunak fokus pada sisi
teknis dan implementasi sebuah perangkat lunak (Whitten et al, 2004).
-
Konstruksi adalah tahapan menerjemahkan hasil
disain logis dan fisik ke dalam kode-kode program komputer.
-
Pengujian sistem melibatkan semua kelompok pengguna yang
telah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap
perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan
bisa menerima perangkat lunak tersebut berdasarkan kriteria-kriteria yang
telah ditetapkan.
-
Perawatan dan Konfigurasi. Ketika sebuah perangkat lunak telah
dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu
perawatan perangkat lunak. Ada beberapa tipe perawatan yang biasa dikenal
dalam dunia perangkat lunak seperti terlihat pada diagram di Gambar di bawah
ini :
Tipe-tipe Perawatan |
- Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa
dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki
kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian
tertentu.
- Tipe perawatan routine biasa juga disebut preventive maintenance
dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada
kesalahan.
- Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen
yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan
platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat
lunak harus diupgrade.
Dalam
software engineering telah dikenal banyak tools (computer-base system) yang
dikenal dengan Computer-Aided Software Engineering (CASE). CASE
merupakan suatu teknik yang digunakan untuk membantu satu atau beberapa fase
dalam life-cycle software, termasuk fase analisis, desain, implementasi dan
maintenance dari software tersebut
Ada banyak tools yang mendukung
pembangunan/pengembangan suatu software. Agar tidak membingungkan, CASE tools
dibagi menjadi beberapa kategori:
1.
Information engineering-supporting products.
Ada beberapa proses dari life-cycle,
yang dihasilkan dari rencana strategis dari perusahaan dan
yang menyediakan suatu repository untuk membuat dan memelihara enterprise
models, data models dan process models.
2.
Structured diagramming-supporting products.
Produk ini sangat mendukung dalam
memodelkan data flow, control flow dan entity flow.
3.
Structured development aids-providing products.
Merupakan produk yang cocok
digunakan oleh sistem analis, karena didukung oleh suatu proses terstruktur
sehingga penganalisaan lebih cepat dan akurat.
4.
Application-code-generating products.
Produk ini mampu menghasilkan
application-code untuk tujuan tertentu yang telah ditetapkan oleh designer.
CASE tools diklasifikasikan sebagai
berikut:
a.
Upper CASE.
CASE tools
yang didesain untuk mendukung perencanaan, identifikasi, dan seleksi proyek
(permulaan dari perencanaan proyek), tepatnya pada fase analisis dan desain
dari suatu system development life cycle (SDLC). Tools yang termasuk kelas ini
adalah jenis Diagramming tools, Form and report generators, dan Analysis tools.
Contoh CASE tools: Cradle, PRO-IV Workbench, ProKit*WORKBENCH.
b. Lower CASE.
CASE tools
yang didesain untuk mendukung tahap implementasi dan maintenance dari SDLC.
Tools yang termasuk kelas ini adalah jenis Code generators. Contoh CASE tools:
Level/l-User Sensitive CASE, PRO-IV application Development.
c.
Cross life-cycle CASE/Integrated CASE (I-CASE).
CASE tools
yang dirancang untuk mendukung aktifikas-aktifitas yang terjadi pada beberapa
fase dari SDLC. Mengkombinasikan Upper dan Lower CASE menjadi satu. Tools yang
termasuk kelas ini adalah jenis Project management tools. Contoh CASE tools:
Rational Rose, Poseidon, ArgoUML, Catalyze, in-Step, Juggler, PRINCE.
Fase yang didukung oleh Lower and
upper CASE tools diperlihatkan dalam model Waterfall seperti gambar di bawah:
Fase Lower dan Upper Case |
Hal yang
melatarbelakangi munculnya CASE tools adalah karena selama ini para software
engineer hanya melakukan pembuatan perangkat lunak untuk mengoptimalkan
pekerjaan orang lain, sedangkan software engineer itu sendiri dalam
aktifitasnya belum sepenuhnya terotomatisasi, sehingga muncullah CASE tools
untuk membantu para software engineer tersebut. Computer Aided Software Engineering
(CASE) merupakan kategori software yang bertujuan mengalihkan sebagian beban
kerja pengembangan sistem dari manusia ke komputer. Ada 4 kategori :
Peralatan
CASE tingkat atas : dapat digunakan oleh eksekutif perusahaan dalam
perancangan strategis; contoh : IEW/Planning Work Station dari Knowledge Ware
dan Develop-Mate dari IBM.
Peralatan
CASE tingkat menengah : dapat digunakan selama tahap analisis dan rancangan
untuk mendokumentasikan proses dan data dari sistem yang telah ada atau baru.
Contoh: Visible Analyst dari Visible System dan Excelator dari Index
Technology.
Peralatan
CASE tingkat bawah : digunakan selama tahap penerapan dan penggunaan
untuk membantu programmer, mengembangkan, menguji, dan menjaga kode. Contoh
yang popular Telon dari Pansophic Systems yang menghasilkan COBOL atau kode
PL/I.
Peralatan
CASE integrasi : menawarkan cakupan integrasi dari peralatan CASE
tingkat atas, menengah, dan bawah. Contoh: Design-1, dari Anderson Consulting
dan In CASE dari EOS.
Keuntungan teknologi CASE adalah
sebagai berikut ini:
1. Perbaikan
produktivitas.
2. Perbaikan
kualitas program.
3. Penghematan
biaya
4. Perbaikan
prosedur pengendalian
5. Penyederhanaan
dokumentasi
Beberapa masalah yang ada dalam
teknologi CASE adalah sebagai berikut :
1. Tidak
kompatibel
2. Biaya
3. Harapan yang
tidak terpenuhi
Pemodelan
dalam pembuatan dan pengembangan perangkat lunak merupakan hal yang sangat
penting meskipun bisa saja tanpa model atau konsep. Akan tetapi akan sangat
berpengaruh pada saat pengerjaannya ibarat buat sebuah gedung tanpa SOP dalam
pembuatan gedung itu sendiri. Dalam pembuatan perangkat luna terdapat beberapa
model yang dapat di gunakan oleh software developer di antaranya yait:
1.
Model Waterfall
Sebuah
pendekatan pengembangan perangkat lunak sistematik dan sekuensial. Disebut juga
“Classic Life Cycle”. Disebut waterfall (berarti air terjun) karena memang
diagram prosesnya mirip dengan air terjun yang bertingkat artinya sebuah
proses baru bisa dilanjutkan setelah satu taap awal selesai.
Waterfall Model |
Penjelasan tentang setiap tahapan dapat diringkas sebagai berikut:
1. Tahap analisis: pada tahap ini berlangsung proses
pengumpulan kebutuhan secara lengkap untuk dianalisis dan didefinisikan
kebutuhan apa saja yang harus dipenuhi oleh program yang akan dibuat, seperti
memahami domain permasalahan, tingkah laku, unjuk kerja dan interface (antar
muka).
2. Tahap desain: proses ini melibatkan empat atribut
sebuah program yaitu struktur data, arsitektur, perangkat lunak, representasi
interface, dan detail (algoritma) prosedural.
3. Tahap pengkodean: proses penterjemahan desain ke dalam
bentuk bahasa mesin yang dapat dilakukan secara mekanis.
4. Tahap pengujian: proses ini dikerjakan setelah kode
dirancang dan difokuskan pada fungsi dan jumlah kesalahan untuk diperbaiki.
5. Tahap pemeliharaan: meliputi penyesuaian atau
perubahan yang berkembang seiring dengan adaptasi perangkat lunak dengan
kondisi atau situasi sebenarnya setelah disampaikan kepada konsumen atau
pelanggan.
Kelebihan metode diatas antara lain, mudah
diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai; selain itu
juga cocok untuk software berskala besar dan yang bersifat umum; yang paling
penting, karena langkah-langkahnya sangat sekuensial, pengerjaan proyek akan
mudah dikontrol dan terjadwal dengan baik. Namun, terdapat pula beberapa
kelemahan yang menjadi kekurangan dari metode waterfall ini, seperti kurang
fleksibel, dikarenakan rincian prosesnya harus benar-benar jelas dan tidak
boleh diubah-ubah. Apabila dikerjakan dengan melampaui tahap yang seharusnya
maka proses desain yang sebelumnya itu akan berubah total dan memakan waktu
yang banyak jika harus mengulang proses. Model waterfal ini sangat sesuai
digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas dan
apabila kebutuhan pengguna telah dimengerti dengan baik. Selain itu, juga
apabila waktu yang tersedia juga masih cukup banyak.
1.
Model Prototype
Metode Prototype merupakan suatu paradigma baru dalam
metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar
evolusi dalam dunia pengembangan perangkat lunak, tetapi juga merevolusi metode
pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa
dikenal dengan nama SDLC atau waterfall development model.
Dalam Model Prototype, prototype dari perangkat lunak
yang dihasilkan kemudian dipresentasikan kepada pelanggan, dan pelanggan
tersebut diberikan kesempatan untuk memberikan masukan sehingga perangkat lunak
yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan
pelanggan.
Perubahan dan presentasi prototype dapat dilakukan berkali-kali sampai
dicapai kesepakatan bentuk dari perangkat lunak yang akan dikembangkan.
Teknik – teknik Prototyping Meliputi :
- Perancangan Model
- Perancangan Dialog
- Simulasi
Berikut adalah 4 langkah yang menjadi karakteristik dalam proses
pengembangan pada metode prototype, yaitu :
- Pemilihan fungsi
- Penyusunan Sistem InformasiEvaluasi
- Penggunaan Selanjutnya
Metode ini menyajikan gambaran yang lengkap dari suatu
sistem perangkat lunak, terdiri atas model kertas, model kerja dan program.
Pihak pengembang akan melakukan identifikasi kebutuhan pemakai, menganalisa
sistem dan melakukan studi kelayakan serta studi terhadap kebutuhan pemakai,
meliputi model interface, teknik prosedural dan teknologi yang akan
dimanfaatkan
Berikut adalah Tahapan – tahapan
Proses Pengembangan dalam Model Prototype, yaitu :
Pengumpulan kebutuhan
Pelanggan dan pengembang
bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan
semua kebutuhan, dan garis besar sistem yang akan dibuat.
Membangun prototyping
Membangun prototyping dengan membuat
perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya
dengan membuat input dan format output).
Evaluasi protoptyping
Evaluasi ini dilakukan oleh
pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan
pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil.
Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah
sebelumnya.
Mengkodekan sistem
Dalam tahap ini prototyping yang
sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
Menguji sistem
Setelah sistem sudah menjadi suatu
perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian
ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur,
dll.
Evaluasi Sistem
Pelanggan mengevaluasi apakah
perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya,
maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak
yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan
sebelumnya akan diulang.
Menggunakan sistem
Perangkat lunak yang telah diuji dan
diterima pelanggan siap untuk digunakan.
Model Prototyping ini sangat sesuai
diterapkan untuk kondisi yang beresiko tinggi di mana masalah-masalah tidak
terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari
waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi
syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh penyelesaian
yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi di mana
sistem yang diharapkan adalah yang inovatif dan mutakhir sementara tahap
penggunaan sistemnya relatif singkat.
Berikut merupakan Jenis – jenis dari
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 sistem informasi yang akan digunakan.
Implementation prototyping
merupakan lanjutan dari rancangan
prototype, prototype ini langsung disusun sebagai suatu sistem informasi yang
akan digunakan.
Contoh Penerapan Metode Prototype.
Sebuah rumah sakit ingin membuat
aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok
programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh
pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan rancangan
program yang diujikan kepada pelanggan. Hasil/penilaian dari pelanggan
dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
Kelebihan
Model Prototype :
Pelanggan berpartisipasi aktif dalam
pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah
disesuaikan dengan keinginan dan kebutuhan pelanggan.
Penentuan kebutuhan lebih mudah
diwujudkan.
Mempersingkat waktu pengembangan
produk perangkat lunak.
Adanya komunikasi yang baik antara
pengembang dan pelanggan.
Pengembang dapat bekerja lebih baik
dalam menentukan kebutuhan pelanggan.
Lebih menghemat waktu dalam
pengembangan sistem.
Penerapan menjadi lebih mudah karena
pelanggan mengetahui apa yang diharapkannya.
Kekurangan
Model Prototype :
Proses analisis dan perancangan
terlalu singkat.
Biasanya kurang fleksibel dalam
mengahadapi perubahan.
Walaupun pemakai melihat berbagai
perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari
bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka
panjang.
Pengembang kadang-kadang membuat
kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan
algoritma yang tidak efisien.
1.
Model Rapid Application Development (RAD)
Rapid
Aplication Development (RAD) adalah sebuah model proses perkembanganperangkat
lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek
(kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai
dengan menggunakan pendekatan konstruksi berbasis komponen.
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.
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.
1.
Model
Evolutionary Development / Evolutionary Software Process Models
Model Evolutionary
Development bersifat iteratif (mengandung perulangan). Hasil prosesnya berupa
produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai
produk akhir dari proses. Model Evolutionary Development / Evolutionary
Software Process terbagi menjadi 2, yaitu :
1. 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.
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.
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.
1. Model Spiral / Model Boehm
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping
dengan pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang
dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses
pengerjaan proyek.
Spiral Model |
Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai
berikut :
Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
- Tahap Planning
(perencanaan):pada tahap ini ditentukan
sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat
menjelaskan proyek.
- Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang
menjadi resiko baik teknis maupun manajemen.
- Tahap Rekayasa
(engineering):pembuatan prototipe.
- Tahap Konstruksi dan
Pelepasan (release):pada tahap ini
dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan
diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
- Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan
berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Kelebihan model iniadalah sangat mempertimbangkan resiko kemungkinan
munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan
perangkat lunak skala besar. Pendekatan model ini dilakukan melalui
tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah
dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan
keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak
kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati
dengan baik.
Kekurangan model iniadalah waktu yang dibutuhkan untuk mengembangkan
perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu,
sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat
pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif
baru, belum ada bukti apakah metode ini cukup handal untuk diterapkan.
Sekian artikel mengenai Pengaruh life cycle dan peranan case tools dalam
pembuatan dan pengembangan Software, semoga bermanfaat, aamiin
Wassalamu'alaikum Wr. Wb.
Sumber :
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/