Title: Analisis dan Desain Sistem
1Analisis dan Desain Sistem
Pendekatan Pengembangan Sistem
2Overview
- Proyek pengembangan sistem
- Merencanakan proyek dari awal hingga akhir
- Menciptakan sebuah produk
- Dapat berupa proyek yang besar atau proyek yang
kecil - Successful development project
- Memiliki perencaan yang detail
- Terorganisir, tahapan-tahapan kegiatan dijabarkan
dengan sangat jelas. - Mengembangkan sistem yang baik, efisien.
3The Systems Development Lifecycle (SDLC)
- Systems development life cycle (SDLC)
- Merupakan serangkaian aktivitas yang digunakan
untuk memanage proses pengembangan sistem. - Dua pendekatan utama SDLC
- Pendekatan Prediktif asumsinya dari awal proyek
sudah bisa di prediksi dengan baik. - Pendekatan Adaptif lebih fleksibel, diasumsikan
proyek tidak dapat direncanakan dari awal secara
detail. - Keduanya menggunakan berbagai variasi dari SDLC
4Memilih SDLC Prediktif atau Adaptif (Figure 2-1)
5SDLC pendekatan Tradisonal (prediktif)
(Traditional Predictive Approach to the SDLC)
- Project planning tujuannya adalah untuk
mengidentifikasi skup dari sistam baru, menjamin
proyek agar visible, dan membuat jadwal,
perencanaan sumber daya, dan anggaran yang
dibutuhkan dalam pelaksanaan proyek. - Analysis bertujuan untuk memahami dan
mendokumentasikan detail dari kebutuhan bisnis
dan kebutuhan proses dari sistem baru - Design bertujuan untuk mendesain solusi sistem
berbasis pada kebutuhan yang didefinisikan dan
pembuatan keputusan terhadap hasil analisis. - Implementation bertujuan membangun, menguji dan
menginstall sebuah sistem informasi yang dapat
dipercaya - Support bertujuan untuk menjaga agar sistem
tetap berjalan dengan produktif dan sistem dapat
memiliki daya tahan selama bertahun-tahun
6Information System Development Phases
7SDLC and Problem Solving
- Persamaan SDLC dan problem-solving pada pertemuan
2 - Mengenali permasalahan organisasi (project
planning) - Investigasi tim pelaksana proyek, memahami
permasalahan dan kebutuhan untuk pemecahan
masalah (analysis) - Solusi yang dijelaskan secara detail (design)
- Sistem yang dapat menyelesaikan masalah dibangun
dan diinstall (implementation) - Sistem digunakan, dipelihara, dan dikembangkan
terus menerus untuk mencapai keuntungan yang
diinginkan (support)
8Pendekatan SDLC Waterfall
9Pendekatan Waterfall yang dimodifikasi dengan
overlapping di beberapa fase (Figure 2-5)
10Pendekatan SDLC adaptif
- Didasarkan pada model spiral
- Iterasi tahapan-tahapan dalam pengembangan sistem
sampai sistem selesai dibangun - Prototipe sistem dihasilkan pada akhir iterasi
- Digunakan untuk meminimisasi risiko
- Iterasi pekerjaan yang dilakukan berulang
- Masing masing iterasi merupakan perbaikan dari
hasil sebelumnya - Asumsinya tidak ada satupun pekerjaan dilakukan
dengan sempurna pada tahapan pertama - Terdapat rangkaian proyek-proyek kecil pada
setiap iterasi
11The Spiral Life Cycle Model (Figure 2-6)
12Iteration of System Development
Activities(Figure 2-7)
13Aktivitas untuk masing masing SDLC
- Baik prediktif maupun adaptif tetap menggunakan
SDLC - Aktivitas dari setiap tahapan sama
- Tapahan tidak selalu berurut
- Setiap tahapan bisa saja overlap
- Pekerjaan pada setiap tahapan bisa saja selesai
pada iterasi pertama (tidak ada iterasi)
14Aktivitas Tahapan perencanaan (Planning) pada SDLC
- Mendefinisikan permasalahan bisnis dan scopenya.
- Membuat detail rencana pekerjaan.
- Studi kelayakan proyek
- Ekonomi, organisasi, teknis, sumber daya dan
jadwal - Penentuan staff yang terlibat dalam proyek
(manajemen sumberdaya) - Memulai proyek
15Aktivitas Analisis pada SDLC
- Mengumpulkan informasi dan mempelajari domain
masalah - Mendefinisikan kebutuhan sistem
- Membangun prototipe untuk mendefinisikan
kebutuhan sistem - Penentuan prioritas terhadap kebutuhan sistem
- Membuat dan mengevaluasi alternatif alternatif
pemecahan masalah - Mereview rekomendasi dengan team
16Aktivitas desain pada SDLC
- Mendesain dan mengintegrasikan jaringan
- Mendesain arsitektur aplikasi
- Mendesain User interface
- Mendesain interface sistem
- Mendesain dan mengintegrasikan database
- Membangun detail desain prototipe dari sistem
17Aktivitas tahapan Implementasi pada SDLC
- Menginstal komponen-komponen perangkat lunak
(software) yang dibutuhkan - Verifikasi sistem dan pengujian
- Konversi data
- Melatih pengguna dan mendokumentasikan sistem
- Melakukan instalasi sistem
18Tahapan Support pada SDLC
- Pemeliharan sistem
- Small patches, repairs, and updates
- Pengembangan sistem
- Upgrade atau mengexpand kemampuan sistem dalam
skala kecil - Upgrade atau mengexpand kemampuan sistem dalam
skala besar ? membutuhkan sebuah proyek baru. - Support terhadap Pengguna
- Help desk and/or support team
19Metodologi dan Model
- Metodologi
- Penduan komprehensif yang harus diikuti untuk
menyelesaikan setiap tahapan SDLC - Koleksi model, tools (perangkat), dan teknik
- Model
- Representasi dari dunia nyata tapi tidak sama
dengan dunia nyata - Abstraksi untuk memisahkan berbagai aspek
- Diagrams and grafik
- Perencanaan proyek dan budgeting
20Beberapa Model yang Digunakan dalam Pengembangan
Sistem
21Tools and Teknik
- Tools
- Perangkat lunak yang membantu dalam pembuatan
model atau komponen proyek (pekerjaan) - Mulai dari program sederhana yang digunakan untuk
menggambar sampai CASE tool yang kompleks dalam
manajemen pengembangan perangkat lunak - Teknik
- Kumpulan panduan yang digunakan untuk membantu
analis dalam menyelesaikan pekerjaannya. - Dapat berupa instruksi tahap demi tahap atau
instruksi secara general
22Beberapa tool yang digunakan dalam pengembangan
sistem (System Development)
23Beberapa Teknik yang digunakna dalam pengembangan
Sistem
24Hubungan antar komponen dari Metodologi
25Dua pendekatan dalam Pengembangan Sistem (System
Development)
- Traditional approach
- Biasa dikenal dengan pendekatan pengembangan
sistem terstruktur (structured system
development) - Structured analysis and design technique (SADT)
- Includes information engineering (IE)
- Object-oriented approach
- Juga disebut OOA, OOD, and OOP
- Memandang sistem informasi sebagai sebagai
koleksi obyek yang bekerja sama untuk
menyelesaikan pekerjaan.
26Pendekatan Tradisional (Terstruktur)
- Pemrograman Terstruktur (Structured programming)
- Meningkatkan kualitas dari program
- Memungkingkan programmer untuk memudahkan dalam
membaca dan memodifikasi kode program - Masing masing modul program dimulai dan
diakhiri dalam satu kali proses pekerjaan - Tiga tahapan pemgrograman (berurutan, keputusan,
pengulangan)
27Tiga Pekerjakaan dalam Pemrograman terstruktur
28Top-Down Programming
- Membagi sebuah program yang kompleks ke dalam
modul-modul - Modul utama disebut sebagai lower level modules
- Modular programming
- Similar to top-down programming
- Sebuah program memanggil program lain untuk
bekerja sama dalam sebuah sistem
29Top-Down or Modular Programming
30Desain Terstruktur
- Teknik yang dibuat menjadi panduan dari desain
- Sekumpulan program apa yang sebaiknya digunakan
- Program apa yang seharusnya yang digunakan untuk
menyelesaikan - Bagaimana program-program harus di organisasi
menjadi suatu hirarki - Modul diperlihatkan dengan menggunakan grafik
struktur - Prinsip utama dari modul program
- Hubugan yang lemah suatu modul tidak tergantung
pada modul lain - Hubungan yang kuat modul memiliki satu fungsi
yang jelas
31Structure Chart dibuat dengan menggunakan
pendekatan terstruktur
32Analisis dengan Metode Terstruktur
- Mendefinisikan apa yang akan dikerjakan oleh
sistem (processing requirements) - Mendefinisikan kebutuhan data dari sistem untuk
disimpan dan digunakan (data requirements) - Mendefinisikan input dan output
- Mendefinisikan bagaimana sistem dapat bekerja
secara bersama-sama untuk menyelesaikan masalah - Data flow diagrams (DFD) and entity relationship
diagrams (ERD) menunjukkan hasil dari kegiatan
analisis dengan pendekatan terstruktur
33Data Flow Diagram (DFD) dirancang dengan
pendekatan Terstruktur (Figure 2-15)
34Entity-Relationship Diagram (ERD) Created Using
Structured Analysis Technique
35Structured Analysis Leads to Structured Design
and Structured Programming (Figure 2-17)
36Information Engineering (IE)
- Perbaikan dari pendekatan terstruktur dalam
pengembangan sistem - Metodologi yang dilengkapi dengan strategic
planning, data modeling, automated tools focus - Lebih lengkap dan ketat dibangdingkan dengan SADT
- Industri menggabungkan pengembangan terstruktur
dan IE kedalam pendekatan tradisonal
37Object-Oriented Approach
- Merupakan pendekatan berbeda dalam pengembangan
sistem - Melihat informasi sebagai koleksi dari dari obyek
yang saling berinteraksi dan bekerja sama untuk
menyelesaikan permasalahan - Objects sesuatu dalam sistem komputer yang
merespon pesan - Konsptualisasi, tanpa proses, program, entitas
data, atau file hanya obyek - Bahasa pemrograman OO Java, C, C .NET, VB
.NET
38Object-Oriented Approach to Systems
39Object-Oriented Approach (continued)
- Object-oriented analysis (OOA)
- Mendefinisikan tipe dan obyek yang dibutuhkan
oleh pengguna - Membangun kebutuhan use cases dalam penyelesaian
masalah - Object-oriented design (OOD)
- Mendefinisikan tipe obyek yang dibutuhkan untuk
menkomunikasikan orang dengan perangkat di dalam
sistem - Menggambarkan bagaimana obyek berinteraksi dalam
menyelesaikan pekerjaan - Memperbaiki setiap obyek untuk diimplementasikan
ke dalam sebuah bahasa pemrograman - Object-oriented programming (OOP)
- Menuliskan pernyataan dalam sebuah bahasa
pemrograman untuk mendefinisikan apa yang harus
dikerjakan oleh masing-masing obyek
40Class Diagram Created During OO Analysis
41Variasi dari SDLC
- Beberapa variasi dari tahapan SDLC
- Based on variation of names for phases
- No matter which one, activities/tasks are similar
- Beberapa pengembangan terkait orang
- User-centered design, participatory design
- Sociotechnical systems
- Beberapa pengembangan terkait kecepatan
pembangunan perangkat lunak - Rapid application development (RAD)
- Prototyping
42Berbagai Variasi dari Life Cycles (Figure 2-20)
43Trend terkini dalam pengembangan Sistem
- Beberapa pendekatan adaptive
- The Unified Process (UP)
- Extreme Programming (XP)
- Agile Modeling
- Scrum
- Details on each in Chapter 16
44The Unified Process (UP)
- Pengembangan sistem dengan pendekatan
object-oriented - Offered by IBM / Rational
- Booch, Rumbaugh, Jacobson
- Unified Modeling Language yang sering digunakan
dalam permodelan - UML dapat digunakan dalam beberapa metodologi OO
. - UP didefinisikan dalam empat fase iterasi yaitu
- Inception, elaboration, construction, transition
45Extreme Programming (XP)
- Terbaru, ringan, pendekatan untuk menjaga agar
proses menjadi simple dan efisien. - Mendeskripsikan kebutuhan pendukung sistem dan
fungsional sistem yang dibutuhkan diantara
sejarah pengguna informal - mendeskripsikan uji terima sistem untuk untuk
memdemonstrasikan keluaran yang terdefinisi - menyandarkan pada pengujian secara kontinu dan
terintegrasi, peranan user menjadi dominan dalam
programming dengan yang dikerjakan oleh tim yang
kecil
46Agile Modeling
- Gabungan antara XP and UP (Scott Ambler) has
more models than XP, fewer documents than UP - Interactive and Incremental Modeling
- Apply right models
- Membuat serangkaian model secara paralalel
- Pengembangan secara incremental (sedikit demi
sedikit) - Teamwork
- Memunculkan partisipasi aktif dari stakeholder
- Mendorong kepemilikan kolektif
- Terbuka dengan orang lain
47Agile Modeling (continued)
- Simplicity
- Menggunakan konten yang simple
- Menggambarkan model sederhana
- Menggunakan tool desain yang simple
- Validation
- Memungkinkan Uji kemampuan sistem
- Membuktikan model yang tepat
48Scrum
- digunakan pada proyek yang membutuhkan pendekatan
sangat adaptif - merespon berbagai situasi dengan cepat
- scrum sendiri mengarah pada rugby game yang
keduanya cepat, cerdas dan dapat menyesuaikan
diri - Both are quick, agile, and self-organizing
- tetap mengontrol setelah proyek diselesaikan
- memberikan nilai kepada individu setelah proyek
diselesaikan
49Tools to Support System Development
- Computer-aided system engineering (CASE)
- tool otomatis yang digunakan untuk meningkatkan
kecepatan dan kualitas pembangunan sistem - terdiri dari database dan informasi repository
terpanggil - Upper CASE mensupport kegiatan analisis dan
desain - Lower CASE mensupport dalam implementasi
- ICASE integrated CASE tools
- Saat ini biasa disebut dengan visual modeling
tools, integrated application development tools,
and round-trip engineering tools
50CASE Tool Repository Contains All System
Information
51Summary
- System development projects are organized around
the systems development life cycle (SDLC) - Some projects use a predictive approach to the
SDLC, and others use a more adaptive approach to
the SDLC - SDLC phases include project planning, analysis,
design, implementation, and support
52Summary (continued)
- In practice, phases overlap, and projects contain
many iterations of analysis, design, and
implementation - Models, techniques, and tools make up a system
development methodology - System development methodology provides
guidelines to complete every activity in the SDLC
53Summary (continued)
- System development methodologies are based on
traditional approach or object-oriented approach - Current trends include Extreme Programming (XP),
Unified Process (UP), Agile Modeling, and Scrum - CASE tools are designed to help analysts complete
system development tasks