INTRODUCTION TO SOFTWARE ENGINEERING

dokumen-dokumen yang mirip
PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK


RPL. (Rekayasa Perangkat Lunak) SOFTWARE PROSES TP - AKN BOJONEGORO

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

(Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill, 2010)

Rekayasa Perangkat Lunak

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

BAB I PENDAHULUAN.

Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2014/2015 STMIK Dumai -- Pertemuan 2 --

REKAYASA PERANGKAT LUNAK I

REKAYASA PERANGKAT LUNAK 1

BAB III LANDASAN TEORI

Teknik Informatika S1

System Development Life Cycle (SDLC)

Defri Kurniawan, M.Kom

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

Jenis Metode Pengembangan Perangkat Lunak

BAB I PENDAHULUAN I-1

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

A Layered Technology

Systems Development Life Cycle (SDLC)

Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 5 --

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

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

Rekayasa Perangkat Lunak. Tujuan

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

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

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

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

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

PENGEMBANGAN PERANGKAT LUNAK

SOFTWARE PROCESS MODEL

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Teknik Informatika S1

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

Development Lifecycles and Approaches

Rekayasa Perangkat Lunak. Fajar Pradana S.ST., M.Eng

Software Development Life Cycle (SDLC)

BAB 1 ASUMSI PERANAN PENGANALISIS SISTEM

3. The Software Process

BAB I PENDAHULUAN.

Deskripsi Mata Kuliah

Information System Analysis and Design

BAB I PENDAHULUAN. 1.1 Latar Belakang

TIN409 - Enterprise Resources Planning Materi #14 Ganjil 2014/2015. TIN409 - Enterprise Resources Planning

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Manajemen Proyek. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

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

THE SOFTWARE PROCESS

BAB II LANDASAN TEORI. teori yang digunakan dapat dilihat di bawah ini.

PERANAN TEAM SOFTWARE PROCESS PADA REKAYASA PERANGKAT LUNAK

SOFTWARE PROCESS & METHOD

REKAYASA PERANGKAT LUNAK

RENCANA IMPLEMENTASI SISTEM ERP EPICOR ISCALA 2.3 SR3 MODUL SALES MANAGEMENT PADA PT. X

BAB II LANDASAN TEORI. Bangun Sistem Pemesanan Makanan Berbasis J2ME Pujasera Online yang

BAB II LANDASAN TEORI. landasan teori yang digunakan akan dijelaskan di bawah ini.

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Genap Tahun 2009/2010

Spesifikasi Use Case. Mata KuliahTesting & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 6 --

BUANA FAKULTAS PROGRAM STUDI

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

Rational Unified Process (RUP)

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Rekayasa Perangkat Lunak DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

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

REKAYASA PERANGKAT LUNAK. Ramadhan Rakhmat Sani, M.Kom

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

BAB 3 Analisa dan Perancangan Sistem

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

BAB I PENDAHULUAN. 1.1 Latar Belakang.

Rekayasa Perangkat Lunak

(Rekayasa dan Pengembangan Sistem Informasi )

Pemodelan Berorientasi Objek

ANALISIS DAN PERANCANGAN SISTEM (APS) Pengantar APS

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

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

STMIK AMIKOM YOGYAKARTA

BAB 1 PENDAHULUAN 1.1. Latar Belakang

Nama : Rendi Setiawan Nim :

REKAYASA PERANGKAT LUNAK. ( 1 st week)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI. tetap/tenaga kerja lepas berdasarkan perjanjian atau kesepakatan kerja baik secara

Software Engineering - Defined

Garis-garis Besar Program Pembelajaran (GBPP)

RENCANA PEMBELAJARAN SEMESTER (RPS)

REKAYASA PERANGKAT LUNAK (RPL) Pengertian dan Urgensi

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

PRODUK DAN PROSES. Aprilia Sulistyohati, S.Kom. Jurusan Teknik Informatika Universitas Islam Indonesia. Your Logo

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

BAB I PENDAHULUAN Latar Belakang

Pengembangan Sistem Informasi

Testing dan Implementasi Sistem

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. Excel dalam mencatat aliran data transaksi perusahaan. Penggunaan program

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

