Kamis, 03 Januari 2019

MATERI SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) SERTA MODELNYA

System Development Life Cycle disingkat dengan SDLC. SDLC merupakan siklus pengembangan sistem. Pengembangan sistem teknik (engineering system development). SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam empat kegiatan utama, yaitu initiation, analysis, design dan implementation.
Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya (deliverable).
SDLC didefinisikan oleh Departemen Kehakiman AS sebagai sebuah proses pengembangan software yang digunakan oleh analyst system, untuk mengembangkan sebuah sistem informasi. SDLC mencakup kebutuhan (requirement), validasi, pelatihan, kepemilikan (user ownership) sebuah sistem informasi yang diperoleh melalui investigasi, analisis, desain, implementasi, dan perawatan software. Softwareyang dikembangkan berdasarkan SDLC akan menghasilkan sistem dengan kualitas yang tinggi, memenuhi harapan penggunanya, tepat dalam waktu dan biaya, bekerja dengan efektif dan efsien dalam infrastruktur teknologi informasi yang ada atau yang direncanakan, serta murah dalam perawatan dan pengembangan lebih lanjut.
SDLC meliputi tahapan berikut:
1.System initiation ialah perencanaan awal untuk sebuah proyek guna mendefinisikan lingkup,          tujuan, jadwal dan anggaran bisnis awal yang diperlukan untuk memecahkan masalah atau kesempatan yang direpresentasikan oleh proyek. Lingkup proyek mendefinisikan area bisnis yang akan ditangani oleh proyek dan tujuan-tujuan yang akan dicapai. Lingkup dan tujuan pada akhirnya berpengaruh pada komitmen sumber yaitu jadwal dan anggaran yang harus dibuat supaya berhasil menyelesaikan proyek.
2.System analysis ialah studi domain masalah bisnis untuk merekomendasikan perbaikan dan menspesifikasikan persyaratan dan prioritas bisnis untuk solusi. Analisis system ditujukan untuk menyediakan tim proyek dengan pemahaman yang lebih menyeluruh terhadap masalah-masalah dan kebutuhan-kebutuhan yang memicu proyek. Area bisnis dipelajari dan dianalisis untuk memperoleh pemahaman yang lebih rinci mengenai apa yang bekerja, apa yang tidak bekerja dan apa yang dibutuhkan.
3.System design ialah spesifikasi atau konstruksi solusi yang teknis dan berbasis komputer untuk persyaratan bisnis yang diidentifikasikan dalam analisis sistem. Selama desain sistem, pada awalnya akan mengekspolarasi solusi teknis alternatif. Setelah alternatif solusi disetujui, fase desain sistem mengembangkan cetak biru (blueprint) dan spesifikasi teknis yang dibutuhkan untuk mengimplementasikan database, program, antarmuka pengguna dan jaringan yang dibutuhkan untuk sistem informasi,
4.System implementation ialah konstruksi, instalasi, pengujian dan pengiriman sistem ke dalam produksi (artinya operasi sehari-hari). Implementasi sistem mengontruksi sistem informasi baru dan menempatkannya ke dalam operasi, selanjutnya dilaksanakan pengujian.
Model System Development Life Cycle (SDLC) terdiri dari :
1. SDLC Tradisional Model

Pendekatan sistem adalah sebuah metodologi. Metodologi adalah suatu cara yang direkomendasikan dalam melakukan sesuatu. Pendekatan sistem adalah metodologi dasar dalam memecahkan segala jenis masalah. Siklus hidup pengembangan sistem (System Development Life Cycle-SDLC) adalah aplikasi dari pendekatan sistem bagi pengembangan suatu sistem informasi.
Beberapa pendekatan pengembangan sistem adalah :
1.SDLC tradisional
2.Prototyping
3.Rapid Application Development
4.Business Process Redesign
2. Agile DevelopmentModel SDLC

