UNIVERSITAS MERCU BUANA Modul Perkuliahan Pertemuan ke 2
• Mata Kuliah – Analisa & Perancangan Berorientasi Obyek
• SKS – 3 SKS
• Dosen Pengampu – Mujiono Sadikin, ST. MT
• Referensi – Alan Dennis, Barbara Haley Wixon, David Tegarden, Systems Analysis and Design: an Object-Oriented Approach with UML 2.0, John Wiley and Sons, 2005 – Grady Booch, Object Oriented Analysis and Design With applications, Rational Santa Clara, California, 1998 (e book)
Evolusi Pengembangan Sistem
Metodologi ? • Pendekatan formal, urutan tahapan • Metodologi merupakan pendekatan formal atas implementasi SDLC • Metodologi yang digunakan akan bervariasi memperhatikan kebutuhan proses bisnis, atau data yang mendukung proses bisnis.
Metodologi berbasis Proses • Dengan metodologi ini, fokus pda pendifinisian aktivitas yang berasosiasi dengan sistem • Konsentrasi pada representasi konsesp sistem sebagai sekumpulan proses dengan informasi yang mengalir ke atau dari sistem
Metodologi Berbasis Data • Metodologi ini fokus pada pendefinisian konten (isi) dari media penyimpan data dan bagaimana isi tersebut diorganisasikan • MBD meutilize model – model data sebagai inti dari konsep sistem
Analisa dan Perancangan Berbasis Obyek • Mengusahakan keseimbangan perhatian pada data dan proses • Menggunakan UML sebagai diagram – Use Case Driven – Archictecture Centric – Iterative & Incremental
Kategori Metodologi Pengembangan • Perancangan terstruktur – Waterfall – Parallel
• Rapid Application Development (RAD) – Phased Development – Prototyping – Throw Away Prototyping
• Agile Development – Extreme Programming – Scrum
Perancangan Terstruktur • Proyek bergerak berdasar metodologi dari satu tahap ke tahap berikutnya • Secara umum satu tahap diselesaikan sebelum tahap berikutnya diselesaikan • Metodologi perancangan mengenalkan penggunaan formal modelling / teknik diagram untuk mendeskripsikan suatu PB dasar sistem dan mengikuti pendekatan dasar dari 2 perancangan terstruktur di atas
Metodologi Waterfall Tahapan – tahapan mulai dari analisa sampai dengan implementasi diproses secara berurut
Waterfall • Kelebihan – Kebutuhan sistem diidentifikasi sebelum pemrograman dimulai – Perubahan kebutuhan diminimalisir
• Kelemahan – Perancangan harus benar – benar diselesaikan sebelum pemrograman dimulai – Waktu yang dibutuhkan antara proposal sistem pada fase analisis dan penyediaan sistem relatif lebih lama – Jika tim pengembang melakukan kesalahan dalam pendefinisian kebutuhan, diperlukan usaha ekstra saat diperlukan untuk implementasi pada pemrograman lebih
Parallel Development • Dikembangakan untuk mengatasi interval waktu yang terlalu lama antara fase analisa dan fase penyediaan sistem • Rancangan umum untuk keseluruhan sistem diselesaikan kemudian proyek dibagi-2 menjadi beberapa sub proyek untuk dikerjakan secara serial - paralel
Parallel Development
Rapid Application Development (Pengembangan Cepat) • Penyesuaian fase – fase SDLC dengan mengidentifikasi beberapa bagian dari sistem untuk dibangun dan disampaikan kepada pengguna secara cepat • Kebanyakan RAD dilakukan dengan menggunakan teknik khusus dan penggunaan bantuan tools untuk mempercepat proses analisa, perancangan dan implementasi. Tools seperti ini disebut CASE – – – –
CASE tools JAD sessions Bahasa pemrograman generasi ke 4 Code generator (Pembangkit Code)
RAD • Permasalahan tersembunyi yang mungkin timbul dengan penggunaan RAD adalah bagaimana mengelola ekspektasi pengguna yang sering tidak terkendali • Kategori RAD – Phased Development, serangkaian versi – versi sistem – Prototyping, system prototyping – Throw away prototyping, design prototyping
Phased Development • Dengan metodologi ini keseluruhan sistem dipecah (dibagi) menjadi beberapa versi yang dibangun secara sekuensial • Tim pengembang mengkategorisasikan kebutuhan sistem ke dalam serangkaian versi, selanjutnya kebutuhan-2 dasar dibundle sebagai versi pertama (1) • Setiap kali satu versi diselesaikan, dilanjutkan pembangunan versi berikutnya
Phased Development
Prototyping • Dengan metode prototyping tahapan analisa, perancangan dan implementasi dilakuan secara (hampir) bersamaan / concurent • Ketiga fase di atas dikerjakan secara berulang membentuk model lingkaran sampai dengan sistem diselesaikan • Suatu prototype adalah versi simple dari sistem dengan minimal fungsi/fitur yang harus ada dalam sistem
Bagaimana Sistem Bekerja
Prototipe • Kelebihan – Sistem lebih awal berinteraksi dengan, meskipun belum siap untuk digunakan
• Kekurangan – Sering prototipe mengakibatkan perkembangan kebutuhan pengguna yang tidak terkendali, disebabkan karena perancancangan awal yang lemah
Throwaway Prototyping • Mirip dengan prototyping • Perbedaan utama adalah sistem diselesaikan pada poin yang berbeda dalam SDLC
Agile Development • Metode ini fokus pada bagaiman menstreamline SDLC dengan mengeliminasi sebanyak mungkin pemodelan dan dokumentasi yang banyak menghabiskan waktu • Tim proyek memberikan penekanan pada pembangunan aplikasi dengan sederhana dan bersifat iterativ • Metode AD mengguna extreme programming
Extreme Programming • Extreme Programming (XP), pemrograman esktrim dibuat berdasarkan empat pilar – – – –
Komunikasi Kesederhanaan Umpan balik Keberanian
• Prinsip utama XP adalah: – Keberlangsungan uji coba – Kesederhanaan program sumber – Interaksi yang masif dengan pengguna akhir guna membangun sistem secara masif
Extreme Programming
Pemilihan Metodologi • Memilih metodologi pengembangan sistem bukan hal yang mudah/sederhana, tidak ada satu metodologi yang cocok untuk seluruh kasus • Kebanyakan organisasi telah mempunyai standard masing – masing
Kriteria – kriteria pemilihan metodologi
Kejelasan Kebutuhan Pengguna • Metodologi RAD, Throwaway Prototyping biasanya lebih sesuai jika kebutuhan pengguna tidak terlalu jelas, karena menyediakan prototipe bagi user sebagai media interaksi di awal – awal tahapan SDLC
Familiaritas Dengan Teknologi • Jika sistem didisain dengan tanpa kebiasaan /pengenalan terhadap teknologi yang akan digunakan, risiko akan bertambah karena tools (kakas) tidak mencukupi untuk mengerjakan apa yang diperlukan
Kompleksitas Sistem • Sistem yang komplek memerlukan analisa dan perancangan yang rinci dengan tingkat ketelitian yang mencukupi • Tim proyek yang menganut metodologi berbasis tahapan pengembangan cenderung untuk memberikan perhatian yang kurang kepada analisa terhadap keseluruhan permasalahan daripada jika mereka menggunakan metodologi yang lain
Reliablity sistem • System reliability biasanya merupakan faktor yang penting dalam pengembangan sistem • Metodologi berbasis Throwaway prototyping merupakan pilihan utama jika reliability sistem merupakan prioritas yang tinggi • Metodologi berbasis prototyping umumnya bukan pilihan yang baik karena kesenjangan pada fase analisa dan perancangan
Jadwal yang Pendek • Metodologi berbasis RAD sesuai digunakan untuk proyek-2 dengan jadwal yang ketat karena kecepatannya • Metodologi Wfall merupakan pilihan yang paling tidak baik jika waktu merupakan hal yang esensial karena tidak mudah menyesuaikan jadwal bila menggunakan metode ini
Tugas dan Keahlian Tim Pelaksana
Tugas dan keahlian tenaga pelaksana • Proyek sebaiknya terdiri dari personal dengan berbagai macam keahlian agar pembangungan sistem dapat berhasil dengan baik • Bagi seorang analyst sebaiknya menguasai paling tidak menguasai enam keahlian – – – – – –
Teknis Bisnis Analisis Interpersonal Manajerial Etika
Kategori Analyst Analyst Bisnis Analyst Sistem Analyst Infrastruktur Analyst pengelolaan perubahan (change management) • Manajer Proyek
• • • •
Tugas Tim Proyek
Studi Kasus & Tugas Menerapkan Tahap Awal SDLC Membuat Sistem Proposal