MANAJEMEN PROYEK. Drs. Antok Supriyanto, MMT.

BAB II LANDASAN TEORI

MODUL 4 Unified Software Development Process (USDP)

Transkripsi:

INTRODUCTION TO SOFTWARE ENGINEERING Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 1 -- This presentation is revised by HA, STMIK, 2013

Acknowledgement 2 Main materials: [Pressman, 2010] Pressman, Roger S. Software Engineering: A Practitioner s Approach. New York:McGraw-Hill Higher Education, 2010. Print Supplements: [Alter, 2001] Alter, Steven. "Which Life Cycle --- Work System, Information System, or Software? Communications of the Association for Information Systems 7.17 (2001). Print [Yud, 2012] Yudhoatmojo, Satrio Baskoro. Software & Software Engineering IKI30202 - Rekayasa Perangkat Lunak Term 1-2011/2012. Faculty of Computer Science University of Indonesia. 2012. Print

3

Apa itu Perangkat Lunak? 4 Perangkat Lunak (Software) adalah: 1. Instruksi-instruksi (program komputer) yang pada saat dijalankan akan menyajikan fitur dan fungsi yang diinginkan, dan dengan performa yang baik; 2. Struktur data yang memungkinkan program untuk mengatur informasi di dalamnya; 3. Dokumentasi yang mendeskripsikan cara menggunakan dan fungsi dari program.

Kurva Ideal vs. Kurva Sebenarnya 5 Software failure

6 Apa hubungannya Sistem Informasi dengan Perangkat Lunak?

Sistem Informasi vs. Perangkat Lunak 7 Sistem informasi adalah suatu sistem kerja karena terdiri dari [Alter, 2001, diterjemahkan]: Manusia sebagai partisipan (perancang maupun pengguna) Mesin yang menyajikan proses bisnis yang menggunakan informasi, teknologi, dan sumber-sumber lain untuk memproduksi produk dan/atau pelayanan (jasa) untuk pelanggan internal maupun eksternal Perangkat lunak adalah bagian dari teknologi yang digunakan dalam sebuah sistem informasi yang terkomputerisasi.

Sistem Informasi vs. Perangkat Lunak 8 Sistem yang termasuk ke dalam Perangkat Lunak terbagi dalam 2 kategori: 1. Technical computer-based systems Meliputi komponen perangkat keras dan perangkat lunak, namun tidak melalui prosedur dan proses dari pihak lain Contoh: TV, Handphone, Personal Computer (PC) 2. Socio-technical systems Meliputi satu atau lebih teknikal sistem, namun yang terpenting juga melibatkan knowledge tentang bagaimana sistem tersebut seharusnya digunakan untuk mencapai tujuan yang disepakati Contoh: buku Software Engineering yang dibuat melalui sistem publishing socio technical

9 Pernah mendengar istilah Legacy Software? Apa itu Legacy Software?

Legacy Software 10 Dari Dayani-Fard [Day99], diterjemahkan: Sistem legacy software dikembangkan beberapa (bahkan puluhan) tahun yang lalu, dan masih digunakan, dimodifikasi secara terus menerus dalam hal business requirements dan computing platforms. Pengembangan sistem ini sangat beresiko dan sangat memungkinkan ditemukannya masalah dalam proses pengembangan Legacy software dalam bahasa sederhana: suatu sistem lama/kuno yang masih dioperasikan samapai hari ini.

Legacy Software (2) 11 Karena masih dioperasikan, software ini secara kritikal ditandai dengan karasteristik proses bisnis yang lama Beberapa karakteristik tersebut yang termasuk poor quality adalah: Disain yang tak dapat diperluas Kode yang tidak rapi Dokumentasi yang buruk bahkan tidak ada Test cases dan hasilnya tak pernah terarsip Data perubahan sistem tidak diatur dengan baik

Legacy Software (3) 12 Dengan karakteristik kualitas yang buruk, mengapa perusahaan masih saja menggunakan legacy software? Karena sistem ini mendukung inti dari fungsi bisnis (core business functions) yang sangat dibutuhkan oleh perusahaan. Apakah organisasi harus menjaga untuk terus menggunakan legacy software ini? Ya, paling tidak sampai ditemukannya perubahan yang signifikan pada legacy software ini.

