Pengenalan Software Engineering

24
PENGENALAN SOFTWARE ENGINEERING Erlin Windia Ambarsari, ST Universitas Indraprasta PGRI

description

Pengenalan Software Engineering. Erlin Windia Ambarsari , ST Universitas Indraprasta PGRI. APA Itu SOFtware ?. Program komputer dan dokumen terkait seperti kebutuhan , model-model rancangan dan user manual. Produk software dibangun  Pelanggan tertentu ( pesanan ), pasar umum - PowerPoint PPT Presentation

Transcript of Pengenalan Software Engineering

Page 1: Pengenalan Software Engineering

PENGENALAN SOFTWARE ENGINEERING

Erlin Windia Ambarsari, ST

Universitas Indraprasta PGRI

Page 2: Pengenalan Software Engineering

APA ITU SOFTWARE?

Program komputer dan dokumen terkait seperti kebutuhan, model-model rancangan dan user manual.

Produk software dibangun Pelanggan tertentu (pesanan), pasar umum Umum Sistem yg diproduksi oleh organisasi

pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Contoh : word, Excel.

Pesanan Sistem yg dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak.

Software baru dapat dibuat dengan mengembangkan program baru, mengatur sistem software umum atau menggunakan kembali sofware yang ada

Page 3: Pengenalan Software Engineering

KARAKTERISTIK SOFTWARE

S/w dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik

Perangkat lunak tidak pernah usang Sebagian besar perangkat lunak dibuat

secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada. Dengan berkembangnya OOP, pengembangkan

software berbasis komponen semakin banyak dilakukan.

Page 4: Pengenalan Software Engineering

TIPE SOFTWARE

System Software Real-time Software Business Software Engineering & Scientific Software Embedded Software PC Software Web-based Software Artificial Intelligence Software

Page 5: Pengenalan Software Engineering

SOFWARE SISTEM

Software Sistem adalah software yang berfungsi untuk melayani software lainnya

Tugas utama : resource sharing, scheduling, manajemen proses, interface eksternal, dll.

Contoh : compiler, utility manajemen file, komponen-komponen operasi, driver, dan sebagainya.

Page 6: Pengenalan Software Engineering

REAL-TIME SOFTWARE

Software yang berfungsi untuk memonitor/ menganalisis/mengontrol kejadian-kejadian dalam “real world”

Page 7: Pengenalan Software Engineering

SOFTWARE BISNIS

Merupakan daerah aplikasi software terbesar Dibuat untuk mempercepat proses bisnis dan

mempermudah pengambilan keputusan Berhubungan dengan database yang besar C/o : MyOB, Accurate

Page 8: Pengenalan Software Engineering

SOFTWARE EMBEDDED

Produk-produk mekanik/elektronik semakin “pintar” karena dilengkapi dengan prosesor dan software yang embeded didalamnya.

Software biasanya disimpan dalam ROM/EPROM

Software melakukan fungsi-fungsi yang sederhana

Contoh : VCR, televisi, mesin cuci, dashboard mobil, dsb

Page 9: Pengenalan Software Engineering

SOFWARE WEB-BASED

Software Web-based pada prinsipnya merupakan kombinasi dari bahasa untuk memformat dokumen (HTML) serta instruksi-instruksi yang dinyatakan dalam bentuk CGI Java Perl

Page 10: Pengenalan Software Engineering

SOFTWARE INTELLIGENCE

Software Intelligence adalah software yang dapat menggantikan sebagian fungsi kecerdasan.

Salah satu bentuk aplikasi yang populer adalah “Expert System”. C/o : Expert Choice, Superdecision

Berkembang pula “Artificial Neural Network”

Page 11: Pengenalan Software Engineering

HARGA SOFTWARE

Harga S/w sering didominasi oleh biaya-biaya sistem komputer. Biaya-biaya software pada PC > Biaya H/w.

Biaya S/w lebih digunakan untuk memelihara dibandingkan saat awal membangun S/w tsb. Harga pemeliharaan bisa beberapa kali lipat untuk hidup S/w lebih lama. Alasan saat pengembangan, desain kode menjadi sulit

S/w engineering berkaitan dengan biaya efektif

Page 12: Pengenalan Software Engineering

APA CIRI-CIRI SOFTWARE YANG BAIK? Software harus sesuai dengan kebutuhan yang

diperlukan dan dijalankan serta harus dapat dipelihara, diandalkan dan diterima oleh user.

Pemeliharaan Software harus berkembang untuk memenuhi perubahan

kebutuhan Dapat diandalkan

Software harus dapat dipercaya Efesiensi

Software tidak boleh menyia-nyiakan penggunaan sumber daya sistem.

