metodologi pengembangan software -...

47
email Fasilkom|| 12/10/2013 METODOLOGI PENGEMBANGAN SOFTWARE Defri Kurniawan M.Kom REKAYASA PERANGKAT LUNAK LANJUT

Upload: hoangkhuong

Post on 04-Mar-2018

220 views

Category:

Documents


5 download

TRANSCRIPT

email Fasilkom|| 12/10/2013

METODOLOGI PENGEMBANGANSOFTWARE

Defri Kurniawan M.Kom

REKAYASA PERANGKAT LUNAK LANJUT

email Fasilkom|| 12/10/2013

Content

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

email Fasilkom|| 12/10/2013

Software Process

Software Process merupakan serangkaiankegiatan yang mengarah ke produksi produkperangkat lunak (Ian Sommerville, 2007)

email Fasilkom|| 12/10/2013

Software Life Cycle

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

email Fasilkom|| 12/10/2013

Software Development Process

Software Development Process, juga dikenal sebagaiSoftware Development Life-Cycle / siklus hiduppengembangan perangkat lunak, adalah strukturyang dikenakan pada pengembangan produkperangkat lunak.

Software Life Cycle dan Software Process merupakanbagian dari siklus hidup pengembangan sistem(System Development Life Cycle)

email Fasilkom|| 12/10/2013

System Development Life Cycle (SDLC)

System Development life cycle (SDLC) / Siklus HidupPengembangan Sistem adalah proses memahamibagaimana sistem informasi (IS) dapat mendukungkebutuhan bisnis, perancangan sistem, membangunnya dan memberikannya kepadapengguna (Dennis, 2005).

email Fasilkom|| 12/10/2013

Pentingnya SDLC (Dennis, 2005)

Tahun 1996 suatu survey oleh the Standish Groupmenemukan bahwa 42% dari semua project SistemInformasi diserahkah sebelum tuntas (completion)

Begitu pula studi dilakukan oleh General Accounting Office tahun 1996 menemukan hal yang samasebesar 53% project Information System dipemerintahan US

Sebagian besar sistem diserahkan kepada penggunadengan keterlambatan, biaya yang lebih dariperencanaan dan mempunyai fitur yang kurang dariyang sebenarnya

email Fasilkom|| 12/10/2013

Ilustrasi

Bulding a software like building a house

Membangun rumahmembutuhkanperencanaan, analisa, design dankonstruksi/pembangunan/implementation

email Fasilkom|| 12/10/2013

Tahapan SDLC

SDLC memiliki 4 tahapan mendasar (Dennis, 2005):1. Planning2. Analysis3. Design4. Implementation

email Fasilkom|| 12/10/2013

PlanningPlanning

AnalysisAnalysis

DesignDesign

ImplementationImplementation

System Development Life Cycle (SDLC)

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

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)

Planning

email Fasilkom|| 12/10/2013

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 system3. Identify possible improvements4. Develop a concept for new system

(System Specification)

Analysis

email Fasilkom|| 12/10/2013

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)

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

Processes and Products

Process Product

Planning

AnalysisDesign

Implementation

System Proposal

System Specification

New System withTesting/Maintenance Plan

Process Product

Planning

AnalysisDesign

Implementation

System Proposal

System Specification

New System withTesting/Maintenance Plan

email Fasilkom|| 12/10/2013

Planning(System Proposal)

Planning(System Proposal)

Analysis(System Specification)

Analysis(System Specification)

Design(System Specification)

Design(System Specification)

Implementation(New System)

Implementation(New System)

SDLC and Deliverables

email Fasilkom|| 12/10/2013

Suatu pendekatan formal untukmengimplementasikan SDLC

What is methodology?

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

Structured Design Methodology

Project berjalan dari satu metode ke metodeselanjutnya (move methodically)

Umumnya, suatu tahapan telah selesaisebelum memulai ke tahapan selanjutnya

email Fasilkom|| 12/10/2013

Waterfall Method

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

When to use the Waterfall Model

Kebutuhan telah diketahui dengan baik Definisi produk stabil Versi baru dari suatu sistem yang telah ada

email Fasilkom|| 12/10/2013

Parallel Development

Salah satu metode design struktur lainnyaadalah Parallel Development

Seperti waterfall model, namun membaginyakepada beberapa sub-sub project danmenggabungkannya pada tahap akhir

email Fasilkom|| 12/10/2013

Parallel Development

Parallel Development mencoba untukmengatasi masalah penundaan yang lama antara tahap analisis dan pengiriman sistem.

Bukannya melakukan desain danimplementasi secara berurutan, Parallel Development melakukan desain umum untukseluruh sistem dan kemudian membagiproyek menjadi serangkaian sub proyek yang berbeda yang dapat dirancang danimplementasi secara paralel

email Fasilkom|| 12/10/2013

Parallel Development

email Fasilkom|| 12/10/2013

Rapid Application Development

1. Phased development A series of versions

2. Prototyping System prototyping

3. Throw-away prototyping Design prototyping

email Fasilkom|| 12/10/2013

Rapid Application Development

Critical elements to speed up the SDLC:CASE toolsVisual programming languagesCode generators

email Fasilkom|| 12/10/2013

Memecah sistem ke dalam beberapaserangkaian versi

Setiap versi memiliki Analis, Design, danImplementasi