Legacy Software (4) 13 Kenapa harus ada perubahan pada legacy software? Ada 4 alasan Perangkat lunak harus mampu beradaptasi saat bertemu dengan lingkungan teknologi komputasi baru. Perangkat lunak harus dapat ditingkatkan untuk diaplikasikan ke kebutuhan bisnis yang baru. Perangkat lunak harus dapat diluaskan sehingga bisa diinteraksikan dengan banyak sistem atau database yang lebih modern. Perangkat lunak harus dapat dirancang-ulang untuk bisa berjalan dengan network environment.

14 Untuk apa kita belajar tentang PERANCANGAN PERANGKAT LUNAK (Software Engineering)?

Software Engineering (1) 15 Beberapa realita dalam mengembangkan perangkat lunak: Besarnya usaha yang akan dikeluarkan harus diukur sesuai besarnya permasalahan sebelum solusi software mulai dikembangkan Disain menjadi aktifitas yang sangat penting Software harus memiliki performa yang baik Software harus dapat dipelihara selanjutnya (maintainable)

Software Engineering (2) 16 Definisi Perancangan Perangkat Lunak (Software Engineering): Perancangan yang menggunakan prinsip-prinsip keahlian teknik (engineering) untuk menghasilkan perangkat lunak yang ekonomisdan sesuai, serta mampu bekerja secara efisien didalam sebuah mesinyang nyata.

Software Engineering (3) 17 Definisi Software Engineering versi IEEE: 1. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. 2. The study of approaches as in (1).

Lapisan Teknologi 18 Software Engineering

Lapisan Teknologi - Proses Model 19 Lapisan proses model adalah sebagai pondasi Menjadi perekat semua lapisan teknologi Mendefinisikan kerangka Bentuk dasar untuk manajemen kontrol dari sebuahproyek perangkat lunak Lapisan dimana metode teknik digunakan, kualitas perangkat lunak dipastikan, dan perubahanperubahan diatur dengan baik

Lapisan Teknologi - Metode 20 Lapisan metode menyajikan bagaimana cara untukmembangunperangkat lunak Meliputi set dari tugas-tugas, yaitu: communication, requirement analysis, design modeling, program construction, testing, dan support Mengandalkan prinsip-prinsip dasar dalam menentukan tiap area teknologi yang digunakan termasuk pemodelan dan teknik lainnya.

Lapisan Teknologi - Tools 21 Lapisan peralatan (tools) digunakan sebagai pendukung untuk lapisan proses dan lapisan metode.

Kerangka Proses (Process Framework) 22 Membangun pondasi untuk proses perancangan perangkat lunak dengan mengidentifikasisebagian kecil kerangka aktifitas yang dapat diaplikasikanke semua proyek perangkat lunak. Sebagai tambahan, sebuah kerangka proses mencakupi satu set umbrella acivities yang dapat diaplikasikan ke semua proses perangkat lunak (software process). Ilustrasi dari kerangka proses dapat dilihatpada gambar berikut ini

23 Kerangka Proses (Process Framework)

Framework Activities 24 Communication Planning Modeling Analysis of requirements Design Construction Code generation Testing Deployment

Framework Activities 25 COMMUNICATION Dilakukan sebelum pekerjaan teknikal apapun dimulai Melakukan komunikasi, bekerja sama dengan kustomer dan pihak lainnya. Untuk memahami tujuan para stakeholders di dalamproyek dan untuk mengumpulkan kebutuhan (requirements) yang membantu mendefinisikan fungsi dan fitur dari perangkat lunak yang akan dibangun.

Framework Activities 26 PLANNING Perjalanan serumit apapun akan menjadi sederhana jika ada peta/map Proses perencanaan menghasilkan map yang membantu mengarahkan tim proyek dalam pengerjaan proyek. Map ini disebut dengan istilah software project plan (perencanaan proyek perangkat lunak) yang mendefinisikan pekerjaan (job desc) dalam merekayasa perangkat lunak Termasuk pekerjaan teknikal Resiko-resiko yang mungkin terjadi Sumber yang dibutuhkan, dan jadwal kerja

