REKAYASA PERANGKAT LUNAK

Slides:



Advertisements
Presentasi serupa
PENGENALAN REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)
Advertisements

Rekayasa Perangkat Lunak 1
Rekayasa Perangkat Lunak dan Proses Software
Perencanaan Perangkat Lunak
Aturan dan Tanggung Jawab Tim Pilihan-pilihan berikut dapat diambil untuk menerapkan sumber daya manusia kepada sebuah proyek yang akan membutuhkan n manusia.
1 & 2.  Rekayasa = Engineering - pemakaian ‘science’ untuk menyelesaikan’masalah praktis’ - Dari tidak ada menjadi ada.
PENGANTAR REKAYASA PERANGKAT LUNAK I
Rekayasa Perangkat Lunak 1
REKAYASA PERANGKAT LUNAK
PERENCANAAN PROYEK PERANGKAT LUNAK
Pengenalan Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (Software Engineering)
Methods for Software Engineering
SE2423 REKAYASA PERANGKAT LUNAK
PENGETAHUAN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Sistem Informasi Manufaktur
Rekayasa Perangkat Lunak (Lanjut)
SOFTWARE.
REKAYASA PERANGKAT LUNAK
PEMAHAMAN REKAYASA PERANGKAT LUNAK
SOFTWARE ENGINEERING (Nelly Sofi).
REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Pengelolaan Sistem Informasi
Perangkat Lunak 1.
REKAYASA PERANGKAT LUNAK
2 The Software Product.
IF36318 Rekayasa Perangkat Lunak
Pendhahuluan Software engineering BY: Y. PALOPAK S.Si., MT.
Pengenalan Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Aspek Penilaian Prosentase Tugas Mandiri--20 %
Rekayasa Perangkat Lunak 1
Pendahuluan Muhammad Rachmadi, S.T., M.T.I..
Rekayasa Perangkat Lunak Pendahuluan
RPL.
Oleh : Dewi Sartika, M.Kom
Pengenalan Software Engineering
Pengenalan Software Engineering
PENGENALAN REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)
Rekayasa Perangkat Lunak (Software Engineering)
Rekayasa Perangkat Lunak
SOFTWARE.
Software Engineering by Pressman
Materi Habis Uts IMK Prototyping
RPL.
2 The Software Product.
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
PENGENALAN REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)
Siklus Hidup Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Manajemen Proyek Pengantar Perencanaan Proyek Software
SOFTWARE ENGINEERING.
Manajemen Proyek Pengantar Perencanaan Proyek Software
PENGANTAR REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
INTRODUCTION SOFTWARE ENGINEERING
Pertemuan #1: Software & Software Engineering
SOFTWARE ENGGINERING Software LIFE CYCLE
ANALISA & PERANCANGAN PERANGKAT LUNAK
11/15/2018 Pertemuan 1 Siti Mukaromah,S.Kom.
Pengenalan Perangkat lunaK
Pengenalan Perangkat lunaK
REKAYASA PERANGKAT LUNAK PROGRAM STUDI D3
2 The Software Product.
SOFTWARE ENGINEERING (Indah Tri Handayani).
Pengantar Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Transcript presentasi:

REKAYASA PERANGKAT LUNAK Dosen : Rinci Kembang Hapsari, S.Si, M.Kom

Penilaian Kelas B : Penilaian Kelas A : Tugas 1 : 50% Tugas 1 : 40% (dikumpulkan mg ke 5) Quiz 1 : 30% UTS : 30% -------------------------------------- Tugas 2: 40% Quiz : 30% UAS : 30% Penilaian Kelas B : Tugas 1 : 50% (dikumpulkan mg ke 5) Quiz 1 : 20% UTS : 30% ------------------------------------- Tugas 2: 50% Quiz 2: 20% UAS : 30%

Introduction to Software Engineering Evolusi Software Tentang Software Karakteristik software Komponen Software Aplikasi Software Sejarah Software Mengapa Software Engineering? Apa yang dimaksud Software Engineering? Siapa yang melakukan Softwrae Engineering?

Definisi Software (PL) PL adalah sekelompok item atau objek yang membentuk “konfigurasi” dimana di dalamnya termasuk : • instruksi/program • dokumen • struktur data ... PL adalah Program-program komputer beserta dokumentasinya, seperti requirement, model desain dan user manual.

Instruksi atau program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan. Struktur Data yang memungkinkan program memanipulasi informasi Dokumen yang menggambarkan operasi dan penggunaan program