Agile development adalah sebuah filosofi dan serangkaian panduan untuk mengembangkan sistem informasi di dalam lingkungan yang sering berubah dan dapat digunakan dengan metodologi pengembangan sistem apapun. Metodologi agile adalah sebua filosofi tentang bagaimana membangun model, beberapa diantaranya formal dan detil, namun yang lainnya hanya berupa sketsa dan sangat ringkas.
Nilai-nilai dari Agile Development :
Filosofi agile menggunakan pendekatan yang fleksibel terhadap jadwal proyek dan memberikan kesempatan bagi tim proyek untuk merencanakan dan menjalankan pekerjaan mereka sesuai dengan perkembangan proyek. Filosofi utama dalam pengembangan agile adalah
1. Value responding to change over following a plan
2. Value individuals and interactions over processes and tools
3. Value working software over comprehensive documentation
4. Value customer collaboration over contract negotiation
Di dalam proyek yang menggunakan filosofi agile dikenal istilah “chaordic” atau “chaos” dan “order”. Filosofi agile menyadari ketidakpastian ini, penanganan dengan meningkatkan flesibilitas dan mempercayakan tim proyek untuk mengembangkan solusi terhadap masalah yang ada. Aspek penting lainnya dalam pengembangan Agile adalah pelanggan harus secara terus terlibat di dalam tim proyek. Mereka tidak bisa hanya duduk dengan tim proyek dalam beberapa sesi untuk mengembangkan spesifikasi. Mereka menjadi bagian dari tim teknis.
3. Waterfall Model SDLC

Waterfall adalah pendekatan SDLC paling awal yang digunakan untuk pengembangan perangkat lunak. Hal ini juga disebut sebagai model SDLC linear-sekuensial. Hal ini sangat sederhana untuk memahami dan menggunakanya dalam mengimplementasikan sebuah sistem.
Dalam Model Waterfall, setiap tahap harus berurutan, dan tidak dapat meloncat ketahap berikutnya, harus menyelesaikan tahap pertama baru lanjut ke tahap ke dua dst.
Langkah-langkah Waterfall SDLC :
Pendekatan Waterfall digunakan secara luas dalam Pengembangan sistem, step-step nya terdiri dari :
1.Requirement Gathering and analysis – Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
2.System Design – Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap
3.Implementation – Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
4.Integration and Testing – Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing)
5.Deployment of system –  Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
6.Maintenance – Proses pemeliharaan sistem yang sudah dibangun
Kelebihan Waterfall Model :
Keuntungan dari Waterfall model adalah Jadwal dapat diatur dengan tenggat waktu untuk setiap tahap pengembangan dan produk dapat dilanjutkan melalui proses pengembangan model fase satu per satu. Pembangunan bergerak dari konsep, melalui desain, implementasi, pengujian, instalasi, pemecahan masalah, dan berakhir di operasi dan pemeliharaan
Berikut Keuntungan lainya dari Waterfall Model :
1.Simple, mudah dimengerti dan di implemetasikan
2.Mudah untuk mengelola karena model yang sederhana. Setiap fase memiliki spesifik              requirement dan proses review
3.Fase diproses dan diselesaikan satu per satu
4.Cocok untuk project skala kecil dimana kebutuhan project dapat mudah dimengerti
5.Jelas dalam mendefinisikan setiap tahap
6.Mudah menentukan pencapaian suatu sistem
7.Mudah dalam menentukan tugas setiap individu
8.Proses pendokumentasian lebih mudah.
Kekurangan Waterfall Model :
Kerugian dari Waterfall model adalah tidak memungkinkan banyak refleksi atau revisi. Setelah aplikasi dalam tahap pengujian, sangat sulit untuk kembali dan mengubah sesuatu yang tidak terdokumentasi dengan baik atau pikiran pada dalam tahap konsep.
Berikut Kerugian lainya dari Waterfall Model:
1.Aplikasi yang dihasilkan cenderung lama karena step-step tidak dapat dilongkap
2.Resiko yang tinggi karena proses nya terlalu lama
3.Tidak cocok untuk project yang terlalu complex dan Object Oriented Projects
4.Tidak cocok untuk project jangka lama dan untuk project yang sedang berjalan
5.Tidak cocok untuk project yang mudah berganti-ganti model proses
6.Sulit untuk mengukur kemajuan dalam tahap
7.Integrasi dilakukan sebagai “big-bang. Di akhir, yang tidak memungkinkan mengidentifikasi      setiap teknologi atau bisnis hambatan atau tantangan awal.
4. Scrum Model SDLC

