Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN

dokumen-dokumen yang mirip
Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) Siklus Hidup Perangkat Lunak (SWDLC/Software Development Life Cycle)

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

SOFTWARE PROCESS MODEL I Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS

SOFTWARE PROCESS MODEL

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

PENGEMBANGAN PERANGKAT LUNAK

Aplikasi yang pendekatannya sistematis, disiplin, bisa terukur untuk pengembangan operasional dan pembuatan software. Tools. Methods.

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

Jenis Metode Pengembangan Perangkat Lunak

Hanif Fakhrurroja, MT

Pengembangan Sistem Informasi

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)


System Development Life Cycle (SDLC)

Hanif Fakhrurroja, MT

REKAYASA PERANGKAT LUNAK I

Teknik Informatika S1

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

Systems Development Life Cycle (SDLC)

A Layered Technology

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

Tugas Softskill. Universitas Gundarma. : Sistem Informasi Manajemen. : Waldhi Supriono NPM : Kelas : 2 DB 12

5. Aktivitas generic dalam semua proses perangkat lunak antara lain adalah : a. Spesifikasi dan pengembangan b. Validasi dan evolusi c.

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

BAB III METODOLOGI PENELITIAN. Metode pengumpulan data yang digunakan pada penelitian ini berupa studi

Produk perangkat lunak tersebut:

REKAYASA PERANGKAT LUNAK

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

The Process. A Layered Technology. Software Engineering. By: U. Abd. Rohim, MT. U. Abd. Rohim Rekayasa Perangkat Lunak The Process RPL

Rekayasa Perangkat Lunak DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

TUGAS I MANAGEMENT PROYEK SOFTWARE ENGINEERING. Disusun Oleh :

STMIK AMIKOM YOGYAKARTA

PENDAHULUAN REKAYASA PERANGKAT LUNAK. By PresenterMedia.com

THE SOFTWARE PROCESS

REKAYASA PERANGKAT LUNAK

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

Pengembangan Sistem Informasi

PEMELIHARAAN PERANGKAT LUNAK (SOFTWARE MAINTENANCE)

BAB II LANDASAN TEORI. untuk menyelesaikan suatu sasaran yang tertentu (Jogiyanto, 2005:1).

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

Rekayasa Perangkat Lunak

3.1 PENGERTIAN PROTOTYPING MODEL

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development

STMIK AMIKOM YOGYAKARTA

SIKLUS HIDUP PERANGKAT LUNAK

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

BAB II LANDASAN TEORI. beberapa ahli, definisi sistem adalah sebagai berikut.

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

Pendahuluan Rekayasa Perangkat Lunak

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pertemuan 1 PENGENALAN REKAYASA PERANGKAT LUNAK

Pengembangan Sistem Informasi

PEMODELAN ANALISIS PL

KELOMPOK 1. Metode Pengembangan Sistem Informasi. Imelda Florensia Stefani. P.

Fase Desain Proyek Perangkat Lunak

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

MODEL SDLC MODEL SDLC FIRDAUS SOLIHIN UNIVERSITAS TRUNOJOYO WATERFALL PROTOTYPE SPIRAL

BAB 1 PENDAHULUAN. tidak bisa dipisahkan dari proses bisnis, bahkan tidak jarang teknologi informasi menjadi

Metodologi Pengembangan Sistem Informasi

Software Proses. Model Proses Perangkat Lunak. Pengembangan Perangkat Lunak. Framework activities 3/20/2018. System Development Life Cycle (SDLC)

Perancangan Perangkat Lunak

KENDALI MANAJEMEN MUTU

BAB II LANDASAN TEORI. tenaga kerja pada perusahaan, fokus yang dipelajari MSDM ini hanya masalah yang. berhubungan dengan tenaga kerja manusia saja.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

SIKLUS HIDUP SISTEM INFORMASI

Paktikum : 4-7 Judul Praktikum : System Development Life Cycle (SDLC)

BAB 3 PENGUJIAN DALAM SIKLUS PENGEMBANGAN

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

MODEL PENGEMBANGAN SISTEM

