METODOLOGI PENGEMBANGAN SOFTWARE

dokumen-dokumen yang mirip
SOFTWARE PROCESS & METHOD

Teknik Informatika S1

PROSES DESAIN. 1. Metodologi Pengembangan Sistem


Software Development Life Cycle (SDLC)

Teknik Informatika S1

Pengembangan Sistem Informasi

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

SDLC SYSTEM DEVELOPMENT LIFE CYCLE. Materi ke-2. Pengembangan Sistem Informasi 5KA28 // 4KA14

Meeting 3_ADS. System Development Life Cycle (SDLC)

SDLC : Project Planning

UNIVERSITAS MERCU BUANA. Modul Perkuliahan Pertemuan ke 2

REKAYASA PERANGKAT LUNAK I

REKAYASA PERANGKAT LUNAK. Ramadhan Rakhmat Sani, M.Kom

Teknik Informatika S1

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

Rational Unified Process (RUP)

System Development Life Cycle (SDLC)

BAB 6 METODOLOGI SIKLUS HIDUP SISTEM

Pengembangan Sistem Informasi

Hanif Fakhrurroja, MT

Pengembangan Sistem Informasi

The Process. A Layered Technology. Software Engineering. By: U. Abd. Rohim, MT. U. Abd. Rohim Rekayasa Perangkat Lunak The Process RPL

STMIK AMIKOM YOGYAKARTA

Hanif Fakhrurroja, MT

SOFTWARE PROCESS MODEL

Proses Pengembangan 1

Jenis Metode Pengembangan Perangkat Lunak

THE SOFTWARE PROCESS

MODUL 4 Unified Software Development Process (USDP)

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

Software Proses. Model Proses Perangkat Lunak. Pengembangan Perangkat Lunak. Framework activities 3/20/2018. System Development Life Cycle (SDLC)

PERANCANGAN SISTEM INFORMASI CV. SOLO ABADI MENGGUNAKAN METODE SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) SKRIPSI

CHAPTER 12. DEVELOPING BUSINESS SYSTEM (SUMMARY)

STMIK AMIKOM YOGYAKARTA

Metodologi Pengembangan Sistem Informasi

DASAR-DASAR PERANCANGAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

STMIK AMIKOM YOGYAKARTA

Pengembangan Sistem Informasi. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma PTA 2015/2016

ANALISA PENGGUNAAN METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

Brigida Arie Minartiningtyas, M.Kom

BAB 1 ASUMSI PERANAN PENGANALISIS SISTEM

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

PENGEMBANGAN PERANGKAT LUNAK

Analisis Pemilihan Penerapan Proyek Metodologi Pengembangan Rekayasa Perangkat Lunak

BAB1. PENDAHULUAN Siklus hidup sistem (SLC) SDLC Systems Development Life Cycle Siklus Hidup Pengembangan Sistem Systems Life Cycle

WEB DEVELOPMENT by Hestiasari Rante-Pasila. Week 1 Requirements Engineering

KELOMPOK 1. Metode Pengembangan Sistem Informasi. Imelda Florensia Stefani. P.

BAB I PENDAHULUAN. Seiring berjalannya waktu dan kebutuhan penyajian informasi yang lebih

ANALISA & PERANCANGAN SISTEM

KELOMPOK 1. Metode Pengembangan Sistem Informasi. Imelda Florensia Stefani. P. 1

3. The Software Process

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

BAB 1 Teknik dan Metode Manajemen Proyek

Metode-Metode Pengembangan Desain Aplikasi

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development

Bab 4 Metodologi Pengembagan Sistem(Perangkat Lunak)

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

BAB 3 Analisa dan Perancangan Sistem

BAB 1 PENDAHULUAN. Di era globalisasi ini, perkembangan teknologi informasi berperan penting dalam

REKAYASA PERANGKAT LUNAK

Jurnal FASILKOM Vol.2 No.1, 1 Maret 2004 SYSTEM DEVELOPMENT LIFE CYCLE DENGAN BEBERAPA PENDEKATAN. I. Joko Dewanto

IMPLEMENTASI METODE FUNCTION POINT UNTUK PREDIKSI BIAYA DEVELOPMENT PERANGKAT LUNAK

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