Scrum Pada dasarnya merupakan salah satu komponen dari metodologi pengembangan sistem Agile . Akhir-akhir ini scrum mulai marak di implemntasikan 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.
Ada 3 elemen organisasi utama pada scrum yaitu
1.Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat.
2.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.
3.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
5. Iterative Model SDLC
Dalam Iterative model SDLC, proses iterative dimulai dengan implementasi sederhana dari komponen kecil dari software sampai dengan meningkatkan versi dari sebuah software dengan update-updateanya sehingga software siap digunakan ke user.di setiap Iterative nya, perubahan baik design maupun fungsi ditambahkan. Ide dasar di balik metode ini adalah untuk mengembangkan sistem melalui siklus berulang (iterative) dan dalam porsi kecil di setiap updatetanya.
Spesifikasi Iterative Model
Seperti model SDLC lainya, Iterative model memiliki spesifikasi khusus di dalan industri software. Model ini paling sering digunakan dalam kondisi seperti:
1.Requirement sistem dan design harus jelas dan mudah di pahami.
2.Persyaratan Utama harus didefinisikan, namun nantinya akan ada request baru untuk 3.penambahan fungsi pada saat sistem sedang berjalan.
4.Teknologi yang sedang digunakan dalam pengembangan software bisa diganti apabila ada  teknologi baru yang lebih bagus.
5.Ada beberapa fitur berisiko tinggi dan tujuan yang mungkin berubah di masa depan.
Kelebihan dari Iterative Model SDLC :
1.Beberapa fungsi dapat di kembangkan dengan cepat di awal pembuatan versi baru.
2.hasil yang di peroleh secara berkala
3.Kemajuan sebuah sistem dapat di ukur
4.Development software mudah di rencanakan
5.Biaya yang dikeluarkan kecil apabila ingin merubah requirement
6.Testing dan debugging selama proses iterasi lebih mudah.
7.Analisis resiko yang lebih baik
8.Mendukung perubahan requirement
9.Waktu operasional yang lebih singkat
10.Cocok untuk project besar
Kekurangan dari Iterative Model SDLC :
1.Membutuhkan resource yang cukup banyak
2.Meski biaya perubahan rendah, tetapi sangat tidak cocok untuk mengubah persayaratan
3.Memerlukan Perhatian manajemen
4.Permasalahan sistem arsitektur dan desain mungkin akan timbul, karena tidak semua 5.persyaratan di tentukan di awal pengambangan sistem.
6.tidak cocok untuk project kecil
7.Kompleksitas manajemen
8.Membutuhkan tenaga ahli untuk analisis resiko yang timbul
6. Spiral Model SDLC

Model Spiral SDLC adalah sebuat metode pengabungan antara Iterative Model dengan Waterfall Model. dengan penekanan yang tinggi pada analisis resiko yang akan di hadapi. Spiral model bertujuan untuk meningkatkan tingkat keberhasilan pada saat pengembangan suatu sistem.
Spiral model memiliki 4 fase utama yaitu :
1.Identification
Pada fase ini bertujuan untuk mengumpulkan kebutuhan bisnis di dasar spiral, Dalam spiral berikutnya disebut sebagai produk deawsa. Identifikasi persyaratan sistem, persyaratan subsistem, persyaratan unit dilakukan pada fase ini. Fase ini juga mencakup komunikasi antar sistem analis dengan klien.
2.Design
Pada fase ini dimulai dengan desain konseptual di dasar spiral dan melibatkan
desain arsitektur, desain logis dari modul, desain produk fisik dan desain akhir
dalam spiral berikutnya.
3.Construct or Build
Pada fase ini  mengacu produksi produk perangkat lunak yang sebenarnya di setiap spiral.
4.Evaluation and Risk Analysis
Pada fase ini  mengidentifikasi, memperkirakan dan memantau kelayakan teknis dan risiko manajemen, seperti jadwal selip dan biaya lebih. Setelah pengujian sistem, akhir dari iterasi klien akan mengevaluasi produk yang sudah dibangun dan akan memberikan feedback.
Berdasarkan evaluasi pelanggan, proses pengembangan perangkat lunak memasuki tahap iterative  kemudian mengikuti pendekatan linier untuk menyelesaikan hasil feedback klien Proses iterasi sepanjang spiral berlanjut sepanjang development life cycle.
Berikut adalah spesifikasi dari Spiral Model:
1.Penting saat ada kendala anggaran dan evaluasi resiko
2.Untuk project beresiko menengah – tinggi
3.Pelanggan tidak yakin kebutuhan mereka yang biasanya terjadi.
4.Perubahan signifikan diharapkan dalam produk selama siklus pengembangan sistem
5.Persyaratan yang kompleks dan perlu evaluasi untuk mendapatkan kejelasan
Kelebihan dari Spiral Model
1.Perubahan kebutuhan dapat diakomodir.
2.Persyaratan dapat diketahui lebih akurat.
3.Pengguna dapat melihat sistem awal.
4.Pembangunan dapat dibagi menjadi bagian-bagian yang lebih kecil dan bagian-bagian yang 5.berisiko dapat dikembangkan sebelumnya yang membantu dalam manajemen risiko yang lebih baik
Kekurangan dari Spiral Model :
1.Manajemen lebih kompleks.
2.Akhir proyek mungkin tidak diketahui di awal.
3.Tidak cocok untuk proyek-proyek berisiko kecil atau rendah dan bisa menjadi mahal untuk  proyek-proyek kecil.
4.Proses yang kompleks
5.Spiral mungkin berlangsung tanpa batas.
7. V Model SDLC

