1/2/2018. The Software Engineering Discipline. The Software Life Cycle. Software Engineering Methodologies. Tools.

dokumen-dokumen yang mirip
Defri Kurniawan, M.Kom

REKAYASA PERANGKAT LUNAK. Ramadhan Rakhmat Sani, M.Kom

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Rekayasa Perangkat Lunak. Tujuan

Romi Satria Wahono

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

METODOLOGI PENGEMBANGAN SOFTWARE

Pengembangan Sistem Informasi

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

Pengembangan Sistem Informasi

SOFTWARE PROCESS & METHOD

SDLC SYSTEM DEVELOPMENT LIFE CYCLE. Materi ke-2. Pengembangan Sistem Informasi 5KA28 // 4KA14

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

Teknik Informatika S1

Jenis Metode Pengembangan Perangkat Lunak

Software Development Life Cycle (SDLC)

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

ANALISA & PERANCANGAN SISTEM

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

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Kelompok Keilmuan Rekayasa Perangkat Lunak oleh Ayi Purbasari, ST., MT. If-unpas Sabtu, 9 Februari 2013

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

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

REKAYASA PERANGKAT LUNAK I

PENGEMBANGAN PERANGKAT LUNAK


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

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

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

STMIK AMIKOM YOGYAKARTA

BAB1. PENDAHULUAN Siklus hidup sistem (SLC) SDLC Systems Development Life Cycle Siklus Hidup Pengembangan Sistem Systems Life Cycle

Rekayasa Perangkat Lunak

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

Pengembangan Sistem Informasi

Hanif Fakhrurroja, MT

SOFTWARE PROCESS MODEL

PENGANTAR MANAJEMEN PROYEK PERANGKAT LUNAK MATA KULIAH MANAJEMEN PROYEK PERANGKAT LUNAK

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

A Layered Technology

PENGEMBANGAN SISTEM INFORMASI. Tahapan Pengembangan Sistem

REKAYASA PERANGKAT LUNAK

BAB III LANDASAN TEORI. yang disusun guna menyelesaikan masalah secara sistematis. Pada bab ini akan

Overview. By: Uro AbdRohim. U. Abd. Rohim Rekayasa Perangkat Lunak (OVERVIEW) Halaman: 1

Meeting 3_ADS. System Development Life Cycle (SDLC)

Hanif Fakhrurroja, MT

SDLC : Project Planning

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

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

Development Lifecycles and Approaches

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

System Development Life Cycle (SDLC)

BAB 6 METODOLOGI SIKLUS HIDUP SISTEM

Metodologi Pengembangan Sistem Informasi

Proses Pengembangan Sistem

MODUL 4 Unified Software Development Process (USDP)

BAB III LANDASAN TEORI

Perbedaan Pengembangan Software Dan Pengembangan Sistem Informasi

Pengembangan Sistem Informasi. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma PTA 2015/2016

RANGKUMAN SIM BAB 13 Mengembangkan Sistem Informasi (Building Information Systems)

FASE PERENCANAAN. MPSI sesi 4

BUANA FAKULTAS PROGRAM STUDI

BAB 1 ASUMSI PERANAN PENGANALISIS SISTEM

Systems Development Life Cycle (SDLC)

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

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

Sistem Pakar. Tahap-tahap Pengembangan Sistem Pakar. Kelas A & B. Jonh Fredrik Ulysses

Rational Unified Process (RUP)

Nama : Rendi Setiawan Nim :

UNIVERSITAS MERCU BUANA. Modul Perkuliahan Pertemuan ke 2

BAB 3 Analisa dan Perancangan Sistem

METODE DAN TEKNIK PENGEMBANGAN SISTEM INFORMASI

Produk perangkat lunak tersebut:

BAB I PENDAHULUAN. 1.1 Latar Belakang

STMIK AMIKOM YOGYAKARTA

Teknik Informatika S1

Proses Pengembangan 1

BAB 4 Pendekatan-Pendekatan Pengembangan Sistem

3. The Software Process

1. PENDAHULUAN 1.1. Latar Belakang

Analisis dan Pemodelan Perangkat Lunak. Week 1 Setyo Ariane Ibnusantosa

TUGAS KLIPING SISTEM INFORMASI MANAJEMEN V-MODEL

Jaka Adi Laksana Mohammad Asyam L Nareswara Driyanggara S Nur Adi Prasetyo Dewi Irbaya MH Aisyah Fathia Putri


PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

1 BAB II LANDASAN TEORI

Teknik Informatika S1

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

SATUAN ACARA PERKULIAHAN (SAP)

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

STMIK AMIKOM YOGYAKARTA

DASAR-DASAR AUDIT SI Pertemuan - 01

