selamat datang dan terimakasih telah berkunjung !

Sabtu, 24 Maret 2012

Rekayasa perangkat lunak

ENDANG SUHINDANG
REKAYASA PERANGKAT LUNAK
RPL adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan
Rekayasa atau teknik adalah penerapan ilmu dan teknologi untuk menyelesaikan permasalahan manusia
Disiplin rekayasa
“Disiplin rekayasa” Perekayasa membuat suatu alat bekerja.
Menerapkan metode, teori, motode, alat bantu, mencari solusi permasalahan.
Perekayasa dibatasi organisasi dan keuangan, sehingga mereka harus mencari solusi dalam batasan ini
è Software
Semua aspek produksi perangkat lunak
“Semua aspek produksi perangkat lunak” rekayasa perangkat lunak tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti manajemmen proyek perangkat lunak dan pengembangan alat bantu, metode, dan teori untuk mendukung produksi perangkat lunak.
è Manajemen
Institute Of Electrical And Electronics Engineer (IEEE)
Definisi IEEE pada rekeyasa perangkat lunak mengatakan bahwa “ aplikasi dari suatu sistem, disiplin, pendekatan dapat dihitung untuk pengembangan, operasi dan pemeliharaan perangkat lunak”. Disiplin meliputi kerangka, metodologi, teknik, dan alat yang dikususkan untuk pemecahan masalah bisnis.
Tipe Produk Perangkat lunak
Perekayasa PL bertugas mengembangkan produk perangkat lunak, yaitu perangkat lunak yang dijual kepelanggan. Ada 2 tipe produk perangkat lunak :
1. Produk generik
2. Produk pesanan (yang disesuaikan)
Produk Generik
Ini merupakan sistem stand-alone (berdiri sendiri) standart yang diproduksi oleh organisasi pengembang dan dijual pada passar terbuka kesiapapun yang membelinya .
Contoh. Pengolah kata (word), paket untuk menggambar dll
Produk Pesanan
Ini merupakan sistem-sistem yang dipesan oleh pelanggan tertentu. PL dikembangkan khusus bagi pelanggan tersebut oleh kontaktor perangkat lunak
Contoh : sistem yang ditulis untuk mendukung proses bisnis tertentu.
Proses Perangkat Lunak
Proses perangkat lunak adalah serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak. Ada 4 proses dasar dalam kegiatan proses perangkat lunak
1. Spesifikasi PL è fungsionalitas PL dan batasan kemampuan
2. Pengembangan PLèPL yang memenuhi spesifikasi tersebut yang harus diproduksi
3. Validasi PL è PL harus divalidasi untuk menjamin PL melakukan apa yang di inginkan pelanggan
4. Evolusi PL è PL harus berkembang untukk memenuhi kebutuhan pelanggan yang berubah-ubah.
Pengantar Rekayasa Perangkat Lunak
tujuan
Untuk memperkenalkan rekayasa perangkat lunak dan untuk menjelaskan pentingnya
Untuk mengatur keluar jawaban atas pertanyaan kunci tentang rekayasa perangkat lunak
Untuk memperkenalkan isu-isu etis dan profesional dan untuk menjelaskan mengapa mereka menjadi perhatian insinyur perangkat lunak
topik yang dibahas
FAQ tentang rekayasa perangkat lunak
Tanggung jawab profesional dan etika
Rekayasa perangkat lunak
Ekonomi SEMUA negara maju tergantung pada perangkat lunak.
● sistem Semakin banyak perangkat lunak dikendalikan
● Rekayasa perangkat lunak berkaitan dengan teori, metode dan alat untuk profesional
pengembangan perangkat lunak.
● Pengeluaran pada perangkat lunak merupakan fraksi yang signifikan dari GNP di semua maju
negara.
Biaya perangkat lunak
Biaya perangkat lunak seringkali mendominasi biaya sistem komputer. Biaya perangkat lunak pada PC sering
lebih besar dari biaya perangkat keras.
● Perangkat Lunak biaya lebih untuk mempertahankan daripada yang dilakukannya untuk berkembang. Untuk sistem dengan umur panjang,
biaya pemeliharaan mungkin beberapa kali biaya pembangunan.
● Rekayasa perangkat lunak berkaitan dengan pengembangan perangkat lunak costeffective.
FAQ tentang rekayasa perangkat lunak
Apa itu software?
● Apakah rekayasa perangkat lunak?
● Apa perbedaan antara rekayasa perangkat lunak dan ilmu komputer?
● Apa perbedaan antara rekayasa perangkat lunak dan rekayasa sistem?
● Apa yang dimaksud dengan proses perangkat lunak?
● Apa yang dimaksud dengan model proses perangkat lunak?
Berapa biaya rekayasa perangkat lunak?
● Apa metode rekayasa perangkat lunak?
● Apa itu CASE (Computer-Aided Software Engineering)
● Apakah atribut dari perangkat lunak yang baik?
● Apa tantangan utama yang dihadapi rekayasa perangkat lunak?
Apa itu software?
Program komputer dan dokumentasi yang terkait seperti persyaratan, model desain dan user manual.
● produk Software dapat dikembangkan untuk pelanggan tertentu atau dapat dikembangkan untuk pasar umum.
● produk Software mungkin
• Generik - dikembangkan untuk dijual kepada berbagai pelanggan yang berbeda misalnya PC software seperti Excel atau Word.
• dipesan lebih dahulu (kustom) - dikembangkan untuk satu pelanggan sesuai dengan spesifikasi mereka.
● perangkat lunak baru dapat dibuat dengan mengembangkan program baru, konfigurasi sistem perangkat lunak generik atau menggunakan kembali perangkat lunak yang ada.
Apakah rekayasa perangkat lunak?
Software engineering adalah suatu disiplin rekayasa yang berkaitan dengan semua aspek produksi perangkat lunak.
● Software insinyur harus mengadopsi pendekatan yang sistematis dan terorganisir untuk pekerjaan mereka dan menggunakan
perkakas dan teknik tergantung pada masalah yang akan dipecahkan, pembangunan
kendala dan sumber daya yang tersedia.

