pengembangan sistem informasiayu_ws.staff.gunadarma.ac.id/downloads/files/33373/01+psi_sdlc.pdf ·...
TRANSCRIPT
Tujuan
Menjelaskan definisi pengembangan sistemdan tahapan pada System Development Life Cycle (SDLC).
Menjelaskan macam-macam metodologipengembangan sistem baik yang secaratradisional maupun yang non tradisional.
Menjelaskan macam-macam pendekatan didalam pengembangan sistem.
Menjelaskan yang terlibat didalampengembangan sistem.
Menggambarkan 2 pendekatan yang digunakan untuk mengembangkan sisteminformasi : metode terstruktur dan metodeobject-oriented.
Menggambaran beberapa variasi dari System Development Life Cycle (SDLC).
Pengembangan Sistem
Pengembangan sistem informasi seringdisebut sebagai proses pengembangansistem (System Development).
Pengembangan sistem didefinisikansebagai :
1. Aktivitas untuk menghasilkan sisteminformasi berbasis komputer untukmenyelesaikan persoalan (problem) organisasi atau memanfaatkankesempatan (opportunities) yang timbul.
2. Menyusun suatu sistem yang baru untukmenggantikan sistem yang lama secarakeseluruhan atau memperbaiki sistem yang ada.
Pengembangan Sistem
Alasan pengembangan sistem adalah :
1. Adanya permasalahan : adanyaketidakberesan dan pertumbuhanorganisasi.
2. Untuk meraih kesempatan-kesempatan.
3. Adanya instruksi (pimpinan danpemerintah).
Pengembangan Sistem
Untuk menghasilkan sistem informasitersebut terdiri dari :
1. System Analysis : upaya mendapatkangambaran bagaimana sistem bekerjadan masalah-masalah apa saja yang adapada sistem.
2. System Development : langkah-langkah mengembangkan sisteminformasi yang baru berdasarkangambaran cara kerja sistem&permasalahan yang ada.
Pengembangan Sistem
Sumberdaya (resource) yang dibutuhkanuntuk pengembangan sistem informasiadalah :
1. Development Team (Tim Pengembang)
2. Development Toolkit
* Methods
* Technique
* Tools
* IT Resources : hardware, software, communications technology
Pengembangan Sistem
Untuk mengembangkan sistem informasi perlu dibentuk Tim Pengembang(Development Team) yang terdiri dari :
1. Project Manager
2. Business Analyst
3. System Analyst
4. Programmer
5. Change Manager
Pengembangan Sistem
Development Toolkit terdiri dari :1. Methods (Metoda) : suatu kerangka kerja
(framework) untuk membangun suatu sistemsecara menyeluruh.
2. Technique (Teknik) : bagian dari metoda untukmelaksanakan bagian dari tahapanpengembangan sistem.
3. Tools (Alat bantu) : suatu perangkat yang dapat digunakan untuk membantu pelaksaanpengembangan sistem. Tools harus dapatmendukung (support) metoda dan teknik yang digunakan dalam proses pengembangansistem.
Metodologi Pengembangan Sistem
Metodologi pengembangan sistemadalah suatu proses pengembangansistem yang formal dan presisi yang mendefinisikan serangkaian aktivitas, metode, best practices dan tools yang terautomasi bagi para pengembang danmanager proyek dalam rangkamengembangkan dan merawat sebagaikeseluruhan sistem informasi atausoftware.
Metodologi Pengembangan Sistem
Alasan perlunya metodologipengembangan sistem adalah :
1. Menjamin adanya konsistensi proses.2. Dapat diterapkan dalam berbagai jenis
proyek.3. Mengurangi resiko kesalahan dan
pengambilan jalan pintas.4. Menuntut adanya dokumentasi yang
konsisten yang bermanfaat bagipersonal baru dalam tim proyek.
Metode Pengembangan Sistem
1. System Development Life Cycle (SDLC)2. Prototyping3. Computer-Aided Software Engineering
(CASE) Tools4. Rapid Application Development (RAD)5. Joint Application Design (JAD)6. Agile Methodologies7. eXtreme Programming (XP)8. Model-Driven Development (MDD)9. Framework for the Application of System
Thinking (FAST)10. Pembelian Software Aplikasi
System Development Life Cycle (SDLC)
SDLC merupakan metode pengembangansistem paling tua dan sangat cocok untukpengembangan sistem yang besar.
Tidak sesuai atau tidak terlalu disarankanuntuk small scale project karena :
1. Banyak memerlukan sumber daya.2. Tidak fleksibel.3. Sulit untuk melakukan perubahan aplikasi
dengan pngambilan keputusan yang cepat.
SDLC lebih dari sekedar fase1. Prinsip Manajemen2. Perencanaan dan Pengawasan3. Pengorganisasian dan Penjadwalan4. Penyelesaian Masalah
System Development Life Cycle (SDLC)
Keuntungan :1. Adanya laporan setiap
akhir fase sehinggamemudahkan adanyakontrol/pengawasan.
2. Mudah melakukandokumentasi.
3. Dokumentasi secaraformal sehinggamemudahkanpenelusuran kembaliterhadap kebutuhanbisnis.
Kelemahan :1. Pengguna mendapatkan
produk sesuai denganpemahamanpengembang, yang belum tentu sesuaikebutuhan.
2. Dokumentasi mahal danmenghabiskan waktudalam pembuatan, danselaluberubah/mengalamiperbaikan.
System Development Life Cycle (SDLC)
System development life cycle (SDLC)
Menyediakan keseluruhan framework untukmengelola proses pengembangan sistem,formanaging systems development process.
2 Pendekatan Pengembangan SDLC
1. Predictive approach – assumes project can be planned out in advance.
2. Adaptive approach – more flexible, assumes project cannot be planned out in advance.
System Development Life Cycle (SDLC)
SDLC terdiri dari 5 fase
Masing masing fase terdiri dari aktivitas yang salingterkait/berhubungan.
3 aktivitas utama
1. Analisa : memahami kebutuhan bisnis.
2. Desain : membuat konsep solusi pengembangan sistemberbasi komputer.
3. Implementasi : konstruksi/pembuatan, testing, daninstalasi.
2 aktivitas tambahan
1. Perencanaan proyek.
2. Support/dukungan.
Fase Perencanaan
Mendefinisikan masalah.
Mengkonfirmasikan kelayakan proyek.
Membuat jadwal proyek.
Menentukan staff yang terlibat dalamproyek.
Memulai proses pengembangan proyek.
Fase Analisis
Mengumpulkan informasi. Mendefinisikan kebutuhan - kebutuhan
sistem. Membangun prototipe yang sesuai atau
memenuhi kebutuhan sistem. Menentukan prioritas kebutuhan sistem. Membuat prototipe atas prioritas dan
melakukan evaluasi terhadap alternatif yang dipilih.
Mereview rekomendasi terhadap pihakmanajemen.
Fase Desain
Desain Level Tinggi (Arsitektur Sistem)1. Desain dan integrasi jaringan2. Desain arsitektur aplikasi
Desain Level Rendah1. Desain user interface2. Desain sistem interface3. Desain dan integrasi database4. Prototype desain secara lengkap5. Desain dan integrasi pengawasan sistem
Fase Implementasi
Membangun komponen - komponenperangkat lunak.
Melakukan verifikasi dan pengujian.
Mengkonversi data.
Melakukan training user danmendokumentasikan sistem.
Menginstall sistem.
Model Waterfall (Linear Model of Development)
Setiap tahapan harus diselesaikan terlebihdahulu sebelum meneruskan ke tahapanberikutnya.
Model Waterfall (Linear Model of Development)
Keuntungan :1. Mudah dalam
penyusunanperencanaan danmelakukan estimasitahapan pelaksanaanmaupun biaya.
2. Mudah dalam me-managed pelaksanaan tahapan pengembangan sistem Informasi.
Kelemahan :1. Client & user baru
dapat mengetahuiwujud dari sisteminformasi yang dikembangkan pada tahap-tahap akhir (untuk linear model asli).
2. Pembuatan dokumenmemperlukan biayayang mahal danwaktu yang lama.
3. User seringkalikesulitan dalam me-review intermediated product (dokumen-dokumen).
Model Spiral/Iteratif
Setiap tahapan dapat dilaksanakanberulang-ulang sampai mendapatkan hasilyang diinginkan.
Setiap loop mewakili tahap proses rekayasa terbagi menjadi 4 sektor.
Model Spiral/Iteratif
Metode spiral dirancang secara revolusionerdengan tahapan yang jelas, tetapi terbukabagi partisipasi pemesan untuk ikut sertamenentukan pemodelan sistem.
Metode spiral lambat dan mahal karenasetiap tahapan yang dilalui harusmengikutsertakan pemesan.
Model spiral merupakan perbaikan dari model waterfall dan prototype. Menggabungkankeuntungan waterfall dan prototype danmemasukkan analisis resiko.
Model Spiral/Iteratif
Spiral melibatkan proses iterasi dimanasetiap iterasi bekerja pada satu level produk dimulai dari level prototype awalsampai pada level yang diinginkan.
Setiap perpindahan level didahului analisaresiko.
Prototyping (Iterative Model of Development)
Metode prototyping sebagai suatuparadigma baru dalam pengembangansistem informasi, tidak hanya sekedarsuatu evolusi dari metode pengembangansistem informasi yang sudah ada, tetapisekaligus merupakan revolusi dalampengembangan sistem informasimanajemen.
Prototyping (Iterative Model of Development)
Keuntungan :1. End user dapat
berpartisipasi aktif.2. Penentuan kebutuhan
lebih mudahdiwujudkan.
3. Mempersingkat waktupengembangan sisteminformasi dan relatiflebih mudahdibangun.
4. Kesalahan dankelalaian dalampengembangan dapatsegera diketahui.
Kelemahan :1. Proses analisis dan
perancangan terlalusingkat.
2. Mengesampingkanalternatif pemecahanmasalah.
3. Bisanya kurangfleksible dalammenghadapiperubahan.
4. Prototype yang dihasilkan tidakselamanya mudahdirubah.
5. Prototype terlalucepat selesai.
6. Dokumentasiseringkali tidaklengkap.
Prototyping (Iterative Model of Development)
Karakteristik metode prototyping meliputilangkah-langkah :
1. Pemilahan fungsi2. Penyusunan Sistem Informasi3. Evaluasi4. Penggunaan Selanjutnya
Jenis-jenis prototyping meliputi :1. Feasibility prototyping2. Requirement prototyping3. Desaign Prototyping4. Implementation prototyping
Computer-Aided Software Engineering (CASE ) Tools
Penggunaan software untuk membantupengembangan dalam merencanakan, menganalisa, mendesain, memprogram danmemelihara sistem informasi.
Software CASE dapat menghasilkan kodeprogram dan dukungan secara otomatisuntuk pengembangan sistem.
Proyek kamus/buku kerja: sistem deskripsi dan spesifikasi diagram alat.
Contoh produk: Oracle Designer, Rational Rose
Computer-Aided Software Engineering (CASE ) Tools
CASE disebut juga dengan Computer-Aided Information System Engineering (CAISE).
Banyak CASE yang dapat digunakan untukmembantu pengembangan sistem, mulaiyang support linear method sampai yang object-oriented.
CASE Tools ada 3 yaitu :1. Front-end CASE Tools : analysis & design
stage
2. Back-end CASE Tools : construction, implementasion, testing & maintenace stage
3. Integrated CASE Tools : kombinasi front dan back end
Rapid Application Development (RAD)
Metodologi untuk mengurangi waktu desain dan implementasi.
RAD adalah penggabungan beberapa metode atau teknikterstruktur. RAD menggunakan metode prototyping danteknik terstruktur lainnya untuk menentukan kebutuhanuser dan perancangan sistem informasi. RAD dapatmencakup prototyping, JAD, CASE tools, dan generator kode.
Rapid Application Development (RAD)
Proses pengembangan, meliputi : 1. Mempelajari apakah proyek
pengembangan sistem memenuhikriteria.
2. Mempelajari aktivitas bisnis perusahaan, menentukan area bisnis serta fungsiyang menjadi prioritas.
3. Membuat model dari fungsi-fungsi yang menjadi prioritas.
4. Memilih protype mana yang direview.5. Implementasi Sistem Informasi
Joint Application Design (JAD)
JAD merupakan suatu kerjasama yang terstrukturantara pemakai sistem informasi, manajer dan ahlisistem informasi untuk menentukan dan menjabarkanpermintaan pemakai, teknik yang dibutuhkan danunsur rancangan eksternal.
Proses terstruktur yang melibatkan pengguna, analis,dan manajer. Membutuhkan beberapa hari sesiworkgroup intensif.
Tujuan JAD adalah memberi kesempatan kepada userdan manajemen untuk berpartisipasi secara luasdalam siklus pengembangan sistem informasi danuntuk menentukan serta meninjau persyaratansistem.
Agile Methodologies
Termotivasi oleh pengakuan pengembangan perangkat lunak sebagai sesuatu yang tak terduga dan dinamis.
Tiga prinsip kunci :1. Adaptif dibanding prediksi.
2. Menekankan pada orang dibanding peran.
3. Self-adaptif proses.
eXtreme Programming (XP)
Siklus pengembangan incremental, digunakan untuk siklus pendek.
Otomatis tes. Dua orang tim pemrograman. Pengkodean dan pengujian beroperasi
bersama-sama.
Keuntungan :1. Komunikasi antara pengembang.2. Tinggi tingkat produktivitas.3. Tinggi kualitas kode.
Model-Driven Development (MDD)
Suatu teknik yang menekankanpenggambaran model untukmemvisualisasikan dan menganalisismasalah, mendefinisikan proses bisnis danmerancang sistem informasi.
Pendekatan dalam teknik pemodelan MDD adalah :
1. Structured Analysis Design : berorintasiproses.
2. Information Engineering : berorientasi data.3. Object-Oriented Analysis and Design :
menggabungkan orientasi proses dan data ke dalam bentuk objek.
Structured Analysis Design
Teknik yang digunakan membangunbehaviour dari suatu sistem informasi.
Tool yang digunakan adalah DFD (Data Flow Diagrams), Data dictionary, Process description.
Information Engineering
Teknik yang digunakan membangun(sistem) informasi yang terstruktur.
Tools yang digunakan adalah ERD (Entity-Relationship diagrams), Normalisasidatabase.
Object-Oriented Analysis and Design
Teknik yang digunakan untuk membangunobyek-obyek yang ada di dalam sisteminformasi.
Tools yang digunakan adalah UML (Unified Modelling Language), STD (State transition diagrams).
(Framework for the Application of System Thinking) FAST
FAST adalah sebuah contoh framework proses pengembangan sistem.
Urutan FAST adalah :
Scope Definition – Problem Analysis –Requirement Analysis – Decision Analysis – Logical Design – Physical Design & Integration – Construction & Testing –Installation & Delivery.
Pembelian Software Aplikasi
Alternatif lain dalam metodepengembangan sistem adalah denganmembeli software aplikasi yaitu paketsoftware yang sudah jadi. Misalnya sepertiSAP, MSProject dan lain-lain.
Digunakan untuk aplikasi yang sifatnyaumum seperti payroll dan akunting. Selainitu software berbasis enterprise sudahtersedia seperti Oracle dan SAP.
Pendekatan Pengembangan Sistem
Pendekatan pengembangan sistem yang dapat digunakan antara lain :
1. Metodologi Yang Digunakan
2. Sasaran Yang Dicapai
3. Cara Menentukan Kebutuhan Dari Sistem
4. Cara Mengembangkannya
5. Teknologi Yang Digunakan
Metodologi Yang Digunakan
Pendekatan Klasik (Classical Approach) atauPendekatan Tradisional (Traditional Approach) atau Pendekatan Konvensional (Conventional Approach)Metodologi pengembangan sistem denganmengikuti tahapan-tahapan dalam System Development Life Cycle.
Pendekatan Terstruktur (Structured Approach)Metodologi pengembangan sistem denganmenggunakan tools dan teknik yang dibutuhkandidalam pengembangan sistem.
Sasaran Yang Dicapai
Pendekatan Sepotong (Piecerneal Approach)Pendekatan pengembangan sistem denganmenekankan pada satu aplikasi tertentu tanpamemperhatikan posisi atau sasaran sisteminformasinya secara global.
Pendekatan Sistem (Systems Approach)
Pendekatan pengembangan sistem denganmemperhatikan sistem informasi sebagai suatukesatuan terintegrasi dan menekankansasarannya secara global.
Cara Menentukan Kebutuhan Dari Sistem
Pendekatan Dari Bawah Ke Atas (Bottom-up Approach)Pendekatan pengembangan sistem dimulaidari level paling bawah organisasi yaitu level oprasional. Termasuk dalam pendekatanklasik, dalam tahapan analisis dikenal dengandata analysis.
Pendekatan Dari Atas Ke Bawah (Top-down Approach)Pendekatan pengembangan sistem dimulaidari level paling atas organisasi yaitu level perencanaan. Termasuk dalam pendekatanterstrktur, dalam tahapan analisis dikenaldengan decision analysis.
Cara Mengembangkannya
Pendekatan Sistem MenyeluruhPendekatan pengembangan sistem secaraserentak tanpa dibagi-bagi sehingga menjadisulit untuk dikembangkan. Sama sepertipendekatan klasik.
Pendekatan ModulerPendekatan pengembangan sistem denganmemecah-mecah suatu sistem yang kompleksmenjadi suatu modul yang sederhana, sehinggaakan menjadi lebih mudah dipahami dandikembangkan. Sama seperti pendekatanterstruktur.
Teknologi Yang Digunakan
Pendekatan Lompatan Jauh (Great Loop Approach)Pendekatan pengembangan sistem yang melakukan perubahan secara menyeluruhserentak dengan teknologi canggih, sehinggamuncul resiko yang terjadi.
Pendekatan Berkembang (Evolution Approcah)Pendekatan pengembangan sistem yang menerapkan teknologi canggih hanya padaaplikasi yang memerlukan saja dan dilakukanpengembangan setiap waktunya.
Yang Perlu Dilakukan Analis Sistem
Analis sistem perlu memilih pendekatan khusus untuk mengembangkan suatu sistem informasi - ada banyak alternatif.
Analis perlu untuk memahami metodologi istilah, model, alat dan teknik.
Analis menggunakan alat untuk menyelesaikan kegiatan dan untuk menghasilkan model.
Metodologi, Model, Teknik dan Tools
Metodologi merupakan kumpulan teknik yang digunakan untuk menyelesaikan semua kegiatan SDLC.
Model merupakan representasi aspek penting dari dunia nyata - abstraksi atau penyederhanaan.
Teknikmenghasilkan model (antara lain). Tools merupakan perangkat lunak
pendukung yang membantu membuat model atau komponen proyek lainnya.