Oleh:
Muhammad Rikzan
Sistem Informasi 2019A
19051214014
Sistem Informasi
Universitas Negeri Surabaya
Model - Model SDLC (System Development Life Cycle)
1. Tradional Model
• Analisis
Tujuan dari tahap analisis adalah memahami permasalahan secara menyeluruh
dan mendefinisikan kebutuhan pemakai (apa yg harus dilakukan oleh sistem utk
memenuhi keinginan pemakai). Tahap analisis terdiri dari :
• Perancangan
Tujuan dari tahap perancangan adalah menentukan solusi yang dapat memenuhi
kebutuhan informasi pemakai yang sudah didefinisikan dan membuat suatu
model implementasi yang akan dibangun kemudian. Tahap perancangan terdiri
dari :
• Implementasi
Tujuan tahap implementasi adalah mendapatkan sistem informasi sesuai dengan
kebutuhan pemakai.
Tahapan implementasi tesdiri dari :
1. Merencanakan penerapan
2. Mengumumkan penerapan
3. Mendapatkan sumber daya HW
4. Mendapatkan sumber daya SW
5. Menyiapkan basis data
6. Menyiapkan fasilitas fisik
7. Pelatihan pemakai
8. Masuk/peralihan ke sistem baru
• Penggunaan
Tujuan tahap penggunaan adalah menjaga agar sistem tetap beroperasi secara
normal, dapat mengantisipasi penyimpangan yang mungkin dialami sistem dan
melakukan evaluasi sistem.
2. Agile Development Model
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.
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.
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
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:
• Keperluan berubah dengan cepat
• Tim programmer sedikit, yaitu 5-9 orang
Kunci dari keberhasilan dari Iterative model SDLC (Software development life
cycle) adalah validasi kebutuhan yang ketat dan melakukan testing yang detail di
setiap version dari sebuah software. Sebuah update version software pastinya
harus memberikan fitur-fitur baru yang membuat software tersebut menjadi
semakin baik, untuk dari itu versi software terbaru harus dilakukan testing yang
berulang-ulang agar fungsi lama nya tetap berjalan dengan baik.
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.
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.
The V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi
secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan
Validasi.
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.
2) System Design
Setelah Anda memiliki persyaratan produk yang jelas dan rinci, sekarang
saatnya untuk merancang
sistem yang lengkap. Desain sistem akan memiliki pemahaman dan merinci
hardware lengkap dan setup komunikasi untuk produk dalam pengembangan.
Rencana pengujian sistem dikembangkan berdasarkan desain sistem.
Melakukan hal ini pada tahap awal membuat lebih banyak waktu untuk
pelaksanaan tes yang sebenarnya nanti
3) Architectural Design
spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Biasanya lebih dari
satu pendekatan teknis diusulkan dan berdasarkan kelayakan teknis dan
finansial keputusan akhir diambil. Desain sistem dipecah lebih jauh ke dalam
modul mengambil fungsi yang berbeda. Hal ini juga disebut sebagai “Desain
Tingkat Tinggi”
4) Module Design
Pada fase ini, desain internal rinci untuk semua modul sistem yang ditentukan,
disebut “Desain Tingkat Rendah”. Penting bahwa desain tersebut kompatibel
dengan modul lain dalam arsitektur sistem dan sistem eksternal lainnya.
5) Coding Phase
Bahasa pemrograman yang paling cocok ditentukan berdasarkan sistem dan
persyaratan arsitektur. pengkodean dilakukan berdasarkan pedoman coding dan
standar. Kode berjalan melalui berbagai ulasan kode dan dioptimalkan untuk
kinerja terbaik sebelum final membangun diperiksa ke dalam repositori
Fase Validasi berbeda dalam V-Model dijelaskan secara rinci di bawah ini:
– Unit Testing
unit testing adalah pengujian pada tingkat kode dan membantu menghilangkan
bug pada tahap awal, meskipun semua cacat tidak dapat ditemukan oleh unit
testing.
– Integration Testing
Integration testing dikaitkan dengan fase desain arsitektur. tes integrasi
dilakukan untuk menguji koeksistensi dan komunikasi dari modul internal dalam
sistem.
– System Testing
System testing secara langsung berhubungan dengan tahap desain sistem.
System testing memeriksa seluruh fungsi sistem dan komunikasi sistem dalam
pengembangan dengan sistem eksternal. Sebagian besar perangkat lunak dan
perangkat keras masalah kompatibilitas dapat ditemukan selama pelaksanaan
test ini
– Acceptance Testing
Acceptance testing dikaitkan dengan tahap analisis kebutuhan bisnis dan
melibatkan pengujian produk di lingkungan pengguna. Acceptance testing
mengungkap masalah kompatibilitas dengan sistem lain yang tersedia di
lingkungan pengguna. Juga menemukan masalah non-fungsional seperti beban
dan kinerja cacat pada aktual lingkungan pengguna.
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.
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 dan Kelebihan Big Bang Model SDLC
Keuntungan dari Model Big Bang ini adalah sangat sederhana dan memerlukan
perencanaan yang sangat sedikit atau tidak sama sekali. Mudah untuk
mengelola dan tidak ada prosedur formal yang diperlukan.
Namun Big Bang model ini sangat beresiko tinggi dikarenakan dipastikan
seringnya terjadi perbuhaan mengakibatkan kesalah pahaman antar developer
yang mengerjakan project tersebut. Ini sangat ideal untuk proyek berulang atau
kecil dengan risiko minimum.
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 :
1. Inception
merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan.
Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem
existing, perumusan sistem target, penentuan arsitektur global target, identifikasi
kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI,
dll), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi,
fungsionalitas, keamanan, dll), UML diagram, dan pembuatan dokumentasi.
2. Elaboration
merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil
analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain
mencakup pembuatan desain arsitektur subsistem (architecture pattern), desain
komponen sistem, desain format data (protokol komunikasi), desain database,
desain user interface, pemodelan diagram UML (diagram sequence, class,
component, deployment, dll.), dan pembuatan dokumentasi
3. Construction
merupakan tahap untuk mengimplementasikan hasil desain dan melakukan
pengujian hasil implementasi. Pada tahap awal construction, ada baiknya
dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada
sequence diagram, class diagram, component dan deployment. Apabila desain
yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan
bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada
tahap ini antara lain mencakup pengujian hasil analisis dan desain, pendataan
kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di
tahap analisis), penentuan coding pattern yang digunakan, pembuatan program,
pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan
atau perbaikan lebih lanjut, dan pembuatan dokumentasi.
4. Transition
merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out),
yang umumnya mencakup pelatihan dan beta testing aplikasi
Aliran Kerja Rational Unified Process (RUP)
RUP juga mempunyai aliran kerja yang terbagi menjadi dua bagian, yaitu: Aliran
kerja utama dan Aliran kerja pendukung, dimana keduanya merupakan suatu
kesatuan dalam proses pengembangan sistem (SDLC)
2. Requirements Tujuan utama pada fase ini adalah menyusun sistem apa yang
seharusnya ada dan mengapa perlu dibuat, mendefinisikan batas dari sistem,
melihat kemungkinan ancaman keamanan serta bagaimana cara
penanggulangannya, dan mengestimasi biaya dan skala waktu yang rumit. Isi
dari sistem dibangun yang kemudian diterjemahkan kedalam use case model
dengan tambahan spesifikasi kebutuhan. Baik kebutuhan fungsional dan
nonfungsional akan dikumpulkan dan dianalisis. Kebutuhan user dan stakeholder
serta fitur high-level didefinisikan dan kemudian diubah menjadi specific software
requirements.
3. Analysis and Design Pada fase ini, semua requirement pada tahap kedua
akan diubah menjadi spesifikasi implementasi.
4. Implementation Pada tahap ini, semua analisa dan desain yang telah dibuat
pada fase sebelumnya akan diimplementasikan dan diterjemahkan menjadi kode
program.
Kelebihan Prototype
• 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.
• Mengurangi waktu dan biaya karena cacat dapat dideteksi jauh lebih awal.
• Feedback user yang cepat di awal dapat memberikan solusi yang lebih baik
• Fungsi yang tidak ada dapat diidentifikasi dengan mudah dan cepat
• Fungsi yang membingungkan dapat di hilangkan
Kekurangan Prototype
• Risiko analisis kebutuhan yang tidak mencukupi karena terlalu banyak
ketergantungan pada Prototipe
• Pengguna mungkin bingung dalam prototipe dan sistem sebenarnya.
• Upaya yang diinvestasikan dalam membangun prototip mungkin terlalu banyak
jika tidak dipantau tepat.
• 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
2) Elaboration phase
Fase elaborasi biasanya melibatkan beberapa iterasi, dan iterasi awal biasanya
menyelesaikan identifikasi dan definisi dari semua persyaratan sistem. Karena
UP adalah pendekatan adaptif untuk pembangunan, persyaratan diharapkan
berkembang dan berubah setelah dimulainya proyek. Tahapan iterasi pada
elaborasi juga melengkapi analisis, desain, dan pelaksanaan arsitektur inti
sistem. Biasanya, aspek dari sistem yang menimbulkan resiko terbesar
diidentifikasi dan dilaksanakan terlebih dahulu sampai pengembang mengetahui
persis bagaimana aspek tertinggi resiko proyek akan bekerja. Pada akhir fase
elaborasi, manajer proyek harus memiliki perkiraan yang lebih realistis untuk
biaya proyek dan jadwal, dan kasus bisnis atas proyek dapat dikonfirmasi
terlebih dahulu.
Salah satu tujuan utama dari fase elaborasi adalah untuk melakukan penelitian
yang diperlukan data atau fakta sehingga semua kebutuhan pengguna
diidentifikasikan secara jelas dan rinci.
3) Construction phase
Tahap konstruksi melibatkan beberapa iterasi yang meneruskan atau
melanjutkan desain dan implementasi sistem. Arsitektur inti dan aspek tertinggi
resiko sistem sudah selesai pada tahap ini. Fokus utama di dalam tahap ini
adalah bagaimana merinci sistem kontrol, seperti validasi data, fine-tuning antar
muka pengguna desain, menyelesaikan fungsi pemeliharaan data rutin, dan
menyelesaikan bantuan serta preferensi penggunaan fungsi.
4) Transistion phase
Selama fase transisi atau tahap akhir dari UP, satu atau lebih iterasi akhir yang
melibatkan penerimaan pengguna (end users), beta tes akhir, dan sistem dibuat
siap untuk dioperasikan. Setelah sistem ini beroperasi, maka akan perlu
didukung dan dipertahankan fungsi kegunaan dari sistem tersebut.
Unified Process Discipline (UDP)
Unified Process Discipline adalah sekumpulan kegiatan–kegiatan fungsional
yang saling terkait atau berhubungan satu sama lain, yang mengabungkan dan
memungkinkan pengembangan proses di dalam proyek UP.
13. Extreme Programming
2) Design/Perancangan
Metode ini menekankan desain aplikasi yang sederhana, untuk mendesain
aplikasi dapat menggunakan Class-Responsibility-Collaborator (CRC) cards
yang mengidentifikasi dan mengatur class pada object-oriented.
3) Coding/Pengkodean
Konsep utama dari tahapan pengkodean pada extreme programming adalah pair
programming, melibatkan lebih dari satu orang untuk menyusun kode.
4) Coding/Pengujian
Pada tahapan ini lebih fokus pada pengujian fitur dan fungsionalitas dari aplikasi.