Software and Software Engineering

Slides:



Advertisements
Presentasi serupa
The Product and the Process CHAPTER 2 The Process Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
Advertisements

CHAPTER 7 Pengembangan Sistem
Pengantar komputer dan ilmu komputer
Created By : Siti arofah, s.soS
Perancangan Sistem Informasi Terstruktur (3 SKS)
Software Engineering Overview.
Software Engineering Software Process Software Engineering.
BAGAIMANA METODE PENELITIAN PADA ILMU KOMPUTER / INFORMATIKA ?
Pengembangan Perangkat Lunak Menggunakan Evolutionary Prototyping Studi Kasus PROYEK SITINA Teori Sistem Pemodelan.
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
13 KOMPONEN DIAGRAM UML & PROSES MODEL WATERFALL
Software Quality Assurance
Pertemuan 3 Analisa Domain
SEJARAH & PERKEMBANGAN SYSTEM DYNAMICS
Bahasa Tingkat Tinggi.
BAB I DASAR – DASAR TEKNIK PERANGKAT LUNAK
Sesi – 1 Pengertian Manajemen Proyek
PERKEMBANGAN PERANGKAT LUNAK ( SOFTWARE )
Pertemuan 1 Konsep Dasar OOAD
Manajemen Proyek.
MANAJEMEN KONFIGURASI SOFTWARE
PERENCANAAN PROYEK PERANGKAT LUNAK
Analisis dan Perancangan Sistem Informasi
Susunan Proposal Penelitian Skripsi
Rekayasa Perangkat Lunak (Software Engineering)
SE2423 REKAYASA PERANGKAT LUNAK
PENGETAHUAN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Review Software Engineering.
Oleh: SARIPUDIN Jurusan SISTEM INFORMASI
Rekayasa Perangkat Lunak (Software Engineering)
Rekayasa Perangkat Lunak (Lanjut)
PEMAHAMAN REKAYASA PERANGKAT LUNAK
Metode Penelitian di bidang teknik informatika
Rekayasa Perangkat Lunak
Model Proses Perangkat Lunak
Rekayasa Perangkat Lunak
Rencana Pengembangan Perangkat Lunak (TIS 00)
Quality Function Deployment, Value Engineering and Target Costing, an Integrated Framework in Design Cost Management: A Mathematical Programming Approach.
Pemeliharaan Perangkat Lunak
Metode Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
DASAR ILMU BIDANG INFORMATIKA
KEBUTUHAN & SPESIFIKASI SOFTWARE
Rekayasa Perangkat Lunak (Software Engineering)
Rekayasa Perangkat Lunak Oleh : BERI PERIMA, S. Kom
Materi Habis Uts IMK Prototyping
SOFTWARE ENGINEERING (cont.)
Rekayasa Produk (Perangkat Lunak)
METODE PENGEMBANGAN PERANGKAT LUNAK
Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
PEMANFAATAN TIK MAHASISWA KKN DESA BANJARSARI
Metode Rekayasa Perangkat Lunak
Siklus Hidup Perangkat Lunak
KEBUTUHAN & SPESIFIKASI SOFTWARE
Membangun Sistem Informasi ERP
Membangun Sistem Informasi ERP
ANALISIS PERANCANGAN SISTEM INFORMASI (APSI) 00
ANALISIS PERANCANGAN SISTEM INFORMASI (APSI) 01. Pengantar APSI
ANALISA & PERANCANGAN PERANGKAT LUNAK
11/15/2018 Pertemuan 1 Siti Mukaromah,S.Kom.
KEBUTUHAN & SPESIFIKASI SOFTWARE
SOFTWARE ENGINEERING (cont.)
REKAYASA PERANGKAT LUNAK PROGRAM STUDI D3
Kelompok 2 : Maria Bestarina Laili: Ida Megawati: Sakim: Erman Al Hakim: Kunthi Widyati: Ilham.
Pustaka Wajib Pressman, R. S., Software Engineering: A Practitioner’s Approach, 8th Edition, McGraw-Hill, 2008 Sommerville, I., Software Engineering 8th.
Review Rekayasa Perangkat Lunak
Konsep Dasar Rekayasa Perangkat Lunak
Perancangan Sistem / ERP
SISTEM INFORMASI AKUNTANSI
Transcript presentasi:

Software and Software Engineering

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.). Tukey adalah penemu FFT (Fast Furie Transfer), dikatakan sebagai penemu istilah bit. Software Engineering

ソフトウェアとは 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 Information juga tidak memiliki bentuk plural Software Engineering

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

ソフトウェア工学とは 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) [1] B. W. Kernighan and P. J. Plauger. The Elements of Programming Style. McGraw-Hill, New York, 1974. Software Engineering

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

Tasks in Software Engineering Sama dengan bidang engineering yang lain, pekerjaan dalam SE mencakup: Modeling Apa 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. Specification Dalam engineering, mendeskripsikan spesifikasi dengan benar, merupakan syarat utama. Design Inti dari engineering adalah desain. Verification Apakah sistem telah dibuat sesuai spesifikasinya? Perlu verifikasi. Maintenance Sistem yang hanya dibuat saja tidak bermanfaat. Pemeliharaan, upaya untuk menyesuaikan dengan kebutuhan dan perubahan lingkungan juga diperlukan. Organization Pada umumnya, sistem tidak dibangun oleh satu orang. Perlu teknik manajemen untuk membangun dalam organisasi. Software Engineering

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

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

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 Hasil praktis tahun 1980an: inspection, prototyping Software Engineering

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 aplikasinya Pada era ini lah, pondasi pemrograman, metodologi perancangan, dan teknik analisis kebutuhan dibuat Tahun 1980an, lagi-lagi permintaan/kebutuhan software tidak diimbangi dengan perkembangan engineering Muncul 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

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 menjadi "ketinggalan", karena selama ini hanya menitikberatkan pada skala besar dan kompleksitas Software Engineering

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

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

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