Perbedaan pengembangan software dengan pengembangan sistem informasi

BAB 3 Analisa dan Perancangan Sistem

chapter 7 Integrating quality activities in the project life cycle Empat model proses pengembangan perangkat lunak akan dibahas dalam bagian ini:

Rational Unified Process (RUP)

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Pemodelan Industri Perangkat Lunak

BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF SOFTWARE ENGINEERING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PROSES DESAIN FAKULTAS ILMU KOMPUTER - UNIVERSITAS BRAWIJAYA 3/14/2017

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

KELOMPOK 3. Imelda Florensia Stefani. P. Tangkuman Gladis Ansiga Ariyanto Pakaya Andre Lay

REKAYASA PERANGKAT LUNAK

BAB II LANDASAN TEORI

A. Konsep dan Teknik Pemeliharaan Perangkat Lunak

BAB I PENDAHULUAN I-1

Software Development Life Cycle (SDLC)

KELOMPOK 1. Metode Pengembangan Sistem Informasi. Imelda Florensia Stefani. P. 1

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB 1 PENDAHULUAN. Secara umum, diketahui bahwa dalam suatu siklus pengembaangan perangkat lunak selalu terdapat empat proses utama, yaitu :

Transkripsi:

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN BiayaPL Software Quality Attribute Standar kualitas Takaran Jaminan Kualitas CASE TOOLS Siklus Hidup Perangkat Lunak (SWDLC/Software Development Life Cycle) 1

BIAYA PERANGKAT LUNAK (SOFTWARE COST) Terkadang mendominasi biaya sistem secara keseluruhan Biaya terbesar untuk perangkat lunak terletak pada proses perawatan (maintenance) dibanding biaya pembuatannya (develop) Biaya pengadaan perangkat lunak yang di pasang pada PC sering lebih besar dibandingkan dengan harga perangkat kerasnya kec. Di negara-negara yang tidak menghargai HAKI Biaya perangkat lunak secara kasar sebesar 60% dari biaya untuk pembangunan dan 40% untuk pengujian Secara umum besarnya biaya bervariasi tergantung pada tipe sistem yang dibangun dan kebutuhan sistem seperti kinerja dan kehandalan sistem Biaya distribusi tergantung pada model pembangunan yang digunakan SOFTWARE QUALITY ATTRIBUTE (1) Ciri-ciri kualitas menurut lembaga penjamin mutu PL (ISO, ANSI, IEEE, dll): Correctness (kebenaran) Kesesuaian antara kode program dg spesifikasi Kebebasan aplikasi aktual pada sistem PL Reliability (tahan uji) Didasari pada correctness dan availability (ketersediaannya) Sebagai suatu kemungkinan bahwa sistem ini mampu memenuhi suatu kegunaan (tergantung spesifikasinya) untuk sejumlah masukan percobaan di bawah kondisi masukan dan rentang waktu yang telah ditentukan. 2

SOFTWARE QUALITY ATTRIBUTE (2) User Friendliness (mudah digunakan) Adequacy (kecukupan) Learnability (mudah dipelajari) Robustness (antisipasi kesalahan) Maintenatibility (mudah dirawat) Readability (mudah dibaca) Extensibility (mudah diperluas) Testability (mudah untuk diuji/ditelusuri) Efficiency (efisiensi) Portability (mudah didistribusikan) UKURAN JAMINAN KUALITAS (1) Ukuran membangun (constructive measures) Aplikasi yg konsisten pada metode di seluruh fase proses pembangunan Penggunaan perlatan/ tools yang memadai Pembangunan PL pd basis kualitas yg tinggi di akhir tahapan Perawatan yang konsisten pada dokumenasi pengembangan Ukuran analitik (analytical measures) Analisis program yang statis Analisis program yang dinamis Pemeilihan test case yang sistematis Pencatatan yang konsisten pada analisis produk 3