Evolution of Software (1) Kelompok pertama, tahun 1950an, ciri-ciri : Orientasi ke batch processing, proses bertumpuk dimana pemrosesan dilakukan jika sejumlah data telah dikumpulkan dalam waktu yang telah ditentukan Limited distributed, pemrosesan data kebanyakan masih dilakukan secara terpusat. Custom software, perangkat lunak yang dibuat untuk dikembangkan dan dijual kepada satu USER atau lebih

Evolution of Software (2) Kelompok kedua, tahun 1960an, ciri-ciri : Multi user, Suatu sistem di mana satu program digunakan oleh beberapa user pada saat yang sama Real Time Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second. Database Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama DBMS (DataBase Management System). Product software Adalah software yang dikembangkan untuk dijual kepada masyarakat luas.

Evolution of Software (3) Kelompok ketiga, tahun 1980an, ciri-ciri : Distributed system, komputer yang digunakan dalam memproses data banyak dan mempunyai fungsi masing-masing dan dapat saling berkomunikasi Biaya hardware murah dengan ditandai perkembangan komputer micro Kelompok ke 4, tahun 1990an, ciri-ciri: Sistem pakar (Expert system) Mesin Kecerdasan Buatan (Artificial Intellegence Machine) Komputer paralel

Karakteristik Software Software adalah komponen sistem yang logic (bukan fisik seperti elemen bangunan atau komputer) Software dikembangkan bukan dibuat oleh pabrik tertentu dan tidak masal karena memerlukan perancangan yang baik Software tidak akan pernah usang karena selalu diperbaharui Kebanyakan software dibangun berdasarkan kebutuhan.

Produk Software Produk software dibuat untuk pelanggan tertentu ataupun untuk pasar umum Produk software ada dua jenis : Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda atau pasar umum. Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasi yang diinginkan pengguna.

Aplikasi Software (1) System Software Real-time Software Kumpulan dari beberapa progran yang dibuat untuk memberikan service terhadap program lainnya pada setiap level Kumpulan program yang ditulis untuk menunjang pemakai atau pembuatan suatu program Contohnya : compiler, operating system Real-time Software Program yang dapat digunakan untuk mengukur, menganalisa, mengontrol pemasukan data dari lingkungan luar sampai menghasilkan laporan yang sesuai dengan keinginan. Business Software Program yang dapat mengakses, menganalisa dan memproses informasi bisnis.

Aplikasi Software (2) Engineering and Scientific Software Software yang menggunakan algoritma “number crunching” untuk membedakan science dan aplikasi Sistem simulasi, computer –aided design Embedded Software Software terletak pada read only memory dan digunakan untuk mengontrol produk dan sistem yang akan dikirimkan untuk konsumen dan industrial markets Software yang digunakan untuk mengontrol proses pabrik dan disimpan dalam ROM komputer

Aplikasi Software (3) Personal Computer Software Software yang digunakan dalam aplikasi komputer mikro Artificial Intellegence Software Software yang digunakan dalam bidang kecerdasan buatan dan metodenya digunakan untuk memecahkan masalah yang kompleks Contohnya : expert system, pengenalan pola, games

Aplikasi Software (4) Internet Software Program yang mensupport pengaksesan internet Contohnya : search engine, browser, e- commerce software, dll Software Tools and CASE environment Tools dan program yang dapat membantu pembuatan aplikasi software dan sistem. Contohnya : tset tools dan version control tools.

Mengapa perlu SE? (1) Untuk mendapatkan s/w yang benar dan untuk membuat s/w menjadi benar s/w adalah sesuatu yang kompleks dalam hal : Domain Problem : Bussiness Rule Data size : Digital or not digita; Solution : Algorithm Place or sites

Mengapa perlu SE? (2) S/w harus benar (correct) Berdasarkan Business Rule Sejalan dengan segala sesuatu dan semua pihak yang terkait Pembuatan s/w harus dikelola dengan baik untuk menjamin kebenarannya (correctness)

Apa itu Software Engineering (SE) Adalah teknologi yang harus digunakan oleh setiap orang yang akan membangun software, dengan melalui serangkaian proses menggunakan sekumpulan metode dan alat bantu (Tools). <Pressman 1997>

Arti Software Engineering : Ilmu yang mempelajari teknik pembuatan software yang baik dengan pendekatan teknis (Engineering approach) Suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak. Mengadopsi pendekatan yang sistematis dan terorganisir dalam aktivitasnya dan menggunakan tool dan teknik yang sesuai yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia

