BAB 2 PENDEKATAN PENGEMBANGAN SISTEM

Judul Buku: Systems Analysis and Design in a Changing World, Edisi 4

Penerjemah: Komarudin Tasdik

BAB 2 PENDEKATAN PENGEMBANGAN SISTEM

(Slide 1 s.d 3 berisi tujuan pembelajaran)

GAMBARAN UMUM

Proyek pengembangan sistem

  • Direncanakan dengan awal dan akhir yang pasti (terencana)
  • Memproduksi hasil atau produk yang diinginkan
  • Bisa menjadi pekerjaan besar dengan istilah proyek thousands of hours of effort atau a small one-month

Proyek pengembangan yang sukses

  • Menyediakan perencanaan detail untuk ditindaklanjuti
  • Susunan pekerjaan dan aktivitas yang terorganisir dan metodis
  • Memproduksi sistem yang handal, aman (robust), dan efficient

THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

Siklus Hidup Pengembangan Sistem (SDLC)

  • Menyediakan kerangka menyeluru untuk memanage proses pengembangan sistem

Dua pendekatan utama SDLC

  • Pendekatan prediktif: berasumsi bahwa proyek bisa direncanakan dengan matang (relatif sempurna di awal)
  • Pendekatan adaptif: lebih fleksibel, berasumsi bahwa proyek tidak bisa direncanakan dengan matang (dari awal, sistem dianggap perlu pengembangan)

Semua proyek menggunakan beberapa varian SDLC

Memilih pendekatan SDLC prediktif atau adaptif: Lihat slide 6

PENDEKATAN PREDIKTIF TRADISIONAL SDLC

  • Perencanaan proyek: menginisiasikan, memastikan feasibility, schedule, mendapatkan izin untuk proyek
  • Analisis: memahami kebutuhan dan persyaratan proses bisnis
  • Desain: menentukan sistem solutif berbasis keputusan syarat dan analisis
  • Implementasi: membangung, menguji, melatih para user, dan meng-install sistem baru
  • Support: memelihara dan mengembangkan sistem

Fase Pengembangan Sistem Informasi: lihat slide 8

SDLC DAN PENYELESAIAN MASALAH

Mirip dengan pendekatan penyelesaian masalah pada Bab 1

  • Organisasi mengetahui masalah (perencanaan proyek)
  • Tim proyek menginvestigasi, memahami masalah dan solusi yang dibutuhkan (analisis)
  • Solusi ditentukan secara detail (desain)
  • Sistem yang menyelesaikan masalah dibangun dan di-install (implementasi)
  • Sistem digunakan, dipelihara, dan dikembangkan untuk memperoleh keuntungan yang diharapkan (support)

Pendekatan “Waterfal” SDLC: lihat slide 10

Pendekatan “Waterfal” yang dimodifikasi dengan fase overlapping: lihat slide 11

PENDEKATAN ADAPTIF BARU SDLC

Berbasis model spiral

  • Siklus proyek dikembangkan terus hingga sempurna
  • Prototype dibuat di akhir tiap siklus
  • Fokus pada pengurangan risiko

Iterasi: aktivitas diulang

  • Tiap iterasi melengkapi hasil sebelumnya
  • Pendekatan berasumsi bahwa tidak ada yang langsung sempurna pada tahap pertama
  • Terdapat seri proyek mini untuk tiap iterasi

Model siklus hidup Spiral: lihat slide 13

Iterasi aktivitas pengembangan sistem: lihat slide 14

Aktivitas tiap fase SDLC

  • Pendekatan prediktif dan adaptif menggunakan SDLC
  • Aktivitas tiap fase mirip
  • Fase tidak selalu berurutan
  • Fase bisa saling melengkapi (overlap)
  • Aktivitas melintasi fase dapat dilakukan dalam iterasi

Aktivitas fase perencanaan SDLC

  • Menentukan masalah dan skup bisnis
  • Membuat schedule proyek detail
  • Mengkonfirmasi feasibility proyek

