Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pengenalan Rekayasa Perangkat Lunak Pertemuan II @bhkrisdhianto.

Presentasi serupa


Presentasi berjudul: "Pengenalan Rekayasa Perangkat Lunak Pertemuan II @bhkrisdhianto."— Transcript presentasi:

1 Pengenalan Rekayasa Perangkat Lunak Pertemuan II @bhkrisdhianto

2 Konsep Dasar Rekayasa Perangkat Lunak

3 Ilmu yang mempelajari tehnik pembuatan
Software Engineering ? Ilmu yang mempelajari tehnik pembuatan software yang baik dengan pendekatan tehnik (Engineering ap-proach) Ada beberapa cara / fase 1. Fase Perencanaan 2. Fase Pengembangan 3. Fase Pemeliharaan 3

4 Soft. and Soft. Engineering
Tantangan ? àmengembangkan hardware komputer yang dapat mengurangi biaya pengolahan dan penyimpanan data àmengurangi biaya dan memperbaiki kualitas solusi berbasis komputer Solusi ? àSoft. merupakan faktor kunci dlm keberhasilan suatu usaha, soft. dpt membedakan satu perusahaan dari perusahan saingannya 4

5 Evolusi Software Tahun-tahun awal : - Batch orientation
1950 1960 1970 1980 1990 2000 Tahun-tahun awal : - Batch orientation - Limmited distribution - Custummer software 5

6 Evolusi Software Era ke-3 : - Distibuted system
- Multi user - Real time - Database Era ke-4 : - Expert system - A I Machine - Parallel architecture Era ke-3 : - Distibuted system - Embedded intellegence - Low cost hardware - Consumer infact 6

7 Arti Software ? Instruksi Atau program komputer yang ketika dieksekusi
akan memberi fungsi dan hasil yang diinginkan. Struktur data Yang memungkinkan program memanipulasi informasi Dokumen Yang menggambarkan operasi dan penggunaan program. 7

8 Sifat & Karakteristik Software ?
Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware Elemen itu tidak aus, tetapi bisa rusak. Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware Software itu tidak bisa dirakit. 8

9 Komponen Software ? Bentuk Bahasa Bentuk Translator Bentuk Mesin :
LANGUAGE FORM HIGH LEVEL MIDDLE LEVEL TRANSLATOR MACHINE LANGUAGE 9

10 Aplikasi Software ? 1. 2. 3. 4. 5. 6. 7. Sistem Software Real Time Software Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan, sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil. Business Software Engineering and Sciencetific Sofware Emdebed Software PC Software Artificial Intelegent Software 10

11 Aplikasi Software ? (cont.)
Krisis Software ? Masalah ? Penyebab ? Model Software Engineering àFritz Badar (soft. yg ekonomis), terdiri dari 3 elemen : 1. Metode 2. Peralatan 3. Prosedur 11

12 Model Software Engineering (cont.)
Software engineering paradigma (ada 3) : 1. Classic Life Cycle Paradigma SISTEM ENGINEERING ANALYS DESIGN CODE TESTING MAINTENANCE 12

13 Model Software Engineering (cont.)
2. Prototype Paradigma REQUIMENTS GATHERING "QUICK DESIGN" BUILD PROTOTYPE EVALUATED AND REFINEMENTS ENGINEER PRODUCT 13

14 Model Software Engineering (cont.)
3. Fourth Generation Technique Paradigma REQUIMENTS GATHERING "DESIGN STRATEGICS" IMPLEMENTATION USING 4GT PRODUCT 14

15 Model Software Engineering (cont.)
4. Model Kombinasi DAPAT LANGSUNG JIKA PENDEKATANNYA JELAS PROTOTYPING ENGINEER PRODUCT REQUIMENTS GATHERINGS APPLY 4GL PROTOTYPE CLASSIC LIFE EVALUATE CYCLE 15

16 Sebuah Analogi Gas Oksigen dapat dibuat oleh : - Sebuah Laboratorium
- Industri Pabrik Gas Perangkat lunak dapat dikembangkan oleh : - Sekelompok programmer - Sebuah organisasi yang mengembangkannya melalui rekayasa Apa yang membedakan antara keduanya ? 16

17 Perbedaan SE & CS Berhubungan dengan :
Apa perbedaan antara software engineering (rekayasa perangkat lunak) dengan computer science (ilmu komputer) ? Computer Science Software Engineering Berhubungan dengan : - Teori-teori - Dasar-dasar Ilmu Komputer - Pengetahuan praktis untuk pengembangan - Untuk menghasilkan soft. yg berguna 17