Dapat diterima Software harus diterima oleh user ketika telah dirancang

dimengerti, dapat digunakan dan cocok dengan sistem lain.

Page 13: Pengenalan Software Engineering

KRISIS SOFTWARE

Kegagalan software adalah proyek Software dimana : Melebihi anggaran Terlambat Tidak memenuhi harapan dan kebutuhan user

Tidak memenuhi persyaratan fungsional atau kinerja Tidak memenuhi persyaratan mutu

Page 14: Pengenalan Software Engineering

CONTOH KEGAGALAN SOFTWARE

State of California: $40M DMV project $44M Prison software system $100M State child support system

$10B FAA modernization project UK tax filing system

Page 15: Pengenalan Software Engineering

CONTOH KEGAGALAN SOFTWARE YANG FATAL

Di tahun 1988, sebuah kapal laut Amerika menembakkan peluru kendali dan menjatuhkan sebuah pesawat yang di identifikasi sebagai musuh. Ternyata pesawat yang ditembak adalah sebuah pesawat komersial Airbus A 320 yang sangat jauh berbeda dengan pesawat musuh. Akibatnya 290 penumpang pesawat tersebut tewas. Angkatan laut Amerika menyalahkan sistem penjejak ( tracking software ) yang memperagakan output yang tidak dapat dimengerti (cryptic) sehingga mengambil kesimpulan yang salah.

Page 16: Pengenalan Software Engineering

APA PENYEBAB KRISIS SOFTWARE? Kebutuhan S/w tidak cocok untuk menggambarkan

kebutuhan atau harapan user Perencanaan proyek sering tidak realistis, tidak

lengkap atau diabaikan Biaya proyek dan estimasi jadwal diremehkan atau

ditetapkan oleh dekrit manajemen Kualitas S/w sulit untuk ditentukan, desain, dan

dibangun Kemajuan pembangunan S/w sulit untuk dilihat tdk

diketahui. Perubahan persyaratan tidak disertai dengan

perubahan dalam rencana S/w Desain berubah tanpa mengubah persyaratan Standar tidak digunakan atau didokumentasikan

Page 17: Pengenalan Software Engineering

BAGAIMANA PEMECAHANNYA?

SOFTWARE ENGINEERING

Page 18: Pengenalan Software Engineering

APA ITU SOFTWARE ENGINEERING?

Software engineering adalah disiplin ilmu tehnik yang terfokus pada semua aspek produksi software.

Insinyur S/w harus mengadopsi pendekatan yang sistematis dan terorganisir utk pekerjaan mrk dengan menggunakan alat dan teknik untuk bertahan pada masalah yang akan dipecahkan berdasarkan kendala pengembangan dan sumberdaya yang tersedia.

Membangun software tanpa menggunakan software engineering seperti membangun mobil dengan hanya mengambil alat dan besi.

Page 19: Pengenalan Software Engineering

APA ITU SOFTWARE ENGINEERING?

Aplikasi ilmu komputer praktis, tehnik manajemen, dan keterampilan lainnya seperti : desain, pembangunan, dan pemeliharaan. Semua itu didokumentasikan.

Aplikasi metode sistematik, alat dan tehnik untuk mencapai kebutuhan atau sasaran sistem software

Aplikasi system engineering untuk pembangunan software

Menggunakan teknik disiplin untuk mengurangi masalah keterlambatan pengiriman, biaya yang membengkak, dan gagal memenuhi kebutuhan/persyaratan

Dimaksudkan untuk berkomunikasi dengan pemberi modal.

Page 20: Pengenalan Software Engineering

SOFTWARE ENGINEERING Difinisi masalah ( analisa kebutuhan) Analisa solusi (desain software) Proses perencanaan Proses control Proses evaluasi (verifikasi, pemisahan, dan

pengujian)

Page 21: Pengenalan Software Engineering

GAMBARAN SOFTWARE ENGINEERING

Page 22: Pengenalan Software Engineering

ELEMEN SOFTWARE ENGINEERING (IEEE CSDP EXAM)

Professionalism, economics, ethics Software requirements Software design Software construction Software testing Software maintenance Software configuration management Software engineering management Software engineering processes Software engineering tools and methods Software quality

Page 23: Pengenalan Software Engineering

PROGRAMMING VS SOFTWARE ENGINEERING

Programming ≠ Software Engineering Programming without Software Engineering is

just hacking

Page 24: Pengenalan Software Engineering

IEEE SOFTWARE ENGINEERING STANDARD

IEEE-Std 1074-1997 IEEE-Std 1012-1998 IEEE-Std 829-1998 IEEE-Std 830-1998 IEEE-Std 12207.0-1996 IEEE-Std 12207.1-1997 IEEE-Std 12207.2-1998