Ekonomis, organisasional, teknis, sumber daya, dan schedule

  • Mengangkat pegawai yang menjalankan proyek (manajemen sumber daya)
  • Meluncurkan proyek (pengumuman resmi)

Aktivitas fase analisis SDLC

  • Mengumpulkan informasi untuk mengkaji domain permasalahan
  • Menentukan kebutuhan sistem
  • Membangun protoype untuk menemukan kebutuhan
  • Memprioritaskan kebutuhan
  • Menghasilkan dan mengevaluasi alternatif
  • Mereview rekomendasi dengan manajemen

Aktivitas fase desain SDLC

  • Mendesain dan mengintegrasikan jaringan
  • Mendesain arsitektur aplikasi
  • Mendesain user interfaces
  • Mendesain system interface
  • Mendesain dan mengintegrasikan basis data
  • Protype untuk design detail
  • Mendesain dan mengintegrasikan system controls

Aktivitas fase implementasi SDLC

  • Membangun komponen-komponen software
  • Memverifikasi dan menguji
  • Meng-convert (ubah) data
  • Melatih user dan mendokumentasikan sistem
  • Meng-install sistem

Aktivitas fase support SDLC

  • Memelihara sistem

Menambal, memperbaiki, dan update ringan

  • Mengembangkan sistem

–          Upgrade dan pengembangan ringan untuk meningkatkan kemampuan sistem

–          Pengembangan lebih besar mungkin membutuhkan proyek pengembangan terpisah

  • Mendukung user

Membantu dan/atau mendukung tim utama

METODOLOGI DAN MODEL

Metodologi

  • Panduan komprehensif untuk menyempurnakan setiap aktivitas SDLC
  • Koleksi model, tools, dan teknik

Model

  • Representasi aspek penting dunia nyata, meskipun tidak persis sama
  • Abstraksi harus memisahkan aspek itu
  • Diagram dan grafik
  • Perencanaan proyek dan penganggaran bantuan

Beberapa model yang digunakan dalam pengembangan sistem: lihat slide 22

TOOLS DAN TEKNIK

Tools

  • Software support yang membantu menciptakan model-model atau komponen-komponen proyek yang dibutuhkan
  • Range dari program gambar sederhana hingga CASE tools kompleks untuk software manajemen proyek

Teknik

  • Kumpulan panduan yang membantu analis menyempurnakan aktivitas atau tugas pengembangan sistem
  • Bisa menjadi instruksi sedikit demi sedikit atau hanya saran umum

Beberapa tools yang digunakan dalam pengembangan sistem: lihat slide 24

Beberapa teknik yang digunakan dalam pengembangan sistem: lihat slide 25

Hubungan antar komponen dari sebuah metodologi: lihat slide 26

DUA PENDEKATAN PENGEMBANGAN SISTEM

Pendekatan Tradisional

  • Disebut juga pengembangan sistem terstruktur
  • Teknik analisis dan desain terstruktur (SADT)
  • Mencakup information engineering (IE)

Pendekatan Berorientasi Objek

  • Disebut juga OOA, OOD, dan OOP
  • Memandang sistem informasi sebagai kumpulan objek saling berinteraksi yang bekerja bersama-sama untuk menyelesaikan tugas-tugas

Pendekatan Tradisional

  • Mengembangkan kualitas program komputer
  • Mengizikan para programmer lain dengan mudah membaca dan memodifikasi kode
  • Tiap modul program memiliki awal dan akhir (yang jelas)

Tiga konstruksi pemrograman (susunan, keputusan, pengulangan)

Tiga konstruksi pemrograman terstruktur: lihat slide 29

Pemrograman Top-Down

  • Membagi program-program kompleks ke dalam hirarki modul-modul
  • Modul pada eksekusi modul atas dengan memanggil modul-modul level bawah
  • Pemrograman modular

Mirip dengan pemrograman top-down

  • Satu program memanggil program-program lain untuk bekerja bersama-sama sebagai sistem tunggal

Pemrograman Top-Down atau Modular: slide 31

Desain terstruktur

