Software Development Life Cycle (SDLC) Concept

Slides:



Advertisements
Presentasi serupa
Pengembangan Sistem Informasi
Advertisements

Software Engineering Chapter 4
PROSES-PROSES PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
Manajemen Proyek Sistem Informasi
PENGEMBANGAN SISTEM.
MANAJEMEN KONFIGURASI SOFTWARE
SISTEM DEVELOPMENT LIFE CYCLE
METODOLOGI DALAM PENGEMBANGAN SISTEM
Software Testing Pertemuan III.
Nama : Shadrach Jabonir / Matthew Marcelinus / Leonardus Handoko / Hendry Sunardi / Carles/ OVERVIEW OF SOFTWARE PROCESS MODEL.
Kelompok 1 Mochammad. Nasir Mochammad. Nasir Isommuddin Isommuddin T. Yusak D
KEAMANAN KOMPUTER Mitos tentang sekuriti total Pengurangan resiko
Manajemen Proyek Perangkat Lunak (MPPL)
Metodologi Rekayasa Sistem Informasi
Metodologi Pengembangan Sistem Informasi
Software Quality Assurance
Rekayasa Perangkat Lunak (Lanjut)
Rekayasa Perangkat Lunak
Metodologi Pengembangan Perangkat Lunak
Metode rpl BY: Y. PALOPAK S.Si., MT..
Systems Development Life Cycle
SIKLUS HIDUP SISTEM INFORMASI
PENGEMBANGAN PERANGKAT LUNAK.
FASE PERENCANAAN MPSI – sesi 4.
Interaksi Manusia Dan Komputer
PENGEMBANGAN APLIKASI
proses PERANGKAT LUNAK
System Development Life Cycle (SDLC)
Rekayasa perangkat lunak (rpl)
FASE PERENCANAAN MPSI – sesi 4.
System Development Part 1
System Life Cycle Nurhayati, S.Kom., M.Kom Dosen STMIK Kaputama 1.
TESTING DAN IMPLEMENTASI SISTEM
Anna dara andriana., M.kom
Rekayasa Perangkat Lunak
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Metode Rekayasa Perangkat Lunak
MANPRO-M13: MUTU PROYEK SISTEM
REKAYASA PERANGKAT LUNAK
Siklus Hidup Perangkat Lunak
PROSES REKAYASA PERANGKAT LUNAK
PENGEMBANGAN SISTEM.
REKAYASA PERANGKAT LUNAK
Materi Habis Uts IMK Prototyping
Analisa dan Perancangan Sistem
Software Development Life Cycle (SDLC) Concept
Pengantar Teknologi Informasi (Teori)
PENGEMBANGAN SISTEM.
METODE PENGEMBANGAN PERANGKAT LUNAK
SIM LOGISTIK PERTEMUAN 3.
ANALISA DAN PERANCANGAN SISTEM INFORMASI
SDLC (System Development Life Cycle)
Anna dara andriana., M.kom
“Strategi Pengembangan Manajemen Sistem Informasi Publik”
Interaksi Manusia dan Komputer (Proses Desain)
Siklus Hidup Pengembangan Sistem (System Development Life Cycle)
PENGEMBANGAN PERANGKAT LUNAK
Pengembangan Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK
SISTEM DEVELOPMENT LIFE CYCLE
Interaksi Manusia dan Komputer (Proses Desain)
Pengembangan Sistem Informasi
TESTING DAN QA SOFTWARE PERTEMUAN 18
SOFTWARE ENGGINERING Model Model Siklus Rekayasa Perangkat Lunak
Pengembangan Sistem Informasi
BAB II Pengembangan Sistem
MODEL PROSES PERANGKAT LUNAK
OBJECT ORIENTED ANALISYS AND DESIGN
Software Development Life Cycle (SDLC)
Transcript presentasi:

Software Development Life Cycle (SDLC) Concept

Produk, Proses dan Metode Produk terdiri dari : hardware , software , dokumentasi, instalasi, dll. Proses Proses didefinisikan sebagai framework dari sekumpulan proses kunci yang harus dilakukan untuk mengembangkan software. Terdiri dari : komunikasi (internal dan eksternal) , standards, planning dan monitoring, tools dan methodologi, jaminan kualitas Aturan Proses Kemampuan Proses pengembangan software adalah kunci untuk competitive advantage. Metode Metode menyediakan “how to’s” bagaimana membangun software

