Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

15
Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak?

Transcript of Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Page 1: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak?

Page 2: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

• Software Engineering  merupakan disiplin ilmu yang membahas semua aspek dari pengembangan software, dari mulai tahap awal spesifikasi sampai pemeliharaan setelah software digunakan. Software Engineering tidak hanya berhubungan dengan proses teknis pengembangan software tetapi juga dengan kegiatan management project software, pengembangan alat bantu, metode dan teori untuk mendukung pengembangan software.

Page 3: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Perubahan Peran Perangkat Lunak

Peran Ganda Software:• Ini adalah produk (transformator informasi-

memproduksi, mengelola, memperoleh, memodifikasi, menampilkan, atau mengirimkan informasi).

• Media untuk menampilkan produk. (software bertindak sebagai dasar untuk komputer OS dan jaringan) Juga digunakan untuk membangun perangkat lunak lain

Page 4: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Kekhawatiran dalam penerapan praktek rekayasa perangkat lunak:• Mengapa begitu lama waktu untuk mendapatkan

menyelesaikan software?• Mengapa biaya pengembangan begitu tinggi?• Mengapa kita tidak bisa menemukan semua

kesalahan sebelum kita memberikan perangkat lunak untuk pelanggan?

• Mengapa kita terus mengalami kesulitan dalam mengukur kemajuan sebagai perangkat lunak sedang dikembangkan?

• Mengapa kita menghabiskan begitu banyak waktu dan usaha mempertahankan program yang ada?

Page 5: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

SIFAT DAN KARAKTERISTIK SOFTWARE

• 1.       Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware

• 2.       Elemen itu tidak aus, tetapi bisa rusak.• 3.       Elemen software itu direkayasa atau

dikembangkan dan bukan dibuat di pabrik seperti hardware

• 4.       Software itu tidak bisa dirakit.

Page 6: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

CHANGING NATURE OF SOFTWARE

• Sistem software adalah kumpulan program yang ditulis untuk melayani program lain. (Ex: compiler, OS komponen)

• Application software Standalone merupakan perangkat lunak yang dapat memecahkan kebutuhan bisnis yang spesifik. (ex: pointof-sale transaction processing)

• Engineering and scientific software merupakan aplikasi untuk kebutuhan penelitian khusus (ex: software astronomi)

Page 7: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

• Embedded software digunakan untuk mengontrol produk dan sistem untuk pasar konsumen dan industri. (ex: dashboard display)

• Product-Line software menyediakan kemampuan khusus untuk pelanggan yang berbeda. (ex: Word Processor, Spreadsheet)

• Web application digunakan untuk memaksimalkan penggunaan proses web dan jaringan (ex: Browser, HTML, Java, E-Commerce)

Page 8: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

• Artificial intelligence software digunakan untuk memecahkan masalah dengan algoritma tertentu. (ex: Expert System, Pattern Recognizer)

• Ubiquitous Computing adalah jaringan nirkabel di mana perangkat kecil, komputer, dan sistem perusahaan mampu berkomunikasi melalui jaringan

• Open Source system merupakan sumber yang membuat pelanggan mampu menciptakan modifikasi lokal

Page 9: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

• Netsourcing adalah aplikasi basis web sederhana dan canggih yang memberikan manfaat kepada pelanggan yang ditargetkan.

• The ‘new economy' adalah sebuah aplikasi yang memfasilitasi komunikasi massa dan distribusi produk massa.

Page 10: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Software Myths

Management Myths• Standar dan prosedur buku menyediakan semua

kebutuhan rekayasa perangkat lunak. Faktanya tidak selalu lengkap, dan orang-orang tidak mudah beradaptasi.

• Jika proyek terlambat, menambahkan beberapa team programmer akan membuat proyek lebih cepat terselesaikan. Fakta: Pendatang baru membutuhkan pendidikan lebih dari seniornya.

• Menentukan proyek perangkat lunak untuk pihak ketiga akan selalu sukses. Fakta: Suatu organisasi tidak bisa selalu bergantung pada pihak ketiga.

Page 11: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Customer (Software Requester) Myths

• Persyaratan proyek terus berubah, tetapi perubahan dapat dengan mudah ditampung karena software bersifat fleksibel Fakta: Perubahan harus diajarkan dan dikonsep sejak dini sebelum dirilis untuk menghindari tingginya biaya perubahan

• Sebuah pernyataan umum yang tujuannya sederhana sudah cukup untuk menggambarkan program. Fakta: Deskripsi harus dibahas cukup jelas untuk membuat ikatan antara pengembang dan pelanggan.

Page 12: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

• Membangun program dan membuatnya bekerja berarti pekerjaan selesai. Fakta: Setelah disampaikan kepada pelanggan kadang-kadang perlu beberapa hal yang harus diperbaiki

• Jika program sudah bekerja, kualitas tidak perlu diuji. Fakta: review teknis formal diperlukan untuk menguji kualitas

• Program bekerja = Berhasil . ( Mitos) Fakta: Dokumentasi dan bimbingan sangat diperlukan untuk mendukung perangkat lunak.

Page 13: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Cara Membangun Software Yang Baik

• High Performance : Software yang di produksi harus memiliki performance yang tinggi ,walaupun digunakan untuk beberapa user (pengguna).

• Mudah digunakan : Dalam Membuat Software harus bersifat Easy to Use yang artinya mudah digunakan, sehingga tidak walaupun digunakan oleh orang awam akan cepat mengerti.

• Penampilan yang baik : Dengan membuat tampilan yang menarik pasti sang pengguna akan tambah nyaman dalam menggunakannya.

• Reability : Kehandalan sejauh mana suatu software dapat diharapkan untuk melakukan fungsinya sesuai dengan ketelitian yang diperlukan

Page 14: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Cara Membangun Software Yang Baik

• Mampu beradaptasi : Kemajuan teknologi semakin hari kian pesat saja, sehingga dalam membuat software harus bisa beradaptasi dengan perubahan teknologi.

• Interopability : Pada saat pembuatan software ini harus bisa berinteraksi dengan software yang lainnya misalnya saja pada fungsi Eksport / Import file.

• Mobility : Untuk lebih sempurnanya, software yang kita buah harus bisa multi platform.

Page 15: Mengapa Kita Butuh Belajar Rekayasa Perangkat Lunak Rev

Study Kasus