Teknik dikembangkan untuk menyediakan panduan desain

  • Kumpulan program apa yang harus dibangun
  • Program apa yang harus disempurnakan
  • Bagaimana program diorganisir ke dalam sebuah hirarki

Modul ditampilkan dengan structure chart

Prinsip utama modul program

  • Loosely coupled: modul independen dari modul-modul lain
  • Highly cohesive: modul memiliki satu tugas jelas

Structure chart dibuat menggunakan teknik desain terstruktur: lihat slide 33

Analisis terstruktur

  • Menentukan sistem apa yang harus melakukan (syarat pemrosesan)
  • Menentukan sistem data yang harus menyimpan dan menggunakan (kebutuhan data)
  • Menentukan input dan output
  • Menentukan bagaimana fungsi-fungsi bekerja sama menyempurnakan tugas-tugas
  • Data Flow Diagrams (DFD) dan Entity Relationship Diagrams (ERD) memperlihatkan hasil analisis terstruktur

Data Flow Diagram (DFD) dibuat menggunakan teknik analisis terstruktur: lihat slide 35

Entity-Relationship Diagram (ERD) dibuat menggunakan teknik analisis terstruktur: slide 36

Analisis terstruktur menuju desain dan pemrograman terstruktur: slide 37

Information Engineering (IE)

  • Perbaikan terhadap pengembangan terstruktur
  • Metodologi dengan perencanaan strategis, pemodelan data, fokus tools otomatis
  • Lebih teliti dan lengkap daripada SADT
  • Industri menggabungkan konsep-konsep kunci dari pengembangan terstruktur dan pendekatan-pendekatan information engineering ke dalam pendekatan tradisional

PENDEKATAN BERORIENTASI OBJEK

Pendekatan sistem informasi yang sangat berbeda

Menampilkan sistem informasi sebagai kumpulan objek yang berinteraksi bekerja sama untuk menyelesaikan tugas-tugas

  • Objek: sesuatu dalam sistem komputer yang dapat merespon pesan
  • Secara konseptual, bukan proses, program, entitas data, atau file yang ditetapkan—hanya objek
  • OO languages (bahasa berorientasi objek): Java, C++, C# .NET, VB .NET

Pendekatan Berorientasi Objek Sistem: slide 40

PENDEKATAN BERORIENTASI OBJEK

  • Analisis berorientasi objek (OOA)

–          Menentukan jenis-jenis objek berdasarkan kebutuhan user

–          Memperlihatkan kasus-kasus penggunaan yang dibutuhkan untuk menyelesaikan tugas/pekerjaan

  • Desain berorientasi objek (OOD)

–          Menentukan jenis-jenis objek yang harus berkomunikasi dengan orang dan perangkat dalam sistem

–          Menampilkan bagaimana objek-objek berinteraksi untuk menyelesaikan pekerjaan

–          Menentukan tiap jenis objek untuk implementasi dengan bahasa khusus lingkungan

  • Pemrograman berorientasi objek (OOP)

–          Menulis pernyataan dalam bahasa pemrograman untuk menentukan jenis objek apa yang melakukan

Class Diagram dibuat selama analisis OO: slide 42

Variasi SDLC

Beberapa varian SDLC dalam praktek

  • Berdasarkan varian nama fase
  • Tidak masalah aktivitas/tugas mana yang mirip

Perhatian tambahan pada orang

  • User-centered design, participatory design
  • Sociotechnical systems

Kecepatan tambahan pengembangan

  • Pengembangan aplikasi cepat (RAD)
  • Prototyping

Siklus hidup dengan nama fase berbeda: slide 44

Trend baru dalam pengembangan

  • Lebih banyak pendekatan adaptif

v  The Unified Process (UP)

v  Extreme Programming (XP)

v  Agile Modeling

v  Scrum

  • Detailnya pada bab 16

The Unified Process (UP)

  • Pendekatan pengembangan berorientasi objek
  • Ditawarkan oleh IBM/rational

–          Booch, Rumbaugh, Jacobson

  • Unified Modeling Language (UML) digunakan terutama untuk pemodelan
  • UML bisa digunakan dengan teknologi OO apapun
  • UP menentukan empat fase siklus hidup