the V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
Ilustrasi berikut menggambarkan berbagai tahap dalam V-Model SDLC.
Kelebihan dari V-Model SDLC :
1.Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
2.Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
3.Sederhana dan mudah dimengerti dan digunakan.
4.Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
Kekurangan dari V-Model SDLC
1.Berisiko tinggi dan ketidakpastian.
2.Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
3.Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
4.Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
5.Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.
8. SDLC Big Bang Model

Pengertian dari SDLC Big Bang Model adalah Dimana kita tidak mengikuti proses tertentu. Perkembangan hanya dimulai dengan uang dan usaha yang dibutuhkan sebagai masukan, dan hasilnya adalah perangkat lunak yang dikembangkan yang mungkin atau mungkin tidak sesuai dengan kebutuhan pelanggan. Model Big Bang ini tidak mengikuti dan hanya ada sedikit perencanaan yang diperlukan. Bahkan pelanggan pun tidak yakin dengan apa yang sebenarnya dia inginkan dan persyaratannya diimplementasikan dengan cepat tanpa banyak analisis.biasanya model ini di implementasi untuk proyek kecil dimana tim developernya sangat sedikit.
Spesifikasi Big Bang Model SDLC :
1Model Big Bang terdiri dari memfokuskan semua sumber daya yang mungkin dalam pengembangan perangkat lunak dan pembuatan code / coding, dengan perencanaan yang sangat sedikit atau tidak sama sekali. Requirement yang dibutuhkan terkadang datang pada saat pembuatan code. Setiap perubahan yang diperlukan mungkin atau mungkin tidak perlu mengubah perangkat lunak yang lengkap. Big Bang Model ini sangat ideal untuk proyek kecil dengan satu atau dua pengembang yang bekerja sama dan juga berguna untuk pembelajaran atau project-project yang sangat kecil
Keuntungan Big Bang Model antara lain:
1.Model yang sangat sederhana
2.Sedikit atau tidak ada perencanaan yang dibutuhkan
3.Mudah dikelola
4.Sangat sedikit sumber daya yang dibutuhkan
5.Memberikan fleksibilitas kepada pengembang
6.Bagus untuk developer yang ingin belajar atau developer pendatang baru.
Kekurangan Big Bang Model antara lain:
1.Beresiko tinggi dan kepastian dari requirement yang tidak jelas
2.Tidak cocok untuk project skala besar dan berorientasi objek
3.Model yang buruk untuk proyek yang panjang dan sedang berlangsung.
4.Bisa berubah menjadi sangat mahal jika persyaratan disalahpahami
9. Rational Unified Process (RUP Model) SDLC

