Anda di halaman 1dari 24

Pengantar Rekayasa Perangkat Lunak

Sumber : Ian Sommerville , Software Engineering, 7th Edition, 2004

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 1

Outline

Apa itu Rekayasa Perangkat Lunak Tanggung jawab profesi dan etika

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 2

Apa itu Perangkat Lunak ?

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

Ian Sommerville 2004

Apa itu Rekayasa Perangkat Lunak ?

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.

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 8

Apa Perbedaan Antara Rekayasa Perangkat Lunak dan Ilmu Komputer ?

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)

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 9

Apa Perbedaan Antara Rekayasa Perangkat Lunak dan Sistem Rekayasa ?

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 10

Apa itu Proses Perangkat Lunak ?

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

Ian Sommerville 2004

Apa itu Model Proses Perangkat Lunak ?

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.

Model Proses Generic


Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 12

Berapa Biaya Yang Harus Dikeluarkan Untuk Rekayasa Perangkat Lunak ?

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

Ian Sommerville 2004

Distribusi Biaya Aktivitas


Waterfall mod el 0 25 50 75 100 Sp ecif icatio n Design Develo pment Integ ration and tes tin g

Iterative develo pmen t 0 25 50 75 1 00

Sp ecif icatio n

Iterativ e d evelop men t ineerin g 50 75

Sys tem tes tin g

Co mpo nent-based so ftware en g 0 25

1 00

Sp ecif icatio n

Develo pment

Integ ration and tes tin g

Develo pment an d evolu tion cos ts for lo ng -lifetime sy st 0 10 200

ems 30 400

Sys tem d ev elop ment

Sys tem evo lu tion

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 14

Biaya Pengembangan Produk

25

50

75

100

Sp ecif icatio n

Develo pmen t

System testin g

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 15

Apa itu Metode Rekayasa Perangkat Lunak ?

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 16

Apa itu CASE (Computer-Aided Software Engineering)

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 17

Apa Atribut Perangkat Lunak Yang Baik ?

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

Ian Sommerville 2004

Apa Tantangan Ke Depan Dalam Rekayasa Perangkat Lunak ?


Heterogenitas, pengiriman dan kepercayaan Heterogenitas


Mengembangkan teknik untuk membangun perangkat lunak yang dapat mengatasi platform yang heterogen dan lingkungan eksekusi; Mengembangkan teknik yang mengarah pada pengiriman lebih cepat dari perangkat lunak; Mengembangkan teknik yang menunjukkan perangkat lunak yang dapat dipercaya oleh para penggunanya.

Pengiriman/Delivery

Kepercayaan / Trust

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 19

Tanggung Jawab Profesional dan Etika

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.

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 20

Isu-Isu Terkait Tanggung Jawab Profesional

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 21

Isu-Isu Terkait Tanggung Jawab Profesional

Hak atas kekayaan intelektual / Intellectual property rights


Insinyur harus menyadari hukum setempat yang mengatur penggunaan kekayaan intelektual seperti paten, hak cipta, dll Mereka harus berhati-hati untuk memastikan bahwa kekayaan intelektual pengusaha dan klien dilindungi. Insinyur Perangkat lunak tidak boleh menggunakan keterampilan teknis mereka untuk penyalahgunaan komputer orang lain. Penyalahgunaan komputer berkisar dari yang relatif sepele (bermain game di komputer majikan) hingga yang paling serius (penyebaran virus).

Penyalahgunaan Komputer / Computer misuse

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 22

Kode Etik ACM/IEEE

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

Ian Sommerville 2004

Kode Etik - Pembukaan

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

Kode Etik - Prinsip

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

CLIENT AND EMPLOYER

PRODUCT

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 25

Kode Etik - Prinsip

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 26

Kode Etik - Prinsip

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

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

Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 28

Anda mungkin juga menyukai