Insepsi, elbaorasi, konstruksi, transisi

  • Menguatkan enam praktek terbaik

–          Berkembang secara iteratif

–          Menentukan dan memanage kebutuhan sistem

–          Menggunakan arsitektur-arsitektur komponen

–          Menciptakan model-model visual

–          Memverifikasi model

–          Mengontrol perubahan-perubahan

Extreme Programming (XP)

  • Baru, ringan, pendekatan pengembangan untuk menjaga penyederhanaan dan efisiensi proses
  • Mendeskripsikan system support yang dibutuhkan dan diminta fungsionalitas sistem melalui cerita-cerita user informal
  • Memiliki user untuk mendeskripsikan uji penerimaan/kelayakan untuk mendemonstrasikan hasil yang telah ditetapkan
  • Bergantung pada testing dan integrasi berkelanjutan, sangat melibatkan user, pemrograman dilakukan oleh tim kecil

Agile Modeling

  • Hybrid of XP and UP (Scott Ambler); memiliki model lebih banyak dari XP, dokumen lebih sedikit daripada UP
  • Pemodelan interaktif dan inkremental

–          Menggunakan mode yang benar

–          Membuat beberapa model paralel

–          Model dalam inkremen-inkremen kecil

  • Kerja tim

–          Mendapatkan partisipasi stakeholder yang aktif

–          Mendorong kepemilikan kolektif

–          Model dengan yang lainnya dan menampilkan model ke publik

  • Kesederhanaan

–          Menggunakan isi sederhana

–          Menggambarkan sistem secara sederhana

–          Menggunakan tools pemodelan yang sangat sederhana

  • Validasi

–          Mempertimbangkan uji kemampuan

–          Membuktikan model yang benar dengan kode

Scrum

  • Untuk keperluan proyek adaptif tinggi
  • Merespon situasi secepat mungkin
  • Scrum mengacu pada rugby game

–          Keduanya cepat, cerdas, dan mengorganisir sendiri

–          Tim memelihara kontrol terhadap proyek

–          Nilai-nilai perorangan di atas proses

Tools untuk mendukung pengembangan sistem

  • Computer-aided system engineering (CASE)

–          Tools otomatis untuk meningkatkan kecepatan dan kualitas pekerjaan pengembangan sistem

–          Memiliki database informasi tentang sistem yang disebut repository

  • Upper CASE – mendukung analisis dan desain
  • Lower CASE – mendukung implementasi
  • ICASE – CASE Tools yang terintegrasi
  • Sekarang disebut alat pemodelan visual, alat pengembangan aplikasi terintegrasi, dan round-trip engineering tools

CASE Tool Repository memiliki semua informasi sistem

RANGKUMAN

  • Proyek pengembangan sistem diorganisir di sekitar siklus hidup pengembangan sistem  (SDLC)
  • Beberapa proyek menggunakan pendekatan prediktif  SDLC, dan yang lainnya lebih banyak menggunakan pendekatan adaptif SDLC
  • Fase SDLC mencakup perencanaan proyek, analisis, desain, implementasi, dan support
  • Dalam prakteknya, overlap fase, dan proyek memiliki beberapa iterasi analisis, desain, dan implementasi
  • Model, teknik, dan tools mendukung teknologi pengembangan sistem
  • Metodologi pengembangan sistem menyediakan panduan untuk menyempurnakan setiap aktivitas dalam SDLC
  • Metodologi-metodologi pengembangan sistem itu berbasiskan pendekatan tradisional atau pendekatan berorientasi objek
  • Trend baru mencakup: Extreme Programming (XP), Unified Process (UP), Agile Modeling, dan Scrum
  • CASE tools didesain untuk membantu para analis menyelesaikan tugas-tugas/pekerjaan pengembangan sistem

TERJEMAHAN INI BELUM DIEDIT

Sumedang, 4 September 2010

One response to “BAB 2 PENDEKATAN PENGEMBANGAN SISTEM

  1. Pingback: Archive for Satzinger -riandragon89

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s