Apa perbedaan antara perangkat lunak teknik dan ilmu komputer?
Ilmu komputer berkaitan dengan teori dan dasar-dasar, rekayasa perangkat lunak adalah
prihatin dengan sering mengembangkan dan memberikan perangkat lunak berguna.
● Komputer teori ilmu masih belum cukup untuk bertindak sebagai fondasi lengkap untuk perangkat lunak
rekayasa (tidak seperti misalnya fisika dan teknik elektro).
Rekayasa sistem berkaitan dengan semua aspek sistem berbasis komputer
pengembangan termasuk rekayasa perangkat keras, perangkat lunak dan proses.
Software engineering adalah
bagian dari proses berpikir untuk mengembangkan infrastruktur perangkat lunak, kontrol, aplikasi dan database dalam sistem.
● Sistem insinyur yang terlibat dalam spesifikasi sistem, desain arsitektur, integrasi
dan penyebaran.
Apa yang dimaksud dengan proses perangkat lunak?
Satu set kegiatan yang tujuannya adalah pengembangan atau evolusi perangkat lunak.
● kegiatan Generik dalam semua proses perangkat lunak adalah:
• Spesifikasi - sistem apa yang harus dilakukan dan kendala pengembangannya
• Pengembangan - produksi dari sistem perangkat lunak
• Validasi - memeriksa bahwa perangkat lunak adalah apa yang pelanggan inginkan
• Evolusi - mengubah perangkat lunak dalam menanggapi perubahan tuntutan.
Apa yang dimaksud dengan perangkat lunak proces model?
Sebuah representasi sederhana dari proses perangkat lunak, yang disajikan dari perspektif tertentu.
● Contoh perspektif proses adalah
• Workflow perspektif - urutan kegiatan;
• Data-aliran perspektif - arus informasi;
• Peran / Aksi perspektif - siapa melakukan apa.
● model proses Generik
• Air terjun;
• Iteratif pembangunan;
• berbasis komponen rekayasa perangkat lunak.
Berapa biaya rekayasa perangkat lunak?
Sekitar 60% dari biaya adalah biaya pengembangan, 40% sedang menguji biaya. Untuk perangkat lunak kustom,
biaya evolusi sering melebihi biaya pengembangan.
Biaya ● bervariasi tergantung pada jenis sistem sedang dikembangkan dan persyaratan
sistem atribut seperti kinerja dan kehandalan sistem.
● Distribusi biaya bergantung pada model pengembangan yang digunakan.
Apa metode rekayasa perangkat lunak?
Terstruktur pendekatan untuk pengembangan perangkat lunak yang meliputi model sistem, notasi, aturan, saran desain dan petunjuk proses.
● Model deskripsi
• Deskripsi dari model grafis yang harus diproduksi;
● Aturan
• Kendala yang diterapkan ke model sistem;
● Rekomendasi
• Nasihat pada praktek desain yang baik;
● Proses bimbingan
• Kegiatan apa untuk mengikuti.
Apakah CASE (Computer-Aided Software Engineering)
Software sistem yang dimaksudkan untuk memberikan dukungan otomatis untuk kegiatan proses perangkat lunak.
● sistem CASE sering digunakan untuk mendukung metode.
● Upper-CASE
• Alat untuk mendukung kegiatan proses awal persyaratan dan desain;
● Turunkan-CASE
• Alat untuk mendukung kegiatan kemudian seperti pemrograman, debugging dan pengujian.
Apakah atribut dari perangkat lunak yang baik?
Perangkat lunak ini harus memberikan fungsi yang diperlukan dan kinerja untuk pengguna dan harus dipelihara, dapat diandalkan dan dapat diterima.
● Maintainability
• Perangkat lunak harus berkembang untuk memenuhi perubahan kebutuhan;
● Dependability
• Software harus dapat dipercaya;
● Efisiensi
• Software tidak harus menggunakan boros sumber daya sistem;
● Penerimaan
• Software harus diterima oleh pengguna yang itu dirancang. Ini berarti harus bisa dimengerti, digunakan dan kompatibel dengan sistem lain.
Apa tantangan utama yang dihadapi rekayasa perangkat lunak?
Heterogenitas, pengiriman dan kepercayaan.
● Heterogenitas
• Mengembangkan teknik untuk membangun perangkat lunak yang dapat mengatasi platform heterogen dan lingkungan eksekusi;
● Pengiriman
• Mengembangkan teknik yang mengarah pada pengiriman lebih cepat dari perangkat lunak;
● Kepercayaan
• Mengembangkan teknik yang menunjukkan bahwa perangkat lunak dapat dipercaya oleh para penggunanya.
Tanggung jawab profesional dan etika Software engineering melibatkan tanggung jawab yang lebih luas dari sekedar penerapan keterampilan teknis.
● Software insinyur harus berperilaku dengan cara yang jujur dan etis bertanggung jawab jika mereka ingin menjadi
dihormati sebagai profesional.
● perilaku etis adalah lebih dari sekedar penegakan hukum.
Masalah tanggung jawab profesional
Kerahasiaan
• Insinyur biasanya harus menghormati kerahasiaan majikan mereka atau klien masing-masing apakah perjanjian kerahasiaan resmi telah ditandatangani.
● Kompetensi
• Insinyur tidak boleh menggambarkan tingkat kompetensi mereka. Mereka tidak boleh secara sadar menerima pekerjaan yang outwith kompetensi mereka.
Hak kekayaan intelektual
• 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.
● Komputer penyalahgunaan
• insinyur Software tidak harus menggunakan keterampilan teknis mereka untuk menyalahgunakan komputer orang lain. Komputer penyalahgunaan berkisar
dari yang relatif sepele (bermain game di komputer majikan, misalnya) ke sangat serius (penyebaran virus).
ACM / IEEE Kode Etik
Masyarakat profesional di AS telah bekerja sama untuk menghasilkan kode praktek yang etis.
● Anggota organisasi ini mendaftar untuk Pedoman Praktik ketika mereka bergabung.
● Kode berisi delapan Prinsip yang berkaitan dengan perilaku dan keputusan dibuat oleh
profesional insinyur perangkat lunak, termasuk praktisi, pendidik, manajer, supervisor
dan pembuat kebijakan, serta trainee dan mahasiswa profesi.
Kode etik - Pembukaan
Pembukaan
• Versi pendek dari kode merangkum aspirasi di tingkat tinggi abstraksi; klausa yang disertakan dalam
versi lengkap memberikan contoh dan rincian tentang bagaimana aspirasi ini mengubah cara kita bertindak sebagai rekayasa perangkat lunak
profesional. Tanpa aspirasi, rincian dapat menjadi legalistik dan membosankan, tanpa rincian, aspirasi dapat
menjadi tinggi terdengar tapi kosong; bersama-sama, aspirasi dan rincian bentuk kode kohesif.
• Software insinyur harus berkomitmen untuk membuat analisis, spesifikasi, desain, pengembangan, pengujian dan
pemeliharaan perangkat lunak profesi menguntungkan dan dihormati. Sesuai dengan komitmen mereka untuk kesehatan,
keselamatan dan kesejahteraan, insinyur umum perangkat lunak harus mematuhi Delapan Prinsip berikut:
Kode etik - prinsip
PUBLIK
• Software insinyur harus bertindak secara konsisten dengan kepentingan publik.
● KLIEN DAN MAJIKAN
• Software insinyur harus bertindak dengan cara yang ada di kepentingan terbaik klien mereka dan majikan yang konsisten dengan kepentingan publik.
● PRODUK
• Software insinyur harus memastikan bahwa produk mereka dan modifikasi terkait memenuhi standar profesional tertinggi mungkin.
PENGHAKIMAN
• Software insinyur harus menjaga integritas dan kemandirian dalam penilaian profesional mereka.
● MANAJEMEN
• Software engineering manajer dan pemimpin harus berlangganan dan mempromosikan pendekatan etis dengan pengelolaan
pengembangan perangkat lunak dan pemeliharaan.
● PROFESI
• Software insinyur harus memajukan integritas dan reputasi profesi konsisten dengan kepentingan publik.
KOLEGA
• Software insinyur harus adil dan mendukung rekan-rekan mereka.
● DIRI
• Software insinyur harus berpartisipasi dalam belajar seumur hidup tentang praktek profesi mereka dan akan mempromosikan pendekatan etis untuk praktek profesi.
Etika dilema
Perbedaan pendapat pada prinsipnya dengan kebijakan manajemen senior.
● Majikan Anda bertindak dengan cara yang tidak etis dan melepaskan sistem keamanan-kritis tanpa
menyelesaikan pengujian dari sistem.
● Partisipasi dalam pengembangan sistem senjata militer atau sistem nuklir.
Kunci poin
Software engineering adalah suatu disiplin rekayasa yang berkaitan dengan semua aspek produksi perangkat lunak.
● produk Software terdiri dari program yang dikembangkan dan dokumentasi terkait. Atribut produk esensial adalah pemeliharaan, kehandalan, efisiensi dan kegunaan.
● Proses perangkat lunak terdiri dari kegiatan yang terlibat dalam pengembangan produk perangkat lunak. Kegiatan dasar adalah perangkat lunak spesifikasi, pengembangan, validasi dan evolusi.
Metode
cara terorganisir memproduksi perangkat lunak.
Mereka termasuk saran untuk proses yang harus diikuti, notasi yang akan digunakan, aturan yang mengatur deskripsi sistem yang diproduksi dan pedoman desain.

Tidak ada komentar:

Posting Komentar