UKURAN JAMINAN KUALITAS (2) Ukuran Organisasi (Organization Measures) Pengalaman pengembang (developer) dalam mempelajari strategi dan teknik yang tepat dalam membangun PL KRISIS PERANGKAT LUNAK Masalah yang muncul: Estimasi jadwal dan biaya yang seringkali tidak tepat Produktivitas orang-orang software yang tidak dapat mengimbangi permintaan software Kualitas software yang kurang baik. Kurangnya pengetahuan tentang: Bagaimana mengembangkan software Bagaimana memelihara software yang ada, yang berkembang dalam jumlah besar Bagaimana mengimbangi permintaan software yang makin besar. 4

KODE ETIK PROFESI Konfidensialitas (menghormati klien) Tidak boleh menerima pekerjaan di luar kompetensinya Hak kekayaan intelektual (HaKI) Penyalahgunaan komputer, hack, crack, KODE ETIK INTERNASIONAL Digagas oleh masyarakat profesional di Amerika (1999) yang tergabung dalam ACM/IEEE Makna yang terkandung: Prinsip-prinsip kesepakatan yang dihubungkan dengan tingkah laku dan keputusan yang dibuat oleh para ahli profesional Masyarakat profesional: praktisi, pengajar, manajer, supervisor, pengambil kebijakan. Yang diatur: Masyarakat dan kepentingannya Klien dan atasan (pelayanan terbaik) Produk (jaminan mutu) Manajemen Profesi Kolega Diri sendiri (ada usaha untuk mengupdate ipteknya) 5

CASE TOOLS CASE (Computer Aided Software Engineering) Suatu peralatan baik HW maupun SW komputer yang digunakan untuk menyediakan pendukung otomatis dalam aktivitas pembangunan PL. Tujuan meningkatkan produktivitas dalam proses pembangunan PL secara signifikan Dikelompokkan dalam 2 kategori: 1. Upper-CASE Mendukung aktivitas proses pembangunan tahap awal (tahap analisis kebutuhan dan desain) 2. Lower-CASE Mendukung aktivitas pembangunan di tahap akhir programming, debuging, dan testing) CASE TOOLS (2) Penggunaan CASE tools: Graphical Editors Digunakan untuk membuat model sistem Data Dictionaries Digunakan untuk mengatur unit-unit proyek GUI Builders Digunakan untuk mengkonstruksi antarmuka pemakai Debugger Digunakan untuk mencari kesalahan yg mungkin terjadi Automated Translators Digunakan untuk pembangkitan source code program otomatis Compilator Integrated Digunakan membuat antarmuka, koding, hingga membentuk aplikasi yg bisa dijalankan Instalator Kit Digunakan untuk membuat file instalasi/setup 6

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) Proses Generik Spesifikasi Apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya Pengembangan Proses memproduksi sistem perangkat lunak Validasi Pengujian perangkat lunak terhadap keinginan pengguna Evolusi Perubahan perangkat lunak berdasarkan perubahan keinginan. MODEL PROSES RPL Model Waterfall, Model Prototyping, Model Evolutionary Model Spiral Reuse Based Development 7

WATERFALL MODEL Requirement Definitions System and software design Pemodelan Sistem/ Informasi Implementation and unit testing Integr ation and system testing Operation and maintenance WATERFALL MODEL (2) Requirements Analysis And Definition Pembentukan kebutuhan System And Software Design Mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimerngerti perangkat lunak Implementation And Unit Testing Penulisan program Integration And System Testing Memeriksa program, mencari kesalahan Operation And Maintenance Pemeliharaan sistem, menambahkan fungsi 8

WATERFALL MODEL (3) Problems Model Waterfall 1. Jarang sekali proyek yang prosesnya bisa dilakukan secara sequencial. 2. Sukar bagi customer untuk secara explisit mengemukakan semua kebutuhannya. 3. Customer harus sabar. 4. Developer sering menunda pekerjaan. Anggota tim harus menunggu anggota lainnya 5. menyelesaikan tugasnya. PROTOTYPE MODEL Mendengarkan Pelanggan Membangun Konstruksi (prototipe) Uji Pelanggan (evaluasi) 9