Krisis Software Adalah sekumpulan masalah yang ditemukan dalam pengembangan software computer. Masalahnya tidak hanya terbatas pada software yang tidak berfungsi sebagaimana mestinya, tetapi krisis software ini terdiri dari masalah yang berhubungan dengan : Bagaimana mengembangkan software Bagaimana memelihara software yang ada, yang berkembang dalam jumlah besar Bagaimana mengimbangi permintaan software yang makin besar.

Masalah Software Estimasi jadwal dan biaya yang seringkali tidak tepat Produktivitas orang-orang software(programmer) yang tidak dapat mengimbangi permintaan kebutuhan software Kualitas software yang kurang baik.

Penyebab Masalah Software Karakteristik software itu sendiri Karakteristik software adalah software yang bersifat logika dibandingkan fisik, oleh karena itu mengukur software harus merupakan suatu kesatuan, tidak seperti hardware. Software yang bersifat tidak aus ini menyebabkan kesalahan yang terjadi pada software. Umumnya terjadi pada tahap pengembangan. Manajer tingkat menengah dan tingkat atas yang tidak mempunyai latar belakang software, seringkali diberi tanggung jawab untuk mengembangkan software. Padahal tidak semua manajer itu dapat me-manage semua proyek. Praktisnya : software programmer atau software engineering mendapatkan latihan formal yang sedikit dalam hal tehnik baru pengembangan software. Kegagalan mereka yang bertanggung jawab dalam pengembangan software

Mitos Software Banyak permasalahan pada sebuah software datang dari asumsi-asumsi yang kebenarannya tidak dapat dipertanggungjawabkan 3 kelompok yang terkait dalam pengembangan perangkat lunak Management, Manajer pengembangan PL harus : mengatur anggaran, menjaga jadwal dari kelambatan, meningkatkan kualitas. Customer (Pemakai), Yang menginginkan PL dikembangkan, diantaranya rekan kerja, bagian lainnya (pemasaran, personalia, bag. Pembukuan, ll) Practitioner (Pengembang) Yang mengembangkan PL, diantaranya Programmer

Mitos Dipihak Pemakai (1) Tujuan sistem secara umum cukup untuk membuat PL, Rincian belakangan saja saat program dikembangkan Kenyataan : Rincian Kebutuhan sangat penting : Fungsi Performance Antar-muka Batasan rancangan Kriteria validasi, dll Hanya bisa diperoleh dengan komunikasi yang intensif

Mitos Dipihak Pemakai (2) Perangkat lunak bersifat flekibel Perubahan kebutuhan mudah diakomodasi oleh pengambang PL Kenyataan : Dampak sangat bergantung pada tahap mana perubahan terjadi

Mitos Dipihak Pengembang Program selesai, Pekerjaan selesai Kenyataan : 50%-70% usaha dihabiskan setelah program diserahkan ke user untuk pertama kalinya Kualitas hanya bisa diketahui setelah program berjalan (running) Kualitas dapat dijaga sejak dikembangkan Mitos: Yang diserahkan ke user adalah program Kenyataan: Yang diserahkan adalah konfigurasi perangkat lunak ( program + dokumentasi)

Problem dalam Pengembangan Software Tingginya harga Software Sangat bervariasi dalam penerapannya Yang diinginkan adalah untuk meningkatkan produktifitas.

Memberi jawaban yang diminta. Semula Program Sukses Bila : Bisa dieksekusi Memberi jawaban yang diminta. Sekarang : Bisa dieksekusi dengan cepat Memberi jawaban yang diminta Bisa dikembangkan

Why Software Engineering?(1) Objectives Mengidentifikasi masalah baru dan solusi dari produk software Mempelajari sistematik metode terbaru, prinsip, pendekatan untuk sistem analisis, design, implementasi, testing, maintenance Menyediakan teknik kontrol terbaru, manage, dan monitoring proses software Membangun tools software terbari dan environment untuk mendukung software engineering

Why Software Engineering?(2) Major Goals : Untuk meningkatkan produktivitas dan kualitas Untuk meningkatkan efektivitas dari kontrol schedule software dan planning Untuk mengurangi cost dan development proses Untuk memenuhi keinginan dan requirements dari customer Untuk menangani konduksi dari proses software engineering Untuk mengingkatkan practice software engineering Untuk memberikan dukungan pada engineering terhadap aktifitas yang sistematik dan lebih efisien