Framework Activities 27 MODELING Membuat sebuah sketsa sedemikian hingga tim mengerti gambar besar dari proyek Gambaran secara arsitektur Bagaimana modul-modul dalam proyek bisa terhubung satu sama lain dll Tujuan pemodelan adalah untuk mengerti lebih jauh kebutuhan perangkat lunak dan disain yang ingin dicapai dari kebutuhan tersebut.

Framework Activities 28 CONSTRUCTION Membuat kode (baik secara manual maupun otomatis) Testing yang dibutuhkan untuk menguji apakah ada error dalam kode DEPLOYMENT Perangkat lunak yang sudah selesai diterima oleh pihak kostumer untuk kemudian dievaluasi dan diberikan feedback dari hasil evaluasi tersebut.

Framework Activities 29 Kelima generic framework activities ini dapat digunakandi banyakjenis aplikasiperangkat lunak Namun implementasi detail tiap aktifitasnya bisa jadi berbeda di tiap proyek.

Umbrella Activities 30 Software project management Formal technical reviews Software quality assurance Software configuration management Work product preparation and production Reusability management Measurement Risk management

Membangun Sistem Informasi 31 Dalam SI, System Development Life Cycle (SDLC) memiliki 4 fase dasar yang similar (planning, analysis, design and implementation) Planning Why build the system? How the project team will go to build it? Analysis Who, what, when, where will the system be? Design How will the system will operate, in terms of the hardware, software and infrastructure? Implementation The system is actually built or purchased System delivery

Esensi dalam praktek 32 1. Understand the problem (communication and analysis) 2. Plan a solution (modeling and software design) 3. Carry out the plan (code generation) 4. Examine the result for accuracy (testing and quality assurance)

Understand the Problem 33 Siapa pihak yang akan mengajukan solusi untuk permasalahan proyek ini? Siapa pihak-pihaknya? Apa saja yang belum diketahui? Apa saja data, fungsi, dan fitur yang dibutuhkan untuk dapat menyelesaikan maslah tersebut? Apakah masalah tersebut dapat dipecah? Apakah tersebut bisa disajikan menjadi masalah-masalah kecil yang bisa lebihmudah dimengerti? Apakah masalah ini bisa direpresentasikan secara grafik? Apakah bisa dibuat ke dalam bentuk analisis model?

Plan the Solution 34 Apakah masalah ini sebelumnya sudah pernah ada? Apakah ada pola untuk solusi masalah ini? Apakah sudah ada perangkat lunak yang mengimplementasikan data, fungsi, dan fitur yang dibutuhkan? Apakah masalah yang similar dengan masalah ini sudah terpecahkan? Jika ya, apakah solusinya dapat digunakan (reuseable)? Apakah sub masalah dapat didefinisikan? Jika ya, apakah solusinya sudah dapat ditemukan untuk sub masalah tersebut? Apakah solusi yang dihasilkan tetap menjadikan proses bisnis yang efektif? Apakah disain model dapat dibuat?

Carry Out the Plan 35 Apakah solusi tersebut sesuai dengan perencanaan? Apakah kode yang dibuat sesuai dengan disain model? Apakah tiap bagian komponen solusi sudah terbukti benar? Apakahdisaindan kode sudahdi-review? Apakah algoritma kode sudah benar?

Examine the Result 36 Apakah memungkinkan untuk dilakukan pengujian terhadap tiap komponen dari solusi? Apakah ada strategi pengujian yang digunakan? Apakah solusi yang dihasilkan sesuai dengan data, fungsi, dan fitur yang dibutuhkan? Apakahperangkat lunaksudahdivalidasioleh semua pihak yang membutuhkan?

Hooker s General Principles 37 1. The Reason It All Exists 2. KIS (Keep It Simple) 3. Maintain the Vision 4. What You Produce, Others Will Consume 5. Be Open to the Future 6. Plan Ahead for Reuse 7. Think!

38 The Chaos Report (Standish Group) on IT Project survey Successful: delivered on time, on budget, with required features and functions Challenged: late, over budgeted, and/or with less than the required features and functions Failed: cancelled prior to completion or delivered and never used. Source: http://www.pmhut.com/the-chaos-report-2009-on-it-project-failure

Terima Kasih 39 Pertanyaan & Jawaban