Model Pengembangan Sistem
Model Proses Perangkat Lunak
adalah representasi yang disederhanakan dari proses perangkat lunak yang
dipresentasikan dari sudut tertentu.
Paradigma Pengembangan model
sistem (konvensional) terdiri dari :
-
Linier Development Model
-
Evolutionary Development model
-
Concurrent Develo[ment Model
-
Incremental Development Model
1.
1. Linear
sequential Model (Model Sekuensial Linear)/Model Waterfall
Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun,
merupakan modelan pengembangan perangkat lunak paling tua yang mengusung
pengembangan perangkat lunak yang sistematis, berurutan/sekuensial
dimulai pada tingkat dan kemajuan sistem pada seluruh persyaratan dalam
analisis, perancangan (desain), pengkodean, pengujian (testing), hingga ke
tahap pemeliharaan dalam membangun software (perangkat lunak).Berikut ini
gambaran dari Linear Sequential Model / waterfall model.
Gambar 1. The linear sequential
model
Pada setiap tahapan dianalogikan bak
air yang mengalir dari tempat tinggi ke tempat yang lebih rendah, artinya
sebuah proses baru bisa dilanjutkan setelah satu tahap awal selesai dengan
sempurna.
Penjelasan tentang setiap tahapan dapat diringkas sebagai berikut:
Tahapan 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.
Tahapan 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.
Tahapan 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.
Tahapan Pengkodean , Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.
Tahapan 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.
Tahapan 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.
Tahapan 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.
Tahapan 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.
Tahapan Pengkodean , Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.
Tahapan 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.
Tahapan 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
metode ini 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 lalu
.
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.
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.
2. V Model
Pengertian V Model
Merupakan model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. 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.
Pengertian V Model
Merupakan model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. 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.

Gambar 2. The linear sequential
model
Tahapan dalam V Model
Tahapan pada V Model dibagi menjadi 2 garis besar yaitu Tahap Verifikasi dan Tahap Validasi atau testing.
Tahap Verfiikasi mengacu kepada usaha penyesuaian spesifikasi software dengan kebutuhan klien/konsumen, tahapan ini meliputi serangkaian kegiatan sebagai berikut:
- Business Case: Merupakan tahapan awal yang menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya yang harus disediakan.
- Requirement: pada fase ini klien mendapatkan gambaran atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh software, baik kebutuhan fungsional maupun non fungsional.
- Analisis Informasi: Setelah diperoleh spesifikasi sistem dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah didefinisikan.
- Perancangan Sistem: pada tahapan ini akan dibuat rancangan software secara lebih terinci sesuai spesifikasi yang sudah disepakati.
- Unit Design: merancang setiap elemen/unit software termasuk rancangan modul/program, antarmuka, database dan lain-lain.
- Development: merealisasikan hasil rancangan menjadi satu aplikasi/program tertentu.
Tahapan
Validasi merupakan serangkaian tahapan yang mengacu kepada kesesuaian software
dengan spesifikasi yang sudah ditetapkan. Tahapan ini dicapai melalui
serangkaian pengujian/testing sebagai berikut:
- Unit test: menguji setiap komponen/unit program apakah sesuai dengan rancangan unit yang sudah ditetapkan. Secara teoritis seharusnya pengujian dilakukan oleh orang tertentu yang bertugas sebagai software tester, tetapi dalam kenyataannya seringkali unit testing dilakukan oleh programmer sendiri.
- Interface test: setelah semua komponen diuji secara terpisah, tahapan selanjutnya dilakukan interface test untuk melihat sejauh mana setiap komponen dapat berinteraksi satu sama lain sesuai dengan fungsi yang diharapkan.
- System test: setelah semua interface berjalan dengan baik, selanutnya dilakukan system test untuk melihat sejauh mana sistem/software dapat memenuhi kebutuhan secara keseluruhan. System testing bersifat menyeluruh dan tidak dapat dilakukan berdasarkan fungsionalitas sistem yang diuji secara terpisah. Aktivitas pada system testing termasuk melakukan pengujian hal-hal berikut:
- Performance – apakah kinerja sistem sesuai dengan target yang sudah didefinisikan sebelumnya.
- Volume – apakah software/sistem dapat menampung volume informasi yang cukup besar.
- Stress – apakah software/sistem dapat menampung sejumlah informasi pada waktu-waktu tertentu.
- Documentation – apakah semua dokumentasi penting sudah disiapkan.
- Robustness – apakah software/sistem cenderung stabil pada berbagai kondisi diluar dugaan/ekstrim.
- Acceptance test merupakan aktivitas untuk menguji sejauh mana sistem/software dapat membantu memecahkan business case, dalam artian apakah sistem/software tersebut sudah sesuai dengan harapan konsumen/klien dan sejauh mana manfaat sistem/software ini bagi klien. Test ini sering kali disebut sebagai User Acceptance Test (UAT).
- Release testing: test ini dilakukan untuk menguji sejauh mana sistem/software dapat mendukung aktivitas organisasi dan berjalan dengan harmonis sesuai dengan kegiatan rutin organisasi. Beberapa pertanyaan coba dijawab pada fase ini misalnya apakah software tersebut mempengaruhi sistem lain? Apakah software tersebut kompatibel dengan sistem lain? Bagaimana kinerja sistem sebenarnya di dalam organisasi?
Kelebihan
V model:
- V model sangat fleksibel. V model ini bisa digunakan untuk project tailoring serta penambahan pengurangan method dan tool secara dinamik.
- V model dikembangkan dan di maintain oleh publik. User dari V model berpartisipasi dalam change board yang memproses semua change request terhadap V model.
Kekuranagn V
model
- V model hanya bisa digunakan sekali dalam suatu proyek hal tersebut disebabkan kerena V model merupakan model yang project oriented.
- V model bersifat terlalu fleksibel sehingga mengakibatkan beberapa aktivitas-aktivitas yang digambarkan dalam V model menjadi terlalu abstrak. Hal tersebut mengakibatkan tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
Dimana saja V Model Diterapkan?
- Dalam proyek teknologi informasi di Jerman
- V Model dibandingkan dengan CMM
- V Model didesain untuk mengembangkan sistem yang didalamnya terdapat dua komponen
- Pengembangan V Model dalam bidang industri dapat dilakukan dengan mudah
3. Prototyping
Model
Metode Prototyping Model
menyajikan gambaran yang lengkap dari sistem, 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.
Gambar 3. Prototyping Model
Secara ringkas, tahapan-tahapan dalam model
prototyping adalah:
Tahapan Pengumpulan kebutuhan , Pelanggan dan pengembang
bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan
semua kebutuhan, dan garis besar sistem yang akan dibuat.
Tahapan Membangun prototyping, Membangun prototyping dengan
membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan
(misalnya dengan membuat input dan format output).
Tahapan 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.
Tahapan Mengkodekan sistem , Dalam tahap ini prototyping yang
sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
Tahapan 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.
Tahapan 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.
Tahapan Menggunakan sistem , Perangkat lunak yang telah diuji
dan diterima pelanggan siap untuk digunakan.
Keunggulan
model ini adalah sifatnya yang sangat interaktif sehingga pengembang dan pengguna
(pemakai) dapat terus berinteraksi selama pengerjaan tahapan–tahapan
tersebut. Peran aktif pemakai ini dapat menghemat waktu dalam pengembangan
sistem dan bila terdapat kesalahan atau ketidaksesuaian keinginan, pemakai
dapat segera memberitahukannya sehingga pengembang dapat secepatnya melakukan
penyesuaian.
Kelemahan
model ini antara lain, akibat adanya quick design, kadang pemakai tidak
menyadari bahwa perangkat lunak yang ditunjukkan masih berupa blue print
sehingga tidak ada jaminan terhadap kualitas secara keseluruhan dan
pemeliharaan jangka panjangnya. Dari sisi pengembang, karena ingin menyegerakan
selesainya proyek, sering menggunakan bahasa pemrograman yang sederhana dalam
membuat prototipe tanpa memikirkan lebih lanjut program yang lebih kompleks
untuk membangun sistem yang sebenarnya.
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.
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.
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.
4. RAD Model (Rapid Aplication
Development)
RAD adalah proses pembangunan
Perangkat Lunak yang menekankan pada siklus pengembangan yang pendek dan
singkat. Model ini mengawinkan model waterfall dan model component based
construction.
Gambar 4.
Model RAD
Tahap Pemodelan Bisnis: dibuat agar
dapat menjawab pertanyaan-pertanyaan berikut: informasi apa yang mengontrol
proses bisnis? Informasi apa yang didapat? Siapa yang mendapatkannya? Untuk
siapa informasi itu ditujukan? Siapa yang akan memprosesnya?
Tahap Pemodelan Data:
informasi-informasi yang dipadu dari pemodelan bisnis dipilah-pilah ke menjadi sekumpulan
objek data yang masing-masing objek diidentifikasikan dan ditentukan hubungan
antara objek-objek tersebut.
Tahap Pemodelan Proses: aliran
informasi yang didapat dalam proses pemodelan data diolah sedemikian untuk
dapat menopang fungsi-fungsi bisnis. Prosesnya dikreasikan untuk menambah,
memodifikasi, menghapus dan atau mendapatkan kembali sebuah objek data.
Tahap Pembuatan Aplikasi: RAD dapat
saja memakai kembali komponen program yang sudah ada bila dimungkinkan, atau
membuat komponen yang dapat digunakan lagi bila diperlukan di masa mendatang.
RAD juga diasumsikan menggunakan teknik generasi keempat (4GT).
Tahap Pengujian dan Pergantian: Proses RAD
menekankan pada pemakaian kembali yang memungkinkan berkurangnya keseluruhan
waktu pengujian, namun komponen harus diuji dan harus dilatih secara penuh dan
terintegrasi.
Kelebihan
model RAD: tahap-tahap RAD membuatnya mampu untuk menggunakan kembali komponen yang
ada (reusable object), karena setiap komponen software dikerjakan secara
terpisah dengan tim-tim tersendiri sehingga dapat digunakan juga untuk aplikasi
lain yang pada akhirnya akan menghemat waktu. Penggunaan tim yang
terpisah untuk mengerjakan pekerjaan yang berbeda membuat pekerjaan lebih cepat
dalam proses integrasi dan efisien terhadap waktu tanpa mengacaukan aplikasi.
Kelemahan
model RAD: Tidak begitu cocok untuk proyek dengan skala besar
karena dibutuhkan sumber daya manusia yang semakin banyak seiring dengan
semakin banyaknya komponen yang dikerjakan, selain itu, semakin besar proyek,
semakin kompleks pula koordinasi yang dibutuhkan. Dalam waktu yang
singkat, rasanya sulit untuk pengembang dan pemakai berkomitmen untuk
melaksanakan berbagai kegiatan untuk melengkapi sistem. Apalagi bila sistem
ternyata tidak dapat dimodularisasi sementara sistem mempunyai resiko teknik
yang tinggi.
Model 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.
Contoh Penerapan dalam Kehidupan
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.
5. Evolutionary software process
model, terbagi dua:
5A. Incremental Model
Model Incremental Model merupakan hasil kombinasi
elemen-elemen dari model waterfall yang diaplikasikan secara berulang.
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.
Gambar 5. Incremental Model
Kelebihan model ini
adalah mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang
relatif singkat dan tidak dibutuhkan anggota/tim yang banyak untuk
menjalankannya.
Kekurangannya adalah
tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding) dan
sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap
hasil dari increament.
Model ini
cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan
ketersediaan waktu yang terbatas.
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.
Contoh studi
kasus:
Puskesmas
sebagai salah satu bentuk pelayanan kesehatan yang dituntut untuk memberikan
pelayanan kesehatan dengan baik. Diantaranya adalah rekam medis pasien di
Puskesmas Mranggen I masih menggunakan sistem manual, sehingga menyebabkan
beberapa kendala diantaranya pengolahan data pasien yang masih lambat yang
mengakibatkan tingginya tingkat kesalahan dalam pengolahan data pasien. Sistem
rekam medis ini menggunakan metode penelitian deskriptif dengan jenis studi
kasus pada Puskesmas Mranggen I, teknik pengumpulan data yang digunakan adalah
observasi, wawancara, dan studi literature. Teknik analisis data menggunakan
model incremental yang dikembangkan dari model waterfall, sedangkan model
analisis menggunakan analisis terstruktur yaitu ERD (Entity Relationship
Diagram) dalam menggambarkan model data dan DFD (Data Flow Diagram) untuk
mengembangkan model fungsional.Perangkat pembangun adalah Borland Delphi 7
dengan database MySQL. Data yang diproses yaitu pendaftaran, rekam medis,
rujukan, laboratorium sedangkan keluaran dari system berupa laporan-laporan.
5B. Spiral Model/Spiral 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.
Gambar 6. Model Spiral Boehm
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 ini adalah 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 ini adalah 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.
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 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 sososk 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.
Contoh Aplikasi Aplikasi Game pembangunan adalah daerah utama dimana model spiral digunakan dan dibutuhkan, itu adalah karena ukuran dan pergeseran terus-menerus tujuan dari proyek-proyek besar tersebut.Model spiral banyak digunakan dalam proyek-proyek besar. Untuk proyek-proyek yang lebih kecil, konsep pengembangan perangkat lunak cerdas menjadi alternatif. Militer AS telah mengadopsi model spiral untuk program Future Combat Systems. The FCS Proyek ini dibatalkan setelah enam tahun (2003 – 2009), itu 2 tahun iterasi (spiral). FCS harus memiliki 3 consecutive mengakibatkan prototipe (satu prototipe per spiral – setiap 2 tahun). Saat itu dibatalkan pada Mei, 2009Untuk setiap solusi perangkat lunak kustom proyek, baik besar atau kecil, yang cocok metodologi pengembangan perangkat lunak adalah kebutuhan inti dalam pengembangan prosedur. Every company employs a particular model to ensure the software development process is implemented with ease and professionalism. Setiap perusahaan mempekerjakan model tertentu untuk memastikan proses pengembangan perangkat lunak diimplementasikan dengan mudah dan profesionalisme. One such methodology is the spiral model. Salah satu metodologi adalah model spiral.Untuk setiap solusi perangkat lunak kustom proyek, baik besar atau kecil, yang cocok Metodologi pengembangan perangkat lunak adalah kebutuhan inti dalam pengembangan prosedur. Setiap perusahaan mempekerjakan model tertentu untuk memastikan proses pengembangan perangkat lunak diimplementasikan dengan mudah dan profesionalisme. Setiap perusahaan mempekerjakan Tertentu model untuk memastikan proses pengembangan perangkat lunak dengan mudah diimplementasikan dan profesionalisme. Salah satu metodologi adalah model spiral. Salah satu model adalah Metodologi spiral.Model spiral menggabungkan desain dan prototyping-in-faktor tahap pengembangan software yang sempurna proses berlangsung. Model spiral menggabungkan desain dan prototyping-in-faktor tahap pengembangan perangkat lunak berlangsung proses yang sempurna. Ia juga dikenal sebagai siklus spiral model yang menawarkan keuntungan dari top-down dan bottom-up konsep-konsep. Ia juga dikenal Siklus spiral Sebagai model yang menawarkan keuntungan dari top-down dan bottom-up konsep-konsep. SDM ini (metode pengembangan sistem) yang digunakan dalam bidang IT biasanya ditujukan untuk besar, rumit dan mahal proyek-proyek pengembangan perangkat lunak. SDM ini (metode pengembangan sistem) yang Digunakan dalam bidang IT biasanya ditujukan untuk besar, rumit dan mahal proyek-proyek pengembangan perangkat lunak.
6. Component Assembly Model
(CAM/Model Perakitan Komponen)
Model ini merupakan gabungan dari
berbagai sifat dan karakter dari model spiral Boehm dan sangat erat
keterikatannya dengan model RAD (Rapid Application Development) model karena
model CAM ini menggunakan peralatan-peralatan dan GUI (Graphic User Interface)
untuk membangun software. Dengan kata lain, pembuatan aplikasinya dibuat dari
paket perangkat lunak yang berisi serangkaian komponen yang telah ada
sebelumnya. Namun, waktu yang dibutuhkan dapat disesuaikan atau lebih efektif
ketimbang harus mengerjakan program dari awal.
Gambar 7. CAM
Tahapan-tahapan Model ini adalah:
Tahap Identifikasi calon-calon komponen (kelas objek);
Tahap melihat komponen-komponen dalam pustaka; Tahap mengekstrak komponen jika
ada; Tahap membangun komponen jika tidak ada; Tahap menyimpan komponen baru
pada pustaka; Tahap mengkonstruksi iterasi ke-n dari sistem.
Kelebihan
model ini adalah tinggal mencaplok atau menggunakan program atau komponen yang sudah
ada dan menyusunnya menjadi sebuah program yang lebih kompleks dan berkembang
sesuai dengan kebutuhan user/pengguna sehingga dapat mengefisienkan penggunaan
waktu dan tenaga. Selain itu, model ini juga menyediakan kemampuan untuk
memvisualisasikan hasil rakitan dengan kesanggupan untuk mengukur, menganalisa,
merancang dan merancang ulang program.
Kekurangan
model ini adalah seringnya program atau komponen-komponen terdahulu tidak kompatibel
atau sejalan dengan model perakitan komponen ini sehingga untuk perusahaan
berskala kecil akan kesulitan menemukan komponen yang sesuai untuk dirakit.
Model ini
sangat sesuai digunakan oleh perusahaan besar yang sudah
berpengalaman mengembangkan software. Mereka dapat memanfaatkan
software-software yang telah umum dikembangkan sebelumnya menjadi bentuk baru
dari software yang ingin dikomersilkan.
7. The Concurrent Development
Model
Model ini disebut juga dengan concurrent engineering
yang dapat digambarkan secara skematik sebagai serial dari kegiatan teknis
utama, tugas-tugas, dan hubungan antar bagian-bagian yang saling terkait di
mana aktifitas analisa seperti desain/rancangan atau komunikasi
pelanggan dapat diskemakan dengan cara yang sama.
Gambar 8. The Concurrent Development
Model
Concurrent
process model cocok digunakan untuk pengembangan aplikasi client/server
yang terdiri atas satu set komponen yang fungsional. Terdapat dua dimensi
aktivitas yang digambarkan oleh model ini sebagai berikut.
Dimensi
sistem: terdapat tiga proses di dalamnya yakni perancangan, perakitan (assembly)
dan penggunaan (use).
Dimensi
komponen: terdapat dua kegiatan utama yaitu perancangan dan realisasi.
Concurrency (pertemuan) dapat diperoleh dengan dua
cara: 1) sistem dan komponen kegiatan (aktifitas) terjadi secara simultan dan
dapat diperagakan dengan memanfaatkan pendekatan yang berdasar pada status
sebelumnya; 2) aplikasi client/server yang bersifat unik/khas di mana dapat
diterapkan pada banyak komponen yang tiap-tiap komponen bisa dirancang dan direalisasikan
secara serentak.
8. Formal Method Models
Pada model ini, digunakan notasi matematika yang
terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji
sistem yang berbasis komputer. Metode ini sering dipakai untuk spesifikasi yang
detail, rancangan dan verifikasi pada bagian-bagian sistem yang penting
(bersifat kritikal) seperti pada sistem avionic dan aerospace, serta pada
sistem keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai
Mandiri) dan pada perbankan.
Secara khusus, metode formal sangat cocok
dijalankan pada sistem yang kompleks.
9. Fourth Generation
Techniques/Model Teknik Generasi ke-4/4GT
Gambar 9. Model Teknik Generasi ke-4
Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan
perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang
pengembang software mengaplikasi beberapa karakteristik software pada tingkat
yang tinggi, yang akan menghasilkan source code dan object code
secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh
sang pengembang perangkat lunak.
Dewasa ini, 4GT tools dipakai sebagai bahasa non
prosedur untuk DataBase Query, Pembentukan laporan (Report Generation),
Manipulasi data, Definisi dan interaksi layar (screen), Pembentukan object
dan source ( Object and source generation ), Kemampuan grafik
yang tinggi, dan Kemampuan spreadsheet.
10.
THE
UNIFIED PROCESS
Gambar 2.9
menggambarkan "fase" dan berhubungan untuk kegiatan generik.
2.9
Tahap awal meliputi komunikasi pelanggan dan kegiatan perencanaan.
Dengan bekerja sama dengan para pemangku
kepentingan, kebutuhan bisnis untuk
perangkat lunak diidentifikasi; arsitektur
kasar untuk sistem ini diusulkan; dan rencana
untuk, sifat inkremental
iteratif proyek berikutnya
dikembangkan. Kebutuhan bisnis mendasar dijelaskan melalui
serangkaian kasus penggunaan awal
yang menggambarkan fitur dan fungsi masing-masing kelas utama dari pengguna keinginan.
Arsitektur pada saat ini tidak lebih dari garis tentatif
subsistem utama dan fungsi dan fitur yang mengisi
mereka. Kemudian, arsitektur
akan disempurnakan dan diperluas menjadi satu set model yang akan mewakili pandangan yang berbeda dari sistem. Perencanaan sumber
daya mengidentifikasi, menilai
risiko utama, mendefinisikan jadwal, dan menetapkan
dasar untuk fase yang
akan diterapkan sebagai kenaikan software dikembangkan.
Fase elaborasi meliputi kegiatan
komunikasi dan pemodelan model
proses generik (Gambar
2.9). Elaborasi memurnikan dan memperluas kasus
penggunaan awal yang dikembangkan
sebagai bagian dari tahap awal dan memperluas representasi arsitektur mencakup lima pandangan yang berbeda dari perangkat lunak-model use case, model
persyaratan, model desain, model pelaksanaan,
dan model penyebaran. Dalam beberapa kasus, elaborasi menciptakan "dasar arsitektur executable" [Arl02] yang merupakan
"potongan pertama" executable system. Baseline arsitektur
menunjukkan kelayakan arsitektur tetapi tidak menyediakan semua fitur dan fungsi
yang diperlukan untuk menggunakan sistem. Selain itu, rencana
tersebut ditinjau pada puncak dari fase elaborasi
untuk memastikan bahwa ruang lingkup,
risiko, dan tanggal
pengiriman tetap wajar.
Modifikasi rencana sering dilakukan saat ini.
Tahap konstruksi identik dengan kegiatan
konstruksi yang ditetapkan untuk proses
software generik. Menggunakan model arsitektur
sebagai input, tahap konstruksi mengembangkan atau mengakuisisi
komponen perangkat lunak yang akan
membuat setiap kasus penggunaan
operasional bagi pengguna akhir. Untuk
mencapai hal ini, persyaratan dan model desain yang
dimulai selama fase elaborasi selesai untuk
mencerminkan versi final dari
kenaikan software. Semua fitur dan fungsi yang diperlukan dan dibutuhkan untuk peningkatan
software (yaitu, rilis)
yang kemudian diimplementasikan dalam kode sumber. Sebagai komponen sedang dilaksanakan, tes unit dirancang dan
dilaksanakan untuk setiap. Selain
itu, kegiatan integrasi (komponen perakitan dan pengujian integrasi) dilakukan. Gunakan kasus digunakan
untuk menurunkan suite tes penerimaan yang dijalankan sebelum inisiasi tahap berikutnya.
Fase transisi meliputi tahap
terakhir dari kegiatan konstruksi generik dan bagian pertama dari penyebaran generik
(pengiriman dan umpan balik)
aktivitas. Software diberikan kepada pengguna akhir untuk pengujian beta dan umpan balik
pengguna laporan baik cacat dan perubahan
yang diperlukan. Selain itu, tim
perangkat lunak menciptakan informasi dukungan yang diperlukan (misalnya, buku petunjuk, panduan troubleshooting, prosedur instalasi) yang diperlukan
untuk rilis. Pada akhir fase transisi, selisih
perangkat lunak menjadi rilis software yang dapat digunakan.
Tahap produksi bertepatan dengan kegiatan penyebaran proses
generik. Selama fase
ini, penggunaan berkelanjutan
dari software ini dipantau, dukungan untuk lingkungan operasi (infrastruktur) yang disediakan, dan laporan cacat dan
permintaan untuk perubahan diserahkan
dan dievaluasi.
Sebuah alur kerja rekayasa perangkat lunak didistribusikan di seluruh fase. Dalam konteks, alur
kerja adalah analog dengan
seperangkat tugas (dijelaskan sebelumnya dalam bab ini). Artinya, alur kerja mengidentifikasi
tugas-tugas yang diperlukan untuk
mencapai suatu tindakan rekayasa
perangkat lunak penting dan
produk kerja yang dihasilkan sebagai konsekuensi dari berhasil
menyelesaikan tugas. Perlu
dicatat bahwa tidak setiap tugas
diidentifikasi untuk alur kerja dilakukan untuk setiap proyek software. Tim menyesuaikan
proses (tindakan, tugas, sub-tugas, dan
produk kerja) untuk memenuhi kebutuhannya.
Referensi
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/
http://dibyosusanto.blogspot.co.id/2015/08/model-proses-perangkat-lunak.html
https://roysarimilda.wordpress.com/2012/05/08/macam-macam-model-proses-rpl-dan penyelesaian-kasus/
http://fananiagung.blogspot.co.id/2014/09/model-proses-perangkat-lunak.html#.VgIvnayzCZl
http://andrenazar.blogspot.co.id/2015/11/model-proses-perangkat-lunak_11.html
http://rizkyahf.blogspot.co.id/2014/08/model-pengembangan-perangkat-lunak.html
http://aryapramana.blogspot.co.id/2011/09/model-proses-rekayasa-perangkat-lunak.html
http://bokdimal.blogspot.co.id/2013/03/model-model-proses-perangkat-lunak.html
http://kumpulanlukman.blogspot.co.id/2015/10/model-model-proses.html
sumber: Pressman ,Roger s. 2010 .software engineering 7th edition.
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/
http://dibyosusanto.blogspot.co.id/2015/08/model-proses-perangkat-lunak.html
https://roysarimilda.wordpress.com/2012/05/08/macam-macam-model-proses-rpl-dan penyelesaian-kasus/
http://fananiagung.blogspot.co.id/2014/09/model-proses-perangkat-lunak.html#.VgIvnayzCZl
http://andrenazar.blogspot.co.id/2015/11/model-proses-perangkat-lunak_11.html
http://rizkyahf.blogspot.co.id/2014/08/model-pengembangan-perangkat-lunak.html
http://aryapramana.blogspot.co.id/2011/09/model-proses-rekayasa-perangkat-lunak.html
http://bokdimal.blogspot.co.id/2013/03/model-model-proses-perangkat-lunak.html
http://kumpulanlukman.blogspot.co.id/2015/10/model-model-proses.html
sumber: Pressman ,Roger s. 2010 .software engineering 7th edition.







Bet365 casino app - JtmHub
BalasHapusBet365 offers its 서울특별 출장샵 customers a great experience on the 영천 출장마사지 go. We 성남 출장마사지 offer you a huge range of different 남양주 출장안마 live casino games and a range of casino 삼척 출장마사지 games to choose from.