Metodologi untuk membangun Software Software dibangun dengan Trial & Error. Tidak ada proses yang spesifik dalam membangun sebuah produk. Kesalahan hanya terdeteksi setelah produk diberikan pada pengguna eksternal. Hasil dari software crisis Software tidak sesuai dengan kebutuhan user Pengembangan Software menjadi mahal. Software menjadi sulit untuk diubah, debug, dan penambahan. Software menjadi sering terlambat diberikan kepada pengguna. Software menggunakan sumber daya yang tidak optimal

Beberapa akar permasalahan Kegagalan Tidak akuratnya pemahaman mengenai kebutuhan end-user. Komunikasi yang ambigu dan tidak tepat Kompleksitas yang berlebihan Inkonsistensi yang tidak terdeteksi dalam kebutuhan, desain dan implementasi Kualitas software yang jelek Kurangnya penggunaan tools yang otomatis

Apa itu SDLC ? Berbagai macam aktifitas yang dilakukan ketika membangun software software development lifecycle dimulai dengan identifikasi kebutuhan software dan diakhiri dengan verifikasi secara formal sesuai kebutuhan software development lifecycle tidak eksis sendirian melainkan bagian dari keseluruhan life cycle product. Dalam product lifecycle, software akan melakukan maintenance untuk memperbaiki error dan untuk melakukan perubahan sesuai kebutuhan.

Model SDLC Ada beberapa perbedaan model untuk software development lifecycles yang menjelaskan progress product. Model Life cycle menggambarkan inter relationships antara fase software development. Secara spesifik adalah hubungan antara fase project yang terdiri dari kriteria transisi, mekanisme feedback, milestones, baselines, reviews, dan deliverables. Pada umumnya, model life cycle terdiri dari : requirements phase, design phase, implementation, integration, testing, operations and maintenance.

Klasifikasi Model SDLC SDLC Model Sequential Iterative Waterfall V Model Progressive Spiral Incremental

1. Sequential Model Model yang digunakan untuk software development lifecycle adalah sequential, dengan progres development yang dilakukan berdasarkan fase-fase. Fase sequential digambarkan dalam bentuk: V Model Waterfall Model.

Beberapa fase dalam Model Sequential : Fase Requirements - dimana kebutuhan software didapatkan dan dianalisis, untuk membuat spesifikasi secara lengkap dan jelas tentang apa yang harus dilakukan Fase Desain Detail – dimana implementasi detail dari masing-masing komponen disusun secara spesifik. Fase Code dan Unit Test – dimana masing-masing komponen software dicoding dan dilakukan pengetesan untuk memverifikasi bahwa desain detail telah diimplementasikan. Fase Integrasi Software - dimana komponen-komponen software yang telah dites kemudian diintegrasikan dan di tes untuk memastikan bahwa keseluruhan software bekerja. Fase Integrasi System – dimana software telah diintegrasikan dalam produk secara keseluruhan dan telah di tes. Fase Acceptance Testing, dimana tes dilakukan untuk memvalidasi bahwa software telah diimplementasikan sesuai spesifikasi kebutuhan

a. V Model Requirement Specifications User Acceptance Testing High Level Design System Testing Detail Design Integration Testing Program Specification Unit Testing Coding

b. Waterfall Model Requirements Specification Architectural Design Detailed Design Code and Unit Testing Software Integration System Integration Acceptance Testing

Keuntungan dari Model Waterfall Menekankan pada disiplin melalui dokumen Tidak ada fase yang lengkap sampai dokumen telah dilaksanakan dan dicek oleh SQA (Software Quality Assurance) group Progress berdasarkan fakta-fakta konkrit Testing dilakukan pada tiap fase Dilakukan secara kontinyu sampai akhir fase Verifikasi software dilakukan dengan mudah.

Kekurangan Model Waterfall Document-driven model customers tidak dapat mengerti Bayangkan arsitek menunjukkan spesifikasi secara tekstual Pertama kali client melihat produk yang dikerjakan adalah setelah dilakukan coding. Ada kemungkinan muncul problem disini? Tekadang produk tidak sesuai dengan kebutuhan customers Mengasumsikan kelayakan sebelum implementasi re-design adalah masalah

