SYSTEM
DEVELOPMENT LIFE CYCLE
System Development Life Cycle atau siklus hidup pengembangan perangkat lunak adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya , v model, incremental model, spiral model, concurrent development model, rapid application development, agile development, scrum model, dan specialized process model.
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.
- V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool 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. Userdari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap 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 activitydalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.
Incremental Model
Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.
Kelebihan
incremental model:
- Resiko yang rendah pada pengembangan sistem.
- Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
- Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
- Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
- Mampu mengakomodasi perubahan kebutuhan customer.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
- Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan incremental model:
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
- Hanya cocok untuk proyek dengan skala kecil.
- kemungkinan tiap bagian tidak dapat diintegrasikan.
Spiral Model
Spiral model diusulkan oleh Boehm pada tahun 1988 sebagai pendekatan alternative dari model waterfall. Model ini menggunakan fitur yang ada pada model waterfall dan prototype. Setiap tahapan model ini selalu dilakukan risk analisys dan verivikasi atau testing. Spiral model merupakan proses yang pendekatannya bersifat realistis pada software besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dengan 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.- Komunikasi Pelanggan.
- Perencanaan.
- Analisis resiko.
- Perekayasaan.
- Konstruksi dan Peluncuran.
- Evaluasi 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.
Concurrent Development Model
| Concurrent Development Model
disebut concurrent engineering, dapat direpresentasikan dengan skema sebagai
series dari kerangka aktifitas, aksi software engineering dan juga tugas.
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 CDM ini suatu skema modl yang mengimplementasikan suatu proses kerja yang di lakukan cepat namun di kerjakan secara bersama sama namun tetap efektif dalam menyelesaikan berbagai penyelesaian masalah sesuai permintaan customer.
Gambar The Condurrent
Development Model
Gambar diatas menunjukkan skematik dari satu aktivitas dengan concurrent process model. Aktivita analisa mungkin pada tiap orang mencatat bagian-bagian di setiap waktu. Dengan cara yang sama, aktivitas yang lain seperti komunikasi antara customer dapat digambarkan dengan cara yang sama. Concurrent process model sering digunakan sebagai paradigma untuk pengembangan aplikasi client/server. Sistem client/server terdiri atas satu set komponen yang fungsional. Ketika diaplikasikan untuk client/server, concurrent process model menggambarkan aktivitas di dua dimensi yaitu dimensi sistem dan dimensi komponen.
|
Rapid Application Development (RAD)
Kelebihan Model RAD
:
1. Cocok untuk
proyek yang memerlukan waktu yang singkat
2. Lebih
efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem
yang memenuhi kebutuhan langsung dari pelanggan.
Kekurangan model RAD
:
1.
Butuh orang banyak untuk menyelesaikan sebuah proyek berskala besar.
2.
Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan
sebuah software.
3.
RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang
tinggi.
4.
Jika sistem tidak dibangun dengan benar maka RAD akan bermasalah.
5.
Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat
kontrak baru antara pengembang dan customer.
Agile Development Methods
Agile Development Methods adalah sekelompok metodologi pengembangan
perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau
pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun. Agile development
methods merupakan salah satu dari Metodologi pengembangan perangkat
lunak yang digunakan dalam pengembangan perangkat lunak.
Ada beberapa langkah dalam Agile Development Methods, yaitu :
- Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari perangkat lunak yang akan dibuat.
- Implementasi, bagian dari proses dimana programmer melakukan pengkodean perangkat lunak.
- Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
- Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses dokumentasi perangkat lunak untuk mempermudah proses maintenanance kedepannya.
- Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
- Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala
Ada juga beberapa model dalam Agile Development Methods, seperti:
Acceptance Test Driven Development (ATDD), Agile Modeling, Adaptive Software
Development (ASD), Agile Unified Process (AUP), Continuous
integration (CI), Crystal Clear, Crystal Methods, Dynamic Systems
Development Method (DSDM), Extreme Programming (XP), Feature Driven
Development (FDD), Graphical System Design (GSD), Kanban, Lean
software development, Rational Unified Process (RUP), Scrum, Scrum-ban, Story-driven
modeling,Test-driven development (TDD), Velocity tracking, dan Software
Development Rhythms.
Kelebihan Metode Agile
Berikut ini
adalah kelebihan metode agile:
1)
Pembangunan system dibuat lebih cepat
2) Meningkatkan kepuasan kepada klien
3) Mengurangi resiko kegagalan implementasi software dari segi
non-teknis
4) Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi
materi relative kecil.
Kekurangan Metode Agile
Berikut ini
kekurangan metode agile:
1) Siap
menghadapi beberapa perubahan
2) Bekerja dengan cepat, jika tim tidak dapat menyesuaikan tidak akan
maksimal
3) Rencana awal dapat berubah se waktu-waktu
4) Jadwal tidak menentu
5) Jika tim tidak bisa komunikasi dengan baik maka akan terjadi
kemunduran
Dalam Agile Software Development interaksi dan personel lebih penting
dari pada proses dan alat, software yang berfungsi lebih penting daripada
dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada
negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada
mengikuti rencana.
Pada intinya, Agile Development Methods sangat membantu para pengembang
perangkat lunak dalam melakukan penyerahan produk secara tepat waktu dari suatu
tahap operasional perangkat lunak yaitu pada bagian analisa dan desain.
Scrum Model
Scrum Pada dasarnya merupakan salah satu
komponen dari Agile development methods. Akhir-akhir ini scrum mulai marak di
implementasikan di perusahaan IT di Indonesia, dikarenakan maraknya perusahaan
IT mengimplementasikan agile development. Scrum menguraikan proses untuk
mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan,
memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil
pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan
memiliki tujuan utama untuk mendapatkan perkiraan berapa lama development akan
dilakukan.
Scrum merupakan suatu kerangka kerja. Jadi,
bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang
harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan
perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana
cara terbaik untuk memecahkan masalah
Element-Element dalam Scrum
Ada 3 elemen organisasi utama pada scrum yaitu
product owner, Scrum master, dan the Scrum team.
- Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat.
- Scrum Master dapat dianggap sebagai pemersatu bagi product owner dan scrum team (developer, QA, technical wirter dll), membantu anggota tim menggunakan kerangka Scrum untuk menyelesaikan suatu project berdasarkan timeline yang ditentukan di awal.
- Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil
Scrum tepat digunakan saat kondisi:
1.
Keperluan berubah dengan cepat
2.
Tim programmer sedikit, yaitu 5-9 orang
3.
Pelanggan tidak terlalu paham dengan apa yang diinginkan
Scrum memiliki prinsip yaitu:
1.
Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya,
dan memberdayakan satu sama lain
2.
Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
3.
Proses menghasilkan beberapa software increment
4.
Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
5.
Dokumentasi dan pengujian terus menerus dilakukan setelah software
dibangun
6.
Proses scrum mampu menyatakan bahwa produk selesai kapanpun
diperlukan
Kelebihan Scrum antara lain:
·
Keperluan berubah
dengan cepat
·
Tim berukuran kecil
sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama
lain
·
Pekerjaan terbagi-bagi
sehingga dapat diselesaikan dengan cepat
·
Dokumentasi dan
pengujian terus menerus dilakukan setelah software dibangun
·
Proses Scrum mampu
menyatakan bahwa produk selesai kapanpun diperlukan
Kelemahan Scrum antara lain:
· Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Specialized Process
Models
1.
Component-Based
Development
Variasi model spiral dimana aplikasi dibangun dari komponen
software dikemas disebut kelas.
2.
Formal Methods Model
notasi matematika yang ketat yang digunakan untuk
menentukan, desain, dan memverifikasi sistem berbasis computer.
3.
Aspect-Oriented
Programming
menyediakan
sebuah proses untuk mendefinisikan, menentukan, merancang, dan membangun aspek
perangkat lunak seperti antarmuka pengguna, keamanan, dan manajemen memori yang
mempengaruhi banyak bagian dari sistem yang dikembangkan.
Kelebihan Specialized
Process Models
·
Client bisa mendapatkan
fungsionalitas yang sudah dapat digunakan lebih dini dari pada menggunakan
model waterfall.
·
Feedback yang diterima lebih
dini dapat meningkatkan peluang untuk membangun produk yang dapat memuaskan
client.
·
Kualitas produk final lebih
baik
- Fungsi inti dari suatu sistem yang akan dibangun sudah
dikembangkan dan diuji dari awal.
- Dari setiap perilisan hanya sebagian fungsi kecil yang
ditambahkan agar mempermudah untuk menguji dan memperbaiki dikedepannya.
- Dapat mendeteksi masalah pada desain lebih awal jadi masih ada
kesempatan untuk mendesain ulang.
Kekurangan Specialized Process Models
·
Model ini mengharus untuk
menyelesaikan suatu tahapan terlebih dahulu sebelum melanjutkan ke
tahapan-tahapan berikutnya.
·
Keseluruhan fungsionalitas
sistem yang telah dikembangkan hanya dapat diuji diakhir tahapan.
·
Tidak diperbolehkan melakukan
prototype pada model ini.
REFERENSI
1. http://www.markijar.com/2015/04/kelebihan-dan-kekurangan-model-proses.html
2. https://www.academia.edu/10658998/Kelebihan_Dan_Kekurangan_Dari_Macam-Macam_Model_Pengembangan_Perangkat_Lunak?auto=download
3. https://sites.google.com/a/student.unsika.ac.id/metodologi-penelitian-septian-maulana-1141177004039/documents/metode-the-concurrent-development-model
4. http://tinta-merahputih.blogspot.com/2012/04/keuntungan-dan-kerugian-scrum.html
5. http://awangherlambang.blogspot.com/2015/08/kelebihan-dan-kekurangan-model-proses.html
6. https://brainly.in/question/1351651










Comments
Post a Comment