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

mengelola.Peran Ganda Software: • Ini adalah produk (transformator informasi-memproduksi. memodifikasi. • Media untuk menampilkan produk. menampilkan. (software bertindak sebagai dasar untuk komputer OS dan jaringan) Juga digunakan untuk membangun perangkat lunak lain . atau mengirimkan informasi). memperoleh.

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? .

tetapi bisa rusak. Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware • 4. Elemen itu tidak aus. • 3. Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware • 2.• 1. Software itu tidak bisa dirakit. .

(ex: pointof-sale transaction processing) • Engineering and scientific software merupakan aplikasi untuk kebutuhan penelitian khusus (ex: software astronomi) . (Ex: compiler. OS komponen) • Application software Standalone merupakan perangkat lunak yang dapat memecahkan kebutuhan bisnis yang spesifik.• Sistem software adalah kumpulan program yang ditulis untuk melayani program lain.

Java. (ex: dashboard display) • Product-Line software menyediakan kemampuan khusus untuk pelanggan yang berbeda. Spreadsheet) • Web application digunakan untuk memaksimalkan penggunaan proses web dan jaringan (ex: Browser. E-Commerce) . (ex: Word Processor.• Embedded software digunakan untuk mengontrol produk dan sistem untuk pasar konsumen dan industri. HTML.

Pattern Recognizer) • Ubiquitous Computing adalah jaringan nirkabel di mana perangkat kecil. dan sistem perusahaan mampu berkomunikasi melalui jaringan • Open Source system merupakan sumber yang membuat pelanggan mampu menciptakan modifikasi lokal . komputer. (ex: Expert System.• Artificial intelligence software digunakan untuk memecahkan masalah dengan algoritma tertentu.

• 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.

Fakta: Suatu organisasi tidak bisa selalu bergantung pada pihak ketiga. • Jika proyek terlambat.Management Myths • Standar dan prosedur buku menyediakan semua kebutuhan rekayasa perangkat lunak. Fakta: Pendatang baru membutuhkan pendidikan lebih dari seniornya. Faktanya tidak selalu lengkap. • Menentukan proyek perangkat lunak untuk pihak ketiga akan selalu sukses. . dan orang-orang tidak mudah beradaptasi. menambahkan beberapa team programmer akan membuat proyek lebih cepat terselesaikan.

Customer (Software Requester) Myths • Persyaratan proyek terus berubah. . Fakta: Deskripsi harus dibahas cukup jelas untuk membuat ikatan antara pengembang dan pelanggan. 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.

.• Membangun program dan membuatnya bekerja berarti pekerjaan selesai. Fakta: review teknis formal diperlukan untuk menguji kualitas • Program bekerja = Berhasil . kualitas tidak perlu diuji. Fakta: Setelah disampaikan kepada pelanggan kadang-kadang perlu beberapa hal yang harus diperbaiki • Jika program sudah bekerja. ( Mitos) Fakta: Dokumentasi dan bimbingan sangat diperlukan untuk mendukung perangkat lunak.

• Reability : Kehandalan sejauh mana suatu software dapat diharapkan untuk melakukan fungsinya sesuai dengan ketelitian yang diperlukan . sehingga tidak walaupun digunakan oleh orang awam akan cepat mengerti.walaupun digunakan untuk beberapa user (pengguna). • Mudah digunakan : Dalam Membuat Software harus bersifat Easy to Use yang artinya mudah digunakan.• High Performance : Software yang di produksi harus memiliki performance yang tinggi . • Penampilan yang baik : Dengan membuat tampilan yang menarik pasti sang pengguna akan tambah nyaman dalam menggunakannya.

• Mobility : Untuk lebih sempurnanya. software yang kita buah harus bisa multi platform. • Interopability : Pada saat pembuatan software ini harus bisa berinteraksi dengan software yang lainnya misalnya saja pada fungsi Eksport / Import file. sehingga dalam membuat software harus bisa beradaptasi dengan perubahan teknologi.• Mampu beradaptasi : Kemajuan teknologi semakin hari kian pesat saja. .