2. Progressive Model Masalah utama dalam software development adalah software dibutuhkan cepat, tetapi butuh waktu yang lama untuk develop secara lengkap. Solusinya adalah membentuk kompromi antara skala waktu dan fungsionalitas, menyediakan penyelesaian ‘sementara’ software dengan mengurangi fungsionalitas, tetapi melayani proses untuk penyempurnaan fungsional software. Selain itu, juga dimungkinkan untuk menggunakan langkah-langkah pendekatan dalam mengurangi resiko. Nama yang biasanya digunakan untuk pendekatan ini adalah progressive development atau phased implementation. Dengan progressive development lifecycle, masing-masing fase individual dari development akan mengikuti software development lifecycle itu sendiri, khususnya menggunakan V atau waterfall model.

2. Progressive Model - Structure Phase 1 Development Interim/sementara Delivery 1 Phase 2 Development Interim/sementara Delivery 2 Final Phase Final Delivery 2

3. Iterative Model Requirements Design Review Implementation and Test Iterative lifecycle model tidak bisa dimulai dengan kebutuhan spesifikasi yang penuh Namun, development dimulai dengan membuat spesifikasi dan implementasi sebagian dari software, dimana dapat direview untuk mengidentifikasi requirement lebih lanjut. Proses ini lalu diulang, memproduksi versi baru dari software untuk masing-masing siklus dari model.

3. Iterative Model - Phases Fase Requirements Fase Design, Fase Implementation and Test, Fase Review

3. Spiral model The Spiral Model - iterative (evolutionary) system development life cycle yang didevelop oleh Boehm (1988). Dibangun berdasarkan fakta bahwa proyek development sistem dilakukan dengan mengulang langkah2 analysis, design dan code sebagai bagian dari prototyping process. Spiral model terdiri dari best features dibanding classic Waterfall SDLC dan Pendekatan Prototyping.

Spiral model ………contd Masing-masing spiral terdiri dari 4 aktivitas utama, yaitu: Planning: setting tujuan project; mendefinisikan alternatif2; planning lebih jauh tentang spiral selanjutnya; etc. Risk Analysis: analysis dari alternatif-alternatif , identifikasi & solusi resiko. Development: designing, coding and testing etc. in increments. Evaluation: Evaluasi user terhadap masing2 spiral dan final product.

SDLC Model lainnya yang digunakan Build and fix Model Incremental Model Prototyping Model Rapid Application Development Model

Lifecycle Models Build-and-fix develop system Tanpa specs atau design Modifikasi sampai customer puas Mengapa tidak menggunakan build-and-fix model? Perubahan selama maintenance Lebih mahal!

Incremental Model Masing2 menambah fungsi baru Verify Requirements phase Specification Architectural design Operations mode Retirement Perform detailed design, imple- mentation, and integration. Test. Deliver to client. For each build: Membagi project dalam beberapa bagian Masing2 menambah fungsi baru Masing2 membangun integrated dengan structure & product tested secara keseluruhan Keuntungan? Operasional produk dalam mingguan Sedikit traumatic pada organisasi Lebih sedikit modal yang dibutuhkan Kerugian? Butuh open architecture Terlalu sedikit bagian2 build-and-fix Terlalu banyak bagian2 overhead Development Maintenance

Modern Software Development Perbedaan antara Exploratory Style dan Modern Software Development Practices Exploratory Style Software dibangun dengan Trial and Error Menekankan pada Error correction Errors dideteksi hanya selama testing Penekanan hanya pada coding selama keseluruhan development cycle Review pada akhir fase development Tidak ada proses testing yang spesifik Sedikit perhatian diberikan untuk memproduksi kualitas yang baik dan dokumen yang konsisten Perencanaan yang tdk efisien Modern Software Development Menggunakan Life Cycle Models menghasilkan software development dalam langkah yang didefinisikan Menekankan pada deteksi error. Errors dideteksi pada masing-masing fase development Seluruh development cycle dibagi menjadi fase yang jelas Review dilakukan secara Periodik selama masing2 fase development cycle Software testing menjadi sistematik Kemampuan yang lebih baik dalam design dan code menghasilkan produksi dengan kualitas yang baik dan konsisten sesuai standard document Dibutuhkan planning dalam memperkirakan jadwal dan mekanisme monitoring