2
Analisis dan Desain Sistem
2
Overview
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
2
The 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.
2
2
SDLC 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
2
2
SDLC 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)
2
2
Pendekatan Waterfall yang dimodifikasi dengan
2
Pendekatan 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
2
2
Iteration of
System
Development
Activities
2
Aktivitas 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
2
Aktivitas 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)
2
Aktivitas 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
2
Aktivitas desain pada SDLC
Mendesain dan mengintegrasikan jaringan
Mendesain arsitektur aplikasi
Mendesain User interface
Mendesain interface sistem
Mendesain dan mengintegrasikan database
2
Aktivitas tahapan Implementasi pada
SDLC
Menginstal komponen-komponen perangkat lunak
(software) yang dibutuhkan
Verifikasi sistem dan pengujian
Konversi data
2
Tahapan 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.
2
Metodologi 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
2
2
Tools 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
2
Beberapa tool yang digunakan dalam
pengembangan sistem (System
2
2
2
Dua 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
2
Pendekatan 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
2
2
Top-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
2
2
Desain 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
2
Structure Chart dibuat dengan
2
Analisis 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
2
Data Flow Diagram (DFD) dirancang dengan
2
Entity-Relationship Diagram (ERD)
Created Using Structured Analysis
2
Structured Analysis Leads to Structured Design
2
Information 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
2
Object-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
2
2
Object-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)
masing-2
2
Variasi 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
2
2
Trend terkini dalam pengembangan
Sistem
Beberapa pendekatan adaptive
The Unified Process (UP)
Extreme Programming (XP)
Agile Modeling
Scrum
2
The 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
2
Extreme 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
2
Agile 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
2
Agile Modeling (
continued)
Simplicity
Menggunakan konten yang simple
Menggambarkan model sederhana
Menggunakan tool desain yang simple
Validation
Memungkinkan Uji kemampuan sistem
2
Scrum
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
2
Tools 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
2
2
Summary
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
2
Summary (
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
2
Summary (
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