18 Perbedaan SE & CS (cont.)
Comp. Science terkait dgn teori-teori & dasar-dasar dari ilmu komputer, sedangkan software engineering terkait pada pengetahuan & penyerahan perangkat lunak yg berguna. Teori-teori ilmu komputer biasanya tidak cukup digunakan sebagai pendukung yang lengkap dari software engineering. 18

19 Mengapa perlu Soft. Engineering
Masalahnya adalah kompleksitas Banyak dibutuhkan sumber-sumber, tetapi kuncinya adalah ukuran (size) : - UNIX berisi 4 juta lines of code - Windows 2000 berisi 108lines of code dikerjakan oleh Tim dengan 1400 orang Soft. Engineering adalah bagaimana mengelola komplesitas tsb. dan dpt bekerja dalam satu Tim Work 19

20 Tahap-tahap Proses Pengembangan Soft.
Bagaimana bekerja dalam suatu proyek skala besar, kompleks & melibatkan banyak orang ? 1. Spesifikasi Kebutuhan (requirement specification) 2. Analisis (anlysis) 3. Perancangan (design) 4. Implementasi & Pengujian (implementastion & testing) 5. Perawatan & Up-grade (maintenance & upgrade) 20

21 Tanggung Jawab Profesional Dan Etika

22 Kita memiliki kebanggaan pada pekerjaan kita
Mengapa Perlu Kode Etika Profesi TI ? Kita memiliki kebanggaan pada pekerjaan kita dan ingin pekerjaan kita diberikan pengakuan dan rasa hormat. Kita ingin melindungi mata pencaharian kita. Komputer memiliki potensi untuk menghasilkan manfaat yang positif maupun dampak yang negatif atau mempengaruhi ke arah yang positif maupun negatif. 22