ANALISIS DAN PERANCANGAN SISTEM (APS) Pengantar APS

SIKLUS HIDUP PERANGKAT LUNAK

MANAJEMEN PROYEK FRAMEWORK

PENGANTAR MANAJEMEN PROYEK PERANGKAT LUNAK MATA KULIAH MANAJEMEN PROYEK PERANGKAT LUNAK

Pengembangan Sistem Informasi. Sistem Informasi Universitas Gunadarma 2012/2013

BAB II LANDASAN TEORI

SOFTWARE PROCESS MODEL I Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS

The system Development Environment

APLIKASI PERANGKAT LUNAK

TAKE HOME TEST NOMOR 2

KELOMPOK 3. Imelda Florensia Stefani. P. Tangkuman Gladis Ansiga Ariyanto Pakaya Andre Lay

08 Pengembangan & Pemeliharaan Sistem Informasi [Bagian 1]

Produk perangkat lunak tersebut:

Ringkasan Chapter 12 Developing Business/ IT Solution

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Paktikum : 4-7 Judul Praktikum : System Development Life Cycle (SDLC)

Website Content Management System Pada Badan Pekerja Daerah Gereja Bethel Indonesia Banten

Manajemen Proyek. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

A Simple Object Model

Systems Development Life Cycle (SDLC)

PENGANTAR RUP & UML. Pertemuan 2

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang

RANGKUMAN SIM BAB 13 Mengembangkan Sistem Informasi (Building Information Systems)

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

FASE PERENCANAAN. MPSI sesi 4

RPL. (Rekayasa Perangkat Lunak) SOFTWARE PROSES TP - AKN BOJONEGORO


BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Sistem Pakar. Tahap-tahap Pengembangan Sistem Pakar. Kelas A & B. Jonh Fredrik Ulysses

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Transkripsi:

REKAYASA PERANGKAT LUNAK LANJUT METODOLOGI PENGEMBANGAN SOFTWARE Defri Kurniawan M.Kom

Content Software Process Software Life Cycle Software Development Process System Development Life Cycle (SDLC) Metodologi Pengembangan Software Pemilihan Metode yang Tepat

Software Process Software Process merupakan serangkaian kegiatan yang mengarah ke produksi produk perangkat lunak (Ian Sommerville, 2007)

Software Life Cycle Siklus hidup perangkat lunak (Software Life Cycle) adalah urutan dari kegiatan yang ada di dalam sebuah pengembangan perangkat lunak (Gustafson, 2002)

Software Development Process Software Development Process, juga dikenal sebagai Software Development Life-Cycle / siklus hidup pengembangan perangkat lunak, adalah struktur yang dikenakan pada pengembangan produk perangkat lunak. Software Life Cycle dan Software Process merupakan bagian dari siklus hidup pengembangan sistem (System Development Life Cycle)

System Development Life Cycle (SDLC) System Development life cycle (SDLC) / Siklus Hidup Pengembangan Sistem adalah proses memahami bagaimana sistem informasi (IS) dapat mendukung kebutuhan bisnis, perancangan sistem, membangunnya dan memberikannya kepada pengguna (Dennis, 2005).

Pentingnya SDLC (Dennis, 2005) Tahun 1996 suatu survey oleh the Standish Group menemukan bahwa 42% dari semua project Sistem Informasi diserahkah sebelum tuntas (completion) Begitu pula studi dilakukan oleh General Accounting Office tahun 1996 menemukan hal yang sama sebesar 53% project Information System di pemerintahan US Sebagian besar sistem diserahkan kepada pengguna dengan keterlambatan, biaya yang lebih dari perencanaan dan mempunyai fitur yang kurang dari yang sebenarnya

Ilustrasi Bulding a software like building a house Membangun rumah membutuhkan perencanaan, analisa, design dan konstruksi/pembangun an/implementation

Tahapan SDLC SDLC memiliki 4 tahapan mendasar (Dennis, 2005): 1. Planning 2. Analysis 3. Design 4. Implementation

System Development Life Cycle (SDLC) Planning Implementation Analysis Design

Project Phases 1. Planning: Why build the system? System request, feasibility analysis, project size estimation 2. Analysis: Who, what, when, where will the system be? Requirement gathering, business process modeling 3. Design: How will the system work? Program design, user interface design, data design 4. Implementation: System construction and delivery System construction, testing, documentation and installation

