html5-img
1 / 15

Software Engineering

Software Engineering. Software and Software Engineering. Apa itu software?. Software → c omputer software Namun, pada John von Neumann type computer , antara data dengan software yang mengolah data, batasannya makin tidak jelas Istilah software berasal dari hardware

shepry
Télécharger la présentation

Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Engineering Software and Software Engineering Software Engineering

  2. Apa itu software? • Software → computer software • Namun, pada John von Neumann type computer, antara data dengan software yang mengolah data, batasannya makin tidak jelas • Istilah software berasal dari hardware • ware: barang yang dibuat; produk. kitchenware, ironware, etc. • Contoh kalimat menggunakan software muncul pertama kali tahun 1960 [Oxford Dictionary] • Sebelumnya, tahun 1958, Prof. John W. Tukey (Princeton Univ.) menuliskan software dalam tulisan ilmiahnya di jurnal American Mathematical Monthly) No. 1, yang ditemukan oleh Fred R. Shapiro (Graduate School of Law, Yel Univ.). Software Engineering

  3. ソフトウェアとは • Computer software: ditulis dengan bahasa buatan yang disebut bahasa pemrograman (programming language) • Mirip dengan novel, artikel, tulisan ilmiah, yang juga disusun dari kata-kata, namun punya keistimewaan, dapat berinteraksi langsung dengan dunia luar • Hasil yang ditulis dari bahasa pemrograman disebut program • Beda program dengan software: • Program: deret symbol yang dijalankan oleh computer • Software: seperti pada hardware, sebutan umum untuk program Dalam bahasa Inggris, software tidak memiliki bentuk plural – program ada Software Engineering

  4. Apa itu software engineering? • Dalam IEEE Standard 610-1990, Software Engineering (SE) didefinisikan sebagai: • Metode untuk membangun/mengembangkan, mengoperasikan, dan memelihara, yang dapat dihitung, dengan secara sistematis dan terstruktur • Penelitian untuk #1 • Tujuan mata kuliah ini adalah untuk mencari proses, metode, yang dapat digunakan untuk membangun software yang dapat memenuhi kebutuhan dunia saat ini • Dibandingkan dengan engineering yang lain seperti Mechanical Engineering, Electrical Engineering, SE muncul belakangan • Lebih mirip dengan Mechanical Engineering • Software tidak memilik wujud, seperti halnya mesin atau listrik Software Engineering

  5. ソフトウェア工学とは • Dari keabstrakannya, dalam keilmuannya (Ilmu Pasti), SE dekat dengan ilmu komputer atau matematika • Dari sudut pandang bagaimana software itu dibuat – menggunakan bahasa pemrograman –, maka SE dekat dengan ilmu sastra • Metode penulisan program mirip dengan cara menulis buku (B.W. Kernighan, et.al. 1974) Software Engineering

  6. Rekayasa Piranti Lunak • Arti rekayasa (dari KBBI): • (kata benda) penerapan kaidah-kaidah ilmu dl pelaksanaan (spt perancangan, pembuatan konstruksi, serta pengoperasian kerangka, peralatan, dan sistem yg ekonomis dan efisien) • (kiasan) rencana jahat atau persekongkolan untuk merugikan dsb pihak lain: ia menjadi terdakwa krn -- yg dilakukan tetangganya; • Arti engineering (dari Oxford Dictionaries): • (noun) the branch of science and technology concerned with the design, building, and use of engines, machines, and structures.a field of study or activity concerned with modification or development in a particular area: software engineering • the action of working artfully to bring something about: if not for his shrewd engineering, the election would have been lost Software Engineering

  7. Tasks in Software Engineering • Sama dengan bidang engineering yang lain, pekerjaan dalam SE mencakup: • ModelingApa permasalahannya, sistem seperti apa yang harus dibuat, tidak jelas diberikan dari awal. Perlu dilakukan analisis terhadap target domain, identifikasi masalah, menangkap kebutuhan pengguna. Diperlukan teknik pemodelan. • SpecificationDalam engineering, mendeskripsikan spesifikasi dengan benar, merupakan syarat utama. • DesignInti dari engineering adalah desain. • VerificationApakah sistem telah dibuat sesuai spesifikasinya? Perlu verifikasi. • MaintenanceSistem yang hanya dibuat saja tidak bermanfaat. Pemeliharaan, upaya untuk menyesuaikan dengan kebutuhan dan perubahan lingkungan juga diperlukan. • OrganizationPada umumnya, sistem tidak dibangun oleh satu orang. Perlu teknik manajemen untuk membangun dalam organisasi. Software Engineering

  8. Tiga sisi penting dalam SE • Dari sudut pandang engineering, yang penting adalah bagaimana membangun software sebagai suatu produk • yang dibuat sendiri, untuk digunakan sendiri, tidak perlu engineering • Tiga sisi yang harus diperhatikan: • Dari sisi teknik/teknologi murni yang digunakan untuk membangun dan memelihara software dengan tingkat keabstrakan yang tinggi • Dari sisi manajemen yang digunakan untuk mengelola pembangunan software dalam suatu organisasi • Dari sisi manusia, seperti komunikasi, pengakuan, yang digunakan untuk meningkatkan kepuasan pengguna, serta untuk meningkatkan motifasi dan kerja sama tim dalam pembangunannya Software Engineering

  9. Sejarah Software Engineering • Pembangunan software dimulai sejak ditemukannya komputer • ENIAC (1946), program dibuat dengan menyambung-nyambungkan kabel • Komputer yang dilengkapi dengan program, ditemukan oleh John von Neumann ("First Draft of Report on the EDVAC", 1945) • Dalam bagian akhirnya, tercantum program yang pertama kali dibuat • Komputer komersial pertama, yang digunakan dalam sensus penduduk Amerika Serikat, 1951 • IBM System/360, 1964 • dengan tingkat kompatibilitas tinggi, meningkatkan penggunaan software • OS-nya sendiri disusun dari 5 juta baris program assembly Software Engineering

  10. Krisis software • Kebutuhan akan software tidak diimbangi dengan teknologi untuk membuatnya dan juga infrastrukturnya • jadwal pembangunan yang terlambat • kualitas produknya rendah (1960) • → Software crisis, krisis dalam software Software Engineering

  11. Perkembangan SE • Software Engineering muncul untuk menyelamatkan krisis • Pertama kali diangkat dalam konferensi NATO, Garmisch (Deutsh), 1968 • Tahun 1970an, pemrograman terstruktur, banyak diteliti/dikaji, baik dari sisi teori maupun aplikasinyaPada era ini lah, pondasi pemrograman, metodologi perancangan, dan teknik analisis kebutuhan dibuat • Tahun 1980an, lagi-lagi permintaan/kebutuhan software tidak diimbangi dengan perkembangan engineeringMuncul bidang ilmu manajemen (spt. quality control, configuration management), software process di dalam software engineering → Software Process: CMM, ISO9000 • Tahun 1990an, Object Oriented Programming mendapatkan perhatian → Object Oriented Design, Object Oriented Analysis Software Engineering

  12. Keragaman aplikasi • Dibandingkan sebelumnya (tahun 70an), tahun 90an, aplikasi software makin beragam • menyebarnya PC dan Internet • pembebasan, desentralisasi, miniaturisasi, multimedia → software engineering yang selama ini dikembangkan jadi "ketinggalan"? • Pada abad ke-21 ini, kebutuhan software di dalam masyarakat dan ketergantungan pada software meningkat→ setelah 30 tahun, pentingnya software engineering makin dirasakan Software Engineering

  13. Cakupan software engineering • Literatur yang umum: • I. Sommerville, Software Engineering (6th Ed.), Addison-Wesley, 2001 • R. Pressman, Software Engineering, A Practioner's Approach (5th Ed.), McGraw-Hill, 2001 • Asosisasi yang melakukan penelitian, membuat standar: • IEEE (Institute of Electrical and Electronics Engineers) Computer Society • ACM (Assocication for Computer Machinery) → menyusun sistematika pengetahuan dalam software engineering → SWEBOK (Software Engineering Body of Knowledge), V3 2004 → CC2001 (Computer Curricula 2001) Software Engineering

  14. Kematangan engineering dalam software engineering • Mary Shaw, Prospects for an engineering discipline of software, IEEE Software, 7(6):15–24, November 1990: • Teknologi lahir dari industri dan seni/kerajinan tangan. Setelah keduanya saling terhubung, masuk tahapan komersialisasi. Kemudian jika ilmu pengetahuan ikut andil juga, maka lahirlah engineering. • Dibandingkan dengan bidang lain, software, baru bagian pemrograman dan bagian khusus lain saja yang sudah masuk tahapan engineering. • D. L. Parnas. Software aspects of strategic defense systems, Communications of ACM, 28(12):1326–1335, 1985: • Software untuk SDI (Strategic Defense Initiative, or Star Wars Plan), tidak mungkin dibangun, karena teknologi yang ada belum mencukupi. • F. P. J. Brooks. No silver bullet: Essence and accidents of software engineering, IEEE Software, pp. 10–19, April 1987. • Belum ada teknologi setara peluru perak untuk pengembangan software Software Engineering

  15. Alternatif jalan menuju solusi • Jalan menuju solusi pengembangan yang memungkinkan: • Tidak buat sendiri, tapi beli • Memperjelas kebutuhan dan prototyping • Incremental Development • Super Developer • Kemampuan yang dibutuhkan seorang programmer: • Logika yang dimiliki seorang ahli matematika • Bakat engineering seperti Edison • Keakuratan yang dimiliki seorang banker • Imaginasi seorang penulis novel misteri • Kemampuan praktis seorang businessman • Sikap mau bekerja sama dan juga mengerti masalah manajerial A. P. Ershov. Aesthetics and the human factor in programming. Communications of ACM, 15(7):501–505, 1972 Software Engineering

More Related