Output dari suatu versi merupakan input untuk versi selanjutnya

Tahapan analisis mengidentifikasikeseluruhan konsep sistem kemudianmengkategorikan kebutuhan ke dalambeberapa versi.

RAD – Phased Development

email Fasilkom|| 12/10/2013

Kebutuhan mendasar dan pentingdimasukkan ke versi pertama dari sistem.

Tahapan analisis kemudian memasukidesign, dan implementasi, namun hanyapada kebutuhan yang diidentifikasi padaversi pertama.

Versi pertama telah diimplentasikan, pekerjaan versi 2 dimulai dengan tambahananalisis, ide-ide, isu-isu, pelajaran dari versi1, versi 2 dimulai, dst

Proses ini berlanjut sampai sistem selesai

RAD – Phased Development

email Fasilkom|| 12/10/2013

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

Memulai dengan menyediakan fungsi sistemyang minimal minimal functionality disebutdengan "quick-and-dirty" prototype

Analisis, Design, Implementasi menghasilkanprototype. Perbaikan prototype dilakukanberulang-ulang dalam siklus (Analisis-Design-Implementasi)

Berhenti ketika prototype merupakan sebuahsistem kerja yang lengkap (sesuai)

RAD: Prototyping

email Fasilkom|| 12/10/2013

RAD: Prototyping

Prototipe pertama biasanya adalah bagian pertamadari sistem bahwa pengguna akan menggunakan ini

Ini ditunjukkan dengan pengguna dan sponsor proyekmemberikan komentar terhadap prototype yang dihasilkan, yang digunakan untuk menganalisakembali, mendesain ulang, dan melaksanakan re-prototipe kedua yang menyediakan beberapa fitur-fitur tambahan.

Proses ini terus berlanjut dalam siklus sampai analis, pengguna, dan sponsor sepakat prototipe (sekarangdisebut sistem) diinstal,

email Fasilkom|| 12/10/2013

RAD: Prototyping

email Fasilkom|| 12/10/2013

RAD: Prototyping

Kelebihan Sangat cepat memberikan sistem bagi pengguna

untuk berinteraksi (bahkan jika organisasi itu tidaksiap/tidak memiliki gambaran)

Prototyping meyakinkan klien bahwa tim proyekbekerja dengan baik (tidak ada penundaan yang lama di mana pengguna melihat kemajuan),

Prototyping membantu lebih cepat memperbaikipersyaratan nyata (pengguna dapat berinteraksidengan prototipe untuk lebih memahami apa yang bisa dan tidak bisa lakukan).

email Fasilkom|| 12/10/2013

RAD: Prototyping

Kekurangan Sistem rilis yang cepat memiliki tantangan untuk

mencoba melakukan dengan hati-hati pada faseanalisis.

Hal ini dapat menyebabkan masalah dalampengembangan sistem yang kompleks karena isu danpermasalahan mendasar yang tidak diakui dengan baiksampai ke dalam proses pembangunan

email Fasilkom|| 12/10/2013

RAD: Throw-Away Prototyping

Throw-Away prototyping menggunakan prototypinguntuk tujuan yang berbeda dari prototyping sebelumnya

Melakukan analisis secara menyeluruh, untukmengumpulkan informasi & mengembangkan ide-ide untuk sebuah konsep sistem.

Masalah yang muncul diujicobakan/diselesaikandengan menganalisa, mendesign, & membangunsebuah prototype (yang dinamakan design prototype)

Yang dibangun merupakan fitur yang blm dipahamidengan jelas

email Fasilkom|| 12/10/2013

RAD: Throw-Away Prototyping

Sebagai contoh, pengguna tidak sepenuhnya jelastentang bagaimana sistem entry order harusbekerja.

Tim analis membangun serangkaian halaman HTML yang diperlihatkan untuk membantu klienmemvisualisasikan sistem yang dibangun.

Jika menginginkan program canggih di Java, tim bisamenulis bagian dari program dengan data contoh(sample) untuk memastikan bahwa mereka bisamendapatkan apa yang diinginkan klien dengantepat

email Fasilkom|| 12/10/2013

RAD: Throw-Away Prototyping

Namun ini hanyalah design prototype (rancangan) ini bukan bagian dari produk

Membuat design prototype untuk memahamikebutuhan

Jika design prototype merupakan hal yang diinginkan & dapat mengatasi masalah, design prototype dibuang, selanjutnya memasuki tahapdesign, implementasi, system yang sesungguhnya.

email Fasilkom|| 12/10/2013

RAD: Throw-Away Prototyping

email Fasilkom|| 12/10/2013

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

email Fasilkom|| 12/10/2013

Perbedaan Prototyping & ThrowAway P

Prototype digunakan sampai sistem final Sedangkan Throw Away, prototype tidak

digunakan/dibuang

email Fasilkom|| 12/10/2013

Selecting the Right Methodology

1. Clarity of User Requirements (KejelasanPersyaratan Pengguna)

2. Familiarity with Technology (Kefamiliaran denganteknologi)

3. System Complexity (Kompleksitas Sistem)4. System Reliability (Keandalan Sistem)5. Short Time Schedules (Jadwal Pendek)6. Schedule Visibility

email Fasilkom|| 12/10/2013

Selecting the Right Methodology

email Fasilkom|| 12/10/2013