Planning 1. Identifying business value (System Request) Lower costs Increase profits 2. Analyze feasibility Technical Feasibility Economic Feasibility Organizational Feasibility 3. Estimating the size of project (System Proposal)

Analysis 1. Requirement gathering by answering the questions: Who will use the system? What will the system do? When will it be used? 2. Investigate the current system 3. Identify possible improvements 4. Develop a concept for new system (System Specification)

Design 1. Program Design (UML Diagrams) What programs need to be written Exactly what each program will do 2. User Interface Design How users interact with system Forms / reports used by the system 3. Data Design (ER Diagrams) What data is to be stored What format the data will be in Where the data will be stored (System Specification)

Implementation Construction New system is built and tested Often testing is the longest part Testing Unit Testing Integration Testing System Testing User Acceptance Test Installation Old system is turned off New system is turned on

Processes and Products Process Planning Product System Proposal Analysis Design System Specification Implementation New System with Testing/Maintenance Plan

SDLC and Deliverables Planning (System Proposal) Implementation (New System) Analysis (System Specification) Design (System Specification)

What is methodology? Suatu pendekatan formal untuk mengimplementasikan SDLC

Major Methodologies 1. Structured Design Waterfall method Parallel development 2. RAD Development Phased Development Prototyping Throw-away Prototyping 3. Agile Development Extreme Programming (XP) Scrum

Structured Design Methodology Project berjalan dari satu metode ke metode selanjutnya (move methodically) Umumnya, suatu tahapan telah selesai sebelum memulai ke tahapan selanjutnya

Waterfall Method

Waterfall Method Kelebihan Mudah untuk dipahami, mudah untuk digunakan Tahapan dipahami dengan baik Kontrol management baik Bekerja baik ketika kualitas lebih penting dari biaya atau jadwal Pengidentifikasian system request yang lama sebelum memulai menuliskan kode (programming), meminimalisasi perubahan-perubahan yang terjadi

Waterfall Method Kekurangan Semua kebutuhan harus diketahui di awal Waktu yang lama antara system proposal dan peyerahan sistem baru Design harus spesifik sebelum melakukan programming Kemungkinannya kecil bagi customer untuk dapat melihat preview sistem yang sedang dikerjakan

When to use the Waterfall Model Kebutuhan telah diketahui dengan baik Definisi produk stabil Versi baru dari suatu sistem yang telah ada

Parallel Development Salah satu metode design struktur lainnya adalah Parallel Development Seperti waterfall model, namun membaginya kepada beberapa sub-sub project dan menggabungkannya pada tahap akhir

Parallel Development Parallel Development mencoba untuk mengatasi masalah penundaan yang lama antara tahap analisis dan pengiriman sistem. Bukannya melakukan desain dan implementasi secara berurutan, Parallel Development melakukan desain umum untuk seluruh sistem dan kemudian membagi proyek menjadi serangkaian sub proyek yang berbeda yang dapat dirancang dan implementasi secara paralel

Parallel Development

Rapid Application Development 1. Phased development A series of versions 2. Prototyping System prototyping 3. Throw-away prototyping Design prototyping

Rapid Application Development Critical elements to speed up the SDLC: CASE tools Visual programming languages Code generators

RAD Phased Development Memecah sistem ke dalam beberapa serangkaian versi Setiap versi memiliki Analis, Design, dan Implementasi Output dari suatu versi merupakan input untuk versi selanjutnya Tahapan analisis mengidentifikasi keseluruhan konsep sistem kemudian mengkategorikan kebutuhan ke dalam beberapa versi.

RAD Phased Development Kebutuhan mendasar dan penting dimasukkan ke versi pertama dari sistem. Tahapan analisis kemudian memasuki design, dan implementasi, namun hanya pada kebutuhan yang diidentifikasi pada versi pertama. Versi pertama telah diimplentasikan, pekerjaan versi 2 dimulai dengan tambahan analisis, ide-ide, isu-isu, pelajaran dari versi 1, versi 2 dimulai, dst Proses ini berlanjut sampai sistem selesai

RAD Phased Development Kelebihan Mendapatkan sistem yang berguna untuk pengguna dengan cepat Kekurangan Sistem awal sengaja tidak lengkap System requirements berkembang tergantung pandangan dari versi user