Rational Unified Process (RUP) Menurut IBM adalah kerangka proses yang menyediakan simulasi sistem pada industri untuk sistem, software, implementasi, dan manajemen proyek yang efektif. RUP adalah salah satu dari sekian banyak proses yang terdapat di dalam Rational Process Library, yang memberikan simulasi terbaik untuk pengembangan atau kebutuhan proyek. RUP mempunyai beberapa tahapan, yaitu :
a.Inception
b.Elaboration
c.Construction
d.Transition
10. Prototype Model SDLC

Prototyping menjadi sangat populer sebagai model pengembangan software, karena Memungkinkan untuk memahami kebutuhan pelanggan pada tahap awal pengembangan. Ini membantu mendapatkan feedback yang berharga dari pelanggan dan membantu developer memahami apa sebenarnya yang diharapkan dari produk yang sedang dikembangkan.Prototyping digunakan untuk memungkinkan client/user mengevaluasi sistem yang di rancang di awal oleh developer dan mencobanya sebelum di implementasikan. Hal ini dapat membantu memahami persyaratan pembangunan sistem yang spesifik oleh user dan mungkin belum implementasikan oleh developer selama perancangan produk.
Kelebihan Prototype :
1.Meningkatnya keterlibatan pengguna dalam produk bahkan sebelum diimplementasi
Karena model sistem yang di bangun di share ke user, maka user mendapatkan pemahaman    yang lebih baik tentang sistem yang sedang dikembangkan.
2.Mengurangi waktu dan biaya karena cacat dapat dideteksi jauh lebih awal.
3.Feedback user yang cepat di awal dapat memberikan solusi yang lebih baik
4.Fungsi yang tidak ada dapat diidentifikasi dengan mudah dan cepat
5.Fungsi yang membingungkan dapat di hilangkan
Kekurangan Prototype :
1.Risiko analisis kebutuhan yang tidak mencukupi karena terlalu banyak ketergantungan pada  Prototipe
2.Pengguna mungkin bingung dalam prototipe dan sistem sebenarnya.
3.Upaya yang diinvestasikan dalam membangun prototip mungkin terlalu banyak jika tidak  dipantau tepat.
4.Pengembang dapat mencoba untuk menggunakan kembali prototipe yang ada untuk membangun sistem yang sebenarnya, Bahkan bila hal itu tidak layak secara teknis.
11. RAD (Rapid Application Development) Model SDLC

RAD (Rapid Application Development) Adalah metodologi pengembangan perangkat lunak (SDLC) yang menggunakan pengabungan antara Prototype Model dengan Iterative Model. Prototipe adalah model kerja yang secara fungsional setara dengan komponen produk.
Dalam model RAD (Rapid Application Development), modul fungsional dikembangkan secara paralel sebagai prototip dan terintegrasi untuk membuat produk yang lengkap untuk pengiriman produk yang lebih cepat. Dikarenakan tidak ada rincian planning yang detail, maka memudahkan untuk melakukan perubahan pada saat development berjalan.
Kelebihan RAD (Rapid Application Development) :
1.Mudah mengakomodasi peruabahan sistem
2.Progress development bisa di ukur
3.Waktu iterasi bisa di perpendek menggunakan RAD Tools
4.Mengurangi waktu development
5.Mudah dalam menentukan dasar sistem
6.Mempermudah feedback customer
7.Cocok untuk proyek yang membutuhkan waktu pengembangan yang lebih pendek.
8.Cocok untuk sistem yang berbasis komponen dan terukur.
Kekurangan RAD (Rapid Application Development) :
1.Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis
2.Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
3.Membutuhkan developer / designer yang berpengalaman
4.Ketergantungan pada keterampilan model
5.Kompleksitas manajemen
6.Tidak dapat diterapkan pada proyek yang kecil / murah
12. Unified Process (UP) Model SDLC

Unified Process (UP) adalah metodologi pengembangan sistem berbasis objek. Metode ini sudah menjadi salah satu metode yang banyak digunakan dalam pengembangan sistem berorientasi objek. UP memperkenalkan pendekatan baru untuk siklus hidup pengembangan sistem yang menggabungkan perulangan (iterations) dan tahapan (phases) yang disebut dengan siklus hidup UP (UP life cycle). UP mendefinisikan empat tahapan siklus hidup yaitu inception, elaboration, construction, dan transition.

Tidak ada komentar:

Posting Komentar