DAFTAR ISI. ABSTRAK... vii. KATA PENGANTAR... viii. DAFTAR TABEL... xiii. DAFTAR GAMBAR... xx. DAFTAR LAMPIRAN... xxiv BAB I PENDAHULUAN...

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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Teknik Informatika S1

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

Project Management Project Management Body of Knowledge. Boldson, S.Kom., MMSI

Transkripsi:

REKAYASA PERANGKAT LUNAK Content Umi Rosyidah Software Engineering Methodologies Tools Quality Assurance Rekayasa Perangkat Lunak (RPL) = software engineering (SE) Software Engineering Rekayasa Perangkat Lunak merupakan Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi, desain, konstruksi, testing sampai pemeliharaan setelah digunakan Software engineering adalah cabang computer science dengan prinsip pengembangan system software yang besar dan kompleks Pengembangan sistem membutuhkan upaya banyak orang Software engineering terdiri dari personel dan project management yang berkaitan dengan business management Problem selama pengembangan sistem : - How can you estimate the cost in time, money and other resource to complete the project? - How can you divide the project into manageable pieces? - How can you ensure that the pieces produced are compatible? - How can those working on the various pieces communicate? - How can you measure progress? 1

Penelitian dalam software engineering saat ini terdiri dari dua level : practitioners dan theoreticians Practitioners bekerja ke arah pengembangan teknik untuk aplikasi Theoreticians bekerja berdasarkan prinsip dan teori dimana teknik lebih stabil dapat dibangun nantinya Perjalanan Software Engineering 1. Peter J Dennings yang memimpin satuan tugas disiplin ilmu computing memasukkan software engineering sebagai satu disiplin ilmu (Dennings, 1999) 2. IEEE Computer Society membentuk tim khusus untuk menyusun pohon ilmu Software Engineering (Software Engineering Body of Knowledge, SWEBOK) http://swebok.org 3. Software Engineering termasuk nama jurusan atau fakultas yang diakui menurut IEEE Computing Curricula 2005 Matriks Dennings 1999 Algoritma dan Struktur Data Bahasa Pemrograman Arsitektur Komputer Sistem Operasi dan Jaringan Software Engineering Database dan Sistim Retrieval Informasi Artificial Intelligence dan Robotik Grafik Human Computer Interaction Ilmu Komputasi Organizational Informatics BioInformatik SWEBOK 2004 Software Requirement Software Design Software Construction Software Requirements Fundamentals Software Design Fundamentals Software Construction Fundamentals Requirement Process Key Issues in Software Design Managing Construction Requirements Elicitation Software Structure and Architecture Practical Considerations Requirements Analysis Software Design Quality Analysis and Evaluation Requirements Validation Software Design Noations Practical Considerations Software Design Strategies and Methods Software Testing Software Maintenance Software Configuration Management Software Testing Fundamentals Software Maintenance Fundamentals Management of the SCM Process Test Levels Key Issues in Software Maintenance Software Configuration Identification Test Techniques Maintenance Process Software Configuration Control Test Related Measures Techniques for Maintenance Software Configuration Status Accounting Test Process Software Configuration Auditing Software Release Management and Delivery Software Engineering Management Software Engineering Process Software Quality Initiation and Scope Definition Process Implementation and Change Software Quality Management Software Project Planning Process Definition Software Quality Management Process Software Project Enactment Process Assesment Practical Considerations Review and Evaluation Process and Product Measurement Closure Software Engineering Measurement Software Engineering Tools and Methods Knowledge Areas of the Related Disciplines Software Tools: Computer Engineering Software Requirements Tools Computer Science Software Design Tools Management Software Construction Tools Mathematics Software Testing Tools Project Management Software Maintenance Tools Quality Management Software Configuration Management Tools Software Ergonomic Software Engineering Management Tools Systems Engineering Software Engineering Process Tools Software Quality Tools Miscellaneous Tool Issues Software Engineering Methods: Heuristic Methods Formal Methods Prototyping Methods IEEE Computing Curricula 2005 1. Computer Engineering (CE, Teknik Komputer) 2. Computer Science (CS, Ilmu Komputer) 3. Information Systems (IS, Sistem Informasi) 4. Information Technology (IT, Teknologi Informasi) 5. Software Engineering (SE, Rekayasa Perangkat Lunak) 2