RAD: Prototyping Memulai dengan menyediakan fungsi sistem yang minimal minimal functionality disebut dengan "quick-and-dirty" prototype Analisis, Design, Implementasi menghasilkan prototype. Perbaikan prototype dilakukan berulang-ulang dalam siklus (Analisis-Design- Implementasi) Berhenti ketika prototype merupakan sebuah sistem kerja yang lengkap (sesuai)

RAD: Prototyping Prototipe pertama biasanya adalah bagian pertama dari sistem bahwa pengguna akan menggunakan ini Ini ditunjukkan dengan pengguna dan sponsor proyek memberikan komentar terhadap prototype yang dihasilkan, yang digunakan untuk menganalisa kembali, mendesain ulang, dan melaksanakan reprototipe kedua yang menyediakan beberapa fiturfitur tambahan. Proses ini terus berlanjut dalam siklus sampai analis, pengguna, dan sponsor sepakat prototipe (sekarang disebut sistem) diinstal,

RAD: Prototyping

RAD: Prototyping Kelebihan Sangat cepat memberikan sistem bagi pengguna untuk berinteraksi (bahkan jika organisasi itu tidak siap/tidak memiliki gambaran) Prototyping meyakinkan klien bahwa tim proyek bekerja dengan baik (tidak ada penundaan yang lama di mana pengguna melihat kemajuan), Prototyping membantu lebih cepat memperbaiki persyaratan nyata (pengguna dapat berinteraksi dengan prototipe untuk lebih memahami apa yang bisa dan tidak bisa lakukan).

RAD: Prototyping Kekurangan Sistem rilis yang cepat memiliki tantangan untuk mencoba melakukan dengan hati-hati pada fase analisis. Hal ini dapat menyebabkan masalah dalam pengembangan sistem yang kompleks karena isu dan permasalahan mendasar yang tidak diakui dengan baik sampai ke dalam proses pembangunan

RAD: Throw-Away Prototyping Throw-Away prototyping menggunakan prototyping untuk tujuan yang berbeda dari prototyping sebelumnya Melakukan analisis secara menyeluruh, untuk mengumpulkan informasi & mengembangkan ideide untuk sebuah konsep sistem. Masalah yang muncul diujicobakan/diselesaikan dengan menganalisa, mendesign, & membangun sebuah prototype (yang dinamakan design prototype) Yang dibangun merupakan fitur yang blm dipahami dengan jelas

RAD: Throw-Away Prototyping Sebagai contoh, pengguna tidak sepenuhnya jelas tentang bagaimana sistem entry order harus bekerja. Tim analis membangun serangkaian halaman HTML yang diperlihatkan untuk membantu klien memvisualisasikan sistem yang dibangun. Jika menginginkan program canggih di Java, tim bisa menulis bagian dari program dengan data contoh (sample) untuk memastikan bahwa mereka bisa mendapatkan apa yang diinginkan klien dengan tepat

RAD: Throw-Away Prototyping Namun ini hanyalah design prototype (rancangan) ini bukan bagian dari produk Membuat design prototype untuk memahami kebutuhan Jika design prototype merupakan hal yang diinginkan & dapat mengatasi masalah, design prototype dibuang, selanjutnya memasuki tahap design, implementasi, system yang sesungguhnya.

RAD: Throw-Away Prototyping

RAD: Throw-Away Prototyping Kelebihan Setiap prototype yang dibangun dapat meminimalkan resiko terkait isu-isu / masalah yang akan dihadapi oleh sistem Menyeimbangkan fase analisis & design Kekurangan Sistem yang dikembangkan bergantung pada rancangan prototype

Perbedaan Prototyping & ThrowAway P Prototype digunakan sampai sistem final Sedangkan Throw Away, prototype tidak digunakan/dibuang

Selecting the Right Methodology 1. Clarity of User Requirements (Kejelasan Persyaratan Pengguna) 2. Familiarity with Technology (Kefamiliaran dengan teknologi) 3. System Complexity (Kompleksitas Sistem) 4. System Reliability (Keandalan Sistem) 5. Short Time Schedules (Jadwal Pendek) 6. Schedule Visibility

Selecting the Right Methodology