Slide 1
Outline
Apa itu Rekayasa Perangkat Lunak Tanggung jawab profesi dan etika
Slide 2
Program komputer dan dokumentasi yang menyertainya seperti kebutuhan/prasyarat, model desain dan buku petunjuk penggunaan Produk Software dapat dikembangkan untuk pelanggan tertentu atau untuk pasar umum. Perangkat lunak dapat berbentuk : Software products may be Generic - dikembangkan untuk dijual kepada berbagai pelanggan yang berbeda, seperti : Excel or Word. Dipesan lebih dahulu (kustom) - dikembangkan untuk pelanggan secara individual sesuai dengan spesifikasi mereka. Perangkat lunak baru dapat dibuat dengan mengembangkan program-program baru, konfigurasi sistem perangkat lunak generik atau menggunakan kembali software yang ada.
Software Engineering, 7th edition. Chapter 1 Slide 7
Merupakan disiplin ilmu teknik yang berkaitan dengan semua aspek produksi perangkat lunak. Personil pengembang Perangkat Lunak harus mengadopsi pendekatan yang sistematis dan terorganisir untuk pekerjaan mereka dan menggunakan perkakas dan teknik yang tergantung pada masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia.
Slide 8
Ilmu komputer berkaitan dengan teori dan fundamental, rekayasa perangkat lunak yang bersangkutan dengan sering mengembangkan dan memberikan software yang berguna. Teori ilmu komputer bertindak sebagai fondasi lengkap untuk rekayasa perangkat lunak (seperti halnya fisika dan teknik listrik)
Slide 9
Sistem rekayasa berkaitan dengan semua aspek pengembangan sistem berbasis komputer termasuk perangkat keras, perangkat lunak dan rekayasa proses. Rekayasa Perangkat Lunak adalah bagian dari proses yang bersangkutan dengan pengembangan infrastruktur perangkat lunak, kontrol, aplikasi dan database dalam sistem. Personil Sistem terlibat dalam spesifikasi sistem, desain arsitektur, integrasi dan penyebaran
Slide 10
Satu set kegiatan yang tujuannya adalah pengembangan atau evolusi perangkat lunak. Kegiatan Generic dalam semua proses perangkat lunak meliputi : Spesifikasi - sistem apa yang harus dibuat dan kendala dalam pengembangannya Pengembangan - produksi dari sistem perangkat lunak Validasi - memeriksa bahwa perangkat lunak adalah apa yang diinginkan oleh pelanggan Evolusi - perubahan perangkat lunak dalam menanggapi tuntutan perubahan.
Software Engineering, 7th edition. Chapter 1 Slide 11
Sebuah representasi yang disederhanakan dari proses perangkat lunak, yang disajikan dari perspektif tertentu. Contoh perspektif proses :
Workflow perspective urutan aktivitas ; Data-flow perspective aliran informasi ; Role/action perspective - siapa mengerjakan apa. Waterfall; Iterative development; Component-based software engineering.
Slide 12
Sekitar 60% dari total biaya untuk biaya pengembangan, 40% untuk biaya uji coba. Untuk perangkat lunak kustom, biaya evolusi biasanya melebihi biaya pengembangan. Biaya bervariasi tergantung pada jenis sistem yang dikembangkan dan persyaratan sistem atribut seperti kinerja dan kehandalan sistem. Distribusi biaya bergantung pada model pengembangan yang digunakan
Software Engineering, 7th edition. Chapter 1 Slide 13
Sp ecif icatio n
1 00
Sp ecif icatio n
Develo pment
ems 30 400
Slide 14
25
50
75
100
Sp ecif icatio n
Develo pmen t
System testin g
Slide 15
Pendekatan terstruktur untuk pengembangan perangkat lunak yang meliputi model sistem, notasi, aturan, saran perancangan dan petunjuk proses. Deskripsi Model
Deskripsi model grafis yang harus dihasilkan; Batasan yang diterapkan pada model sistem; Saran mengenai disain yang baik; Aktivitas seperti apa yang harus diikuti.
Aturan
Rekomendasi
Petunjuk Proses
Slide 16
Perangkat lunak sistem yang dimaksudkan untuk memberikan dukungan otomatis untuk kegiatan proses perangkat lunak. Sistem CASE sering digunakan untuk mendukung metode. Upper-CASE
Tools untuk mendukung kegiatan proses awal persyaratan dan desain; Alat untuk mendukung kegiatan selanjutnya seperti pemrograman, debugging dan pengujian.
Lower-CASE
Slide 17
Perangkat lunak harus memberikan fungsionalitas yang diperlukan dan kinerja yang baik bagi pengguna dan harus dapat dipelihara, dapat diandalkan dan dapat diterima. Maintainability / Terpelihara Perangkat lunak harus berkembang untuk memenuhi kebutuhan perubahan; Dependability / Keteguhan Software harus dapat dipercaya; Efficiency Perangkat lunak tidak harus menggunakan sumber daya sistem boros; Acceptability / Akseptabilitas Perangkat lunak harus diterima oleh para penggunanya sesuai dengan hasil rancangan. Ini berarti harus dimengerti, digunakan dan kompatibel dengan sistem lain.
Software Engineering, 7th edition. Chapter 1 Slide 18
Pengiriman/Delivery
Kepercayaan / Trust
Slide 19
Rekayasa perangkat lunak melibatkan tanggung jawab yang luas lebih dari sekedar aplikasi keterampilan teknis. Personil Perangkat Lunak harus bersikap jujur, etis dan bertanggung jawab untuk dapat dihormati sebagai profesional. Perilaku etis lebih dari sekadar penegakan hukum.
Slide 20
Kerahasiaan / Confidentiality
Insinyur harus menghormati kerahasiaan institusi mereka atau klien terlepas dari apakah suatu perjanjian kerahasiaan formal telah ditandatangani. Insinyur harus merepresentasikan tingkat kompetensi mereka. Mereka seharusnya tidak menerima pekerjaan di luar kompetensi yang mereka miliki.
Kompetensi / Competence
Slide 21
Slide 22
Masyarakat profesional di AS telah bekerjasama untuk memproduksi sebuah kode praktek etis. Anggota organisasi ini mendaftar kode praktek saat mereka bergabung Kode berisi delapan Prinsip-prinsip yang berkaitan dengan perilaku dan keputusan yang dibuat oleh para insinyur perangkat lunak profesional, termasuk praktisi, pendidik, manajer, supervisor dan pembuat kebijakan, serta trainee dan mahasiswa profesi.
Software Engineering, 7th edition. Chapter 1 Slide 23
Pembukaan
Versi pendek kode merangkum aspirasi pada tingkat abstraksi tinggi, klausa-klausa yang termasuk dalam versi lengkap memberikan contoh dan rincian tentang bagaimana aspirasi ini mengubah cara kita bertindak sebagai profesional rekayasa perangkat lunak. Tanpa aspirasi, rincian bisa menjadi legalistik dan membosankan; tanpa rincian, aspirasi dapat menjadi tinggi terdengar tapi kosong; bersamasama, aspirasi dan rincian membentuk kode kohesif.
Insinyur Perangkat Lunak harus berkomitmen untuk membuat analisis, spesifikasi, desain, pengembangan, pengujian dan pemeliharaan perangkat lunak profesi menguntungkan dan dihormati. Sesuai dengan komitmen mereka untuk keselamatan, kesehatan dan kesejahteraan masyarakat, insinyur perangkat lunak harus mematuhi Delapan Prinsip berikut:
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 24
PUBLIC
Insinyur Perangkat Lunak harus bertindak konsisten dengan kepentingan publik. Insinyur Perangkat Lunak harus bertindak dengan cara terbaik untuk kepentingan klien mereka dan majikan, serta konsisten dengan kepentingan publik. Insinyur Perangkat Lunak harus memastikan bahwa produk dan modifikasi yang terkait dengan memenuhi standar profesional tertinggi mungkin..
PRODUCT
Slide 25
JUDGMENT
Insinyur Perangkat Lunak harus mempertahankan integritas dan kemandirian dalam penilaian profesional mereka. Manajer perangkat lunak dan pemimpin harus secara rutin mempromosikan pendekatan etis kepada manajemen pengembangan perangkat lunak dan pemeliharaan . Insinyur Perangkat Lunak memajukan integritas dan reputasi profesi konsisten dengan kepentingan publik.
MANAGEMENT
PROFESSION
Slide 26
COLLEAGUES
Insinyur Perangkat Lunak harus adil dan mendukung rekan mereka Insinyur Perangkat Lunak harus berpartisipasi dalam belajar seumur hidup tentang praktek profesi mereka dan akan mempromosikan pendekatan etis terhadap praktek profesi.
SELF
Slide 27
Dilema Etis
Ketidaksepakatan prinsip dengan kebijakan manajemen senior Majikan bertindak dengan cara yang tidak etis dan rilis sistem pengaman-kritis tanpa menyelesaikan pengujian sistem. Partisipasi dalam pengembangan sistem senjata militer atau sistem nuklir
Slide 28