23 Etika Profesional Komputer
Secara umum, perilaku etis yang diharapkan dari para profesional komputer: Jujur dan adil; memegang kerahasiaan; memelihara kompetensi profesi; memahami hukum yang terkait; menghargai dan melindungi kerahasiaan pribadi; menghindari merugikan pihak lain; dan menghargai hak milik. Berbagai contoh kode etik profesi komputer: IEEE-CS/ACM (Software Engineering Code of Ethics and Professional Practice) ( ACM Code of Ethics and Professional Conduct ( British Computer Society Code of Conduct and Code of Good Practice ( dan bcs.org/upload/pdf/cop.pdf ) 23

24 and Professional Practice IEEE-CS/ACM Code of Ethics
Dikembangkan berdasarkan 8 prinsip: 1. Kepentingan umum 2. Klien dan atasan 3. Produk 4. Keputusan 5. Manajemen 6. Profesi 7. Rekan sejawat 8. Diri sendiri 24

25 Pengembang sistem seharusnya bertindak konsisten
1. Kepentingan Umum Pengembang sistem seharusnya bertindak konsisten dengan kepentingan umum Menyetujui sistem jika memiliki keyakinan yang kuat bahwa sistem aman, memenuhi standar, melewati berbagai pengujian dan tidak mengurangi kualitas hidup, privasi, atau mengganggu lingkungan. Menyingkap setiap bahaya potensial pada pengguna. Adil dan hindari kecurangan dalam setiap pernyataan terkait dengan sistem. 25

26 Pengembang sistem seharusnya bertindak
2. Klien dan Atasan Pengembang sistem seharusnya bertindak dalam cara yang memberikan perhatian terbesar pada klien atau atasannya, konsisten dengan kepentingan umum. Jujur akan keterbatasan pengetahuan dan pengalamannya. Simpan setiap informasi rahasia, konsisten dengan kepentingan umum dan hukum. 26

27 Pengembang sistem seharusnya meyakinkan bahwa
3. Produk Pengembang sistem seharusnya meyakinkan bahwa produknya dan segala perubahannya memenuhi standar profesional tertinggi yang mungkin. Berupaya untuk mutu yang tinggi, biaya yang wajar, dan jadwal yang beralasan. Lakukan pengujian, penghapusan bug, dan pengkajian yang memadai terhadap sistem dan dokumen yang terkait. Hadapi setiap perawatan sistem dengan profesionalisme yang sama dengan pengembangan baru. 27

28 Pengembang sistem seharusnya memelihara
4. Keputusan Pengembang sistem seharusnya memelihara integritas dan independensinya dalam membuat suatu keputusan profesional Tidak terikat dengan praktik keuangan yang keliru. Perlihatkan ke semua pihak yang terkait, konflik kepentingan yang terjadi yang tidak dapat dibiarkan begitu saja. 28

29 Manajer/pemimpin pengembangan sistem
5. Manajemen Manajer/pemimpin pengembangan sistem seharusnya mengikuti dan mendorong pendekatan etis terhadap manajemen pengembangan sistem. Yakini bahwa para pengembang sistem telah diberitahukan standar-standar yang akan digunakan. Memberikan honor yang adil dan memadai. Tidak memberikan sanksi kepada siapapun yang memberikan perhatian etis mengenai proyek. 29

30 Pengembang sistem seharusnya menaikkan integritas
6. Profesi Pengembang sistem seharusnya menaikkan integritas dan reputasinya konsisten dengan kepentingan umum. Memasyarakatkan pengetahuan umumakan pengembangan sistem. Akurat dalam menyatakan karakteristik perangkat lunak yang dikerjakannya. Bertanggung jawab untuk mendapatkan, memperbaiki, dan melaporkan kesalahan dalam sistem dan dokumentasi yang terkait yang sedang dikerjakannya. 30

31 Pengembang sistem seharusnya adil dan
7. Rekan Sejawat Pengembang sistem seharusnya adil dan memberi dukungan kepada rekan sejawatnya. Hargai pekerjaan orang lain Berikan pemahaman yang adil akan pendapat, perhatian, dan keberatan dari rekan sejawat. Untuk hal-hal di luar kompetensi yang dimiliki, minta pendapat dari profesional yang berkompetensi di bidang tersebut. 31

32 Pengembang sistem seharusnya belajar terus terkait
8. Diri Sendiri Pengembang sistem seharusnya belajar terus terkait dengan praktik profesinya dan seharusnya mendukung pendekatan etis dalam praktik profesinya. Menambah pengetahuannya Meningkatkan kemampuannya dalam mengembangkan sistem berkualitas yang aman, andal, dan berguna Meningkatkan kemampuannya untuk menghasilkan dokumentasi yang akurat, informatif, dan ditulis dengan baik. 32

33 Pahami apa itu keberhasilan
Pedoman Tambahan Untuk Profesional TI Pahami apa itu keberhasilan Pengembang (terutama) dan pengguna sistem komputer harus melihat keberhasilan sebagai sesuatu yang melampaui sekedar penulisan kode program Kembangkan untuk pengguna Untuk menghasilkan sistem yang berguna dan aman, pengguna harus dilibatkan dalam tahap-tahap pengembangan sistem. Rencanakan dan jadwalkan secara seksama Memperhatikan kedetilan, lakukan dengan seksama dan hati- hati sewaktu membuat perencanaan dan penjadwalan proyek serta sewaktu membuatkan penawaran 33

34 Mengkaji penggunaan kembali perangkat lunak
Pedoman Tambahan Untuk Profesional TI (cont.) Mengkaji penggunaan kembali perangkat lunak Jangan mengasumsikan bahwa perangkat lunak yang sudah ada aman dan dapat digunakan kembali Melindungi Perlu jaminan yang meyakinkan akan keamanan sistem Jujur Jujur dan terbuka mengenai kemampuan, keamanan, dan keterbatasan dari perangkat lunak 34

35 Bagaimana MenghadapiMasalah Profesional yang terkait Etika?
Brainstorming Daftarkan risiko, isu, masalah, dan akibat yang ada Daftarkan pihak-pihak yang terlibat Daftarkan tindakan/perbuatan yang mungkin Analisis Identifikasi tanggung jawab dari pembuat keputusan Identifikasi hak-hak dari pihak-pihak yang terlibat Pertimbangkan dampak dari pilihan-pilihan tindakan terhadap pihak- pihak tersebut Temukan pedoman dalam kode etik profesi anda (jika ada). Kategorikan tiap pilihan tindakan sebagai wajib secara etis , dilarang secara etis , atau dapat diterima secara etis Pertimbangkan manfaat dari tiap pilihan tindakan, dan pilihlah salah satu 35

36 (SDLC/Software Development Life
Siklus Hidup Perangkat Lunak (SDLC/Software Development Life Cycle)

37 Gambar Siklus Hidup Pengembangan Sistem 37

38 Bagan Laporan Terdokumentasi Yang
Siap Diserahkan Front-End 38

39 Bagan Laporan Terdokumentasi Yang
Siap Diserahkan Back-End 39

40 Selesai Ada Pertanyaan ??? 40


Download ppt "Pengenalan Rekayasa Perangkat Lunak Pertemuan II @bhkrisdhianto."

Presentasi serupa


Iklan oleh Google