PROTOTYPE MODEL (2) Prototype Paradigm dimulai dengan mengumpulkan kebutuhan-kebutuhan customer. Developer dan customer bertemu dan mendefinisikan obyektif software secara menyeluruh, mengidentifikasi kebutuhan-kebutuhan yang diketahui dari area pekerjaan. Setelah itu dibuat Quick Design. Quick Design difokuskan pada representasi aspek software yang bisa dilihat customer/user (misal: format input dan output). Quick Design cenderung ke pembuatan prototipe. Prototipe dievaluasi customer/user dan digunakan untuk menyempurnakan kebutuhan software yang akan dikembangkan. PROTOTYPE MODEL (2) Sering terjadi customer menjabarkan objektif umum mengenai software yang diminta, tetapi tidak bisa mendefinisakan input, proses, output yang diminta secara detail. Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut, bisa digunakan pendekatan Prototype Paradigm. 10

PROTOTYPE MODEL (3) Problems Prototyping Model Customer melihat prototipe tersebut sebagai versi dari software. Pada saat produk tersebut harus dibangun ulang supaya level kualitas bisa terjamin, Customer akan mengeluh dan meminta sedikit perubahan saja supaya prototipe tersebut bisa berjalan. Development membuat implemetasi yang kompromitas dengan tujuan untuk memperoleh prototipe pekerjaan secara cepat. Dampaknya adalah sistem operasi atau bahasa pemrograman yang dipergunakan tidak tepat, algoritma tidak efisien. EVOLUTIONARY MODEL 11

Penjelasan : EVOLUTIONARY MODEL INCREMENTAL (2) 1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan. 2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan 3. Spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. 4. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna. EVOLUTIONARY MODEL INCREMENTAL (3) 5. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/ pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan. 6. Model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup. 7. Mampu mengakomodasi perubahan secara fleksibel. 8. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar. 12

EVOLUTIONARY MODEL INCREMENTAL (4) Kekurangan Incremental Model: Hanya cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding) Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masingmasing hasil increment EVOLUTIONARY MODEL SPIRAL 13

EVOLUTIONARY MODEL SPIRAL (2) Penjelasan : Customer Comunication Membangun komunikasi yang baik dengan pelanggan Planning Mendefinisikan sumber, batas waktu, informasi-informasi lain seputar proyek Risk Analyst Identifikasi resiko management dan teknis Engineering Pembangunan contoh-contoh aplikasi misalnya prototype Construction and release Pembangunan, test, install dan report Customer Evaluation Mendapatkan feedback dari pengguna berdasarkan evaluasi pada fase engineering dan fase instalasi EVOLUTIONARY MODEL SPIRAL (3) Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk Perangkat Lunak berskala besar. Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar. 14

REUSE BASED A. Software Re-engineering Apakah itu? Restrukturisasi atau menulis ulang sebagian atau keseluruhan dari sistem yang telah ada tanpa merubah fungsionalitasnya. Kapan? Ketika sebagian tetapi tidak semua sub sistem yg besar membutuhkan perawatan yg sering Ketika HW dan SW sudah lama hampir tak berfungsi Bagaimana? Sistem bisa di restrukturisasi dan didokumentasi ulang untuk membuat menjadi mudah dalam perawatan REUSE BASED (2) Software Re-engineering (lanjutan) Mengapa? Mengurangi resiko SW yang baru dibangun membawa resiko yg tinggi Mengurangi biaya Biaya untuk re-engineering sering lebih kecil dibanding membangun SW baru. 15

REUSE BASED (3) REUSE BASED (3) B. Reverse Engineering Analisis SW kembali dalam tahap pemahaman dlm desain dan spesifikasinya Bisa sebagian proses re-engineering atau sebagian spesifikasi sistem untuk diimplementasi ulang Membangun database dan bangkitkan program informasi dari proses ini Mengapa? Kode aslinya telah dalam keterbatasan dimana sudah terlalu lama, misal kebutuhan memori, kinerja, dll Perawatan terbentur pada struktur dan program yang rusak sehingga membutuhkan kerja yg sangat keras Program secara otomatis distrukturisasi ulang untuk menghilangkan beberapa bagian yang tidak beres dalam kondisi yang sangat kompleks. 16