Konsep dalam software engineering adalah software life cycle Software life cycle menggambarkan bahwa dalam pengembangan software masuk ke dalam sebuah cycle yang digunakan (development, use, maintenance) Software Engineering Perangkat lunak memiliki siklus hidup yang dikenal dengan siklus hidup perangkat lunak (Software Life Cycle) Siklus hidup perangkat lunak (Software Life Cycle) adalah urutan dari kegiatan yang ada di dalam sebuah pengembangan perangkat lunak (Gustafson, 2002) Software Development Process Software Development Process, juga dikenal sebagai Software Development Life-Cycle / siklus hidup pengembangan perangkat lunak, adalah struktur yang dikenakan pada pengembangan produk perangkat lunak. Software Life Cycle dan Software Process merupakan bagian dari siklus hidup pengembangan sistem (System Development Life Cycle) System Development Life Cycle (SDLC) System Development life cycle (SDLC) / Siklus Hidup Pengembangan Sistem adalah proses memahami bagaimana sistem informasi (IS) dapat mendukung kebutuhan bisnis, perancangan sistem, membangunnya dan memberikannya kepada pengguna (Dennis, 2005). Kelebihan dan Kekurangan SDLC Penerapan SDLC memiliki kekurangan dan kelebihan. Kelebihan dari SDLC adalah menyediakan tahapan yang dapat digunakan sebagai pedoman pengembangan sistem, sedangkan Kekurangannya: hasil dari SDLC tergantung pada hasil analisis, sehingga jika terdapat kesalahan di tahap analisis akan terbawa terus ke hasil sistem 3

Tahap Requirement Analysis : - Menganalisa kebutuhan user - Negoisasi dengan stakeholder mengenai kebutuhan, harga dan kemungkinan yang terjadi pada sistem - Membangun seperangkat kebutuhan untuk identifikasi apa saja fitur yang ada dalam sistem software Tujuan Requirement Analysis : - Menentukan apa saja kebutuhan sistem yang diusulkan - Identifikasi kebutuhan sistem yang diusulkan - Mendefinisikan bagaimana user berinteraksi dengan sistem Tahap Design : - Membuat rancangan untuk system yang diusulkan - Fokus pada pengembangan solusi - Fokus pada Bagaimana sistem akan melakukannya? - Hasil dari design adalah tahapan struktur sistem secara detail yang akan dikonversikan ke program - Diagram dan pemodelan penting dalam tahapan desain Tahap Implementasi : - Implementasi melibatkan penulisan program, pembuatan file, dan database - Programmer memiliki beban pada penulisan program dimana sebelumnya telah didesain oleh software analyst - Programmer menerjemahkan hasil dari design menjadi suatu program (aplikasi) Tahap Testing : - Proses debug program dan konfirmasi apakah software sesuai dengan spesifikasi kebutuhan software - Testing digunakan untuk mengetahui kualitas dari software - Beberapa kesalahan mungkin tidak terdeteksi pada saat tahap implementasi 4

Software Engineering Methodologies Software Engineering Methodologies Waterfall Model Prototyping RAD Extreme Programming (XP) Software Engineering Waterfall Mengidentifikasi kebutuhan jauh sebelum pemrograman dimulai Meminimalkan perubahan kebutuhan selama project Waterfall Tahap Planning : - Dalam form permintaan sistem, menjelaskan ringkasan dari kebutuhan bisnis - Analisa kemungkinan aspek dari project yang diusulkan - Bagaimana tim project berjalan selama pengembangan sistem - Tahap Analysis - Tahap Design - Tahap Implementation Parrarel Development Mengatasi masalah penundaan yang lama antara tahap analisis dan pengiriman sistem. Membagi proyek menjadi serangkaian sub proyek yang berbeda yang dapat dirancang dan implementasi secara paralel RAD (Rapid Application Development) Pemahaman yang lebih baik terhadap sistem dan revisi langsung dengan membawa sistem lebih cepat apa yang diinginkan user Problem dari RAD adalah mengelola keinginan pengguna terhadap kemungkinan perubahan yang terjadi 1. Phased development (a series of versions) 2. Prototyping (system prototyping) 3. Throw-away prototyping (design prototyping) 5

Prototyping Sangat cepat untuk mendefinisikan kebutuhan Sangat cepat menyediakan sistem User dapat langsung berinteraksi dengan prototype untuk mengetahui apa yang dapat dan tidak dilakukan oleh sistem Throw-away Prototyping Masalah yang muncul diujicobakan/diselesaikan dengan menganalisa, mendesign, & membangun sebuah prototype (yang dinamakan design prototype) Membangun fitur yang belum dipahami dengan jelas Membuat design prototype untuk memahami kebutuhan Phased Development Mendapatkan sistem yang berguna untuk pengguna dengan cepat Sistem awal sengaja tidak lengkap System requirements berkembang tergantung pandangan dari versi user Extreme Programming (XP) XP terdiri dari empat nilai inti : komunikasi, kesederhanaan, umpan balik, dan keberanian Pengembang harus menyediakan umpan balik secara cepat Pengembang harus membuat perubahan tambahan untuk perkembangan sistem Criteria for Selecting a Methodology 6