Perbedaan antara RPL dengan Computer Science. . .?

Intinya, computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
Perbedaan RPL dengan Rekayasa Sistem ?
Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.

Model atau paradigma umum pada proses PL
1. Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
2. Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.
3. Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
4. Pengembangan berdasarkan pemakaian ulang (Reusable)  Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Biaya Rekayasa Perangkat Lunak
• Umumnya sekitar 60% untuk biaya pengembangan (development) dan 40% biaya pengujian (testing).
• Distribusi biaya yang tepat selama proses perangkat lunak bergantung pada proses yang digunakan dan jenis perangkat lunak yang dikembangkan.
Metode-metode RPL
Pendekatan-pendekatan terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi, aturan, saran pengembangan sistem (rekomendasi), dan panduan proses.
• Deskripsi model sistem Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Ex : model aliran data.
• Aturan Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem harus memiliki nama yang unik.
• Rekomendasi Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang memiliki lebih dari tujuh sub-objek yang berhubungan dengannya.
• Panduan Proses Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex : Atribut objek harus didokumentasi sebelum mendefinisikan operasi yang berhubungan dengan objek.
CASE (Computer-Aided Software Engineering)
Mencakup berbagai macam program yang digunakan untuk mendukung kegiatan PL seperti analisis persyaratan, pemodelan sistem, debugging, dan pengujian.
Atribut-atribut PL yang baik
Perangkat Lunak seharusnya memberikan user kebutuhan fungsionalitas dan kinerja yang :
• Dapat dipelihara (Maintanability) PL harus dapat memenuhi perubahan kebutuhan user.
• Dapat diandalkan (Dependability) PL harus dapat dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi jika terjadi kegagalan sistem.
• Efisien PL harus efisien dalam penggunaan sumber daya sistem.
• Kemampupakaian (Usability) PL harus dapat dipakai sesuai dengan yang direncanakan
Tantangan Kunci yang dihadapi RPL ?
• Tantangan Warisan (Legacy) Tantangan memelihara dan meng-update PL sedemikian sehingga biaya yg berlebihan dapat dihindari dan layanan bisnis yg penting tetap dilakukan.
• Tantangan Heterogenitas Tantangan teknik pengembangan untuk membangun perangkat lunak yang dapat diandalkan dan cukup flexibel untuk menghadapi heterogenitas yang ada.
• Tantangan Pengiriman Tantangan mempersingkat waktu kirim sistem besar dan kompleks, tanpa mengurangi kualitas sistem.











Rekayasa Perangkat Lunak
1. Perbedaan Software Proses dan software produk
Software Proses
Software proses ialah kegiatan didalam rekayasa perangkat lunak mengembangkan perangkat lunak. Proses perangkat lunak dapat digambarkan sebagai berikut :

Keterangan proses perangkat lunak :
o Kerangka kerja proses umum, di bangun dengan mendefinisikan sejumlah aktifitas kerangka kerja yang bisa diterapkan ke semua proyek perangkat lunak, tanpa melihat ukuran atau kompleksitasnya.
o Sejumlah tugas “Task Sets”, masing-masing berisi kumpulan pekerjaan rekayasa perangkat lunak, kejadian penting , produk perangkat lunak serta point jaminan kualitas. Dengan adanya task set ini, memungkinkan aktifitas framework diadaptasikan dengan karakteristik proyek software dan kebutuhan tim pelaksana
o Aktifitas pendukung yang meliputi : jaminan kualitas perangkat lunak, manajemen konfigurasi perangkat lunak. Aktifitas pendukung tidak tergantung pada aktivitas kerangka kerja dan terjadi pada seluruh proses.


Model Proses Perangkat Lunak
Model proses perangkat lunak digunakan untuk menyelesaikan masalah aktual di dalam sebuah industri dimana pengembang perangkat lunak harus menggabungkan strategi pengembangan yang meliputi : lapisan proses, metode serta alat bantu yang digambarkan dalam setiap fasenya. Model proses untuk rekayasa perangkat lunak, dipilih berdasarkan sifat aplikasi, proyek perangkat lunak, metode, alat bantu yang akan dipakai, kontrol serta penyampaian yang dibutuhkan.

Macam model proses perangkat lunak, yaitu :
1. Model Sekuensial Linier


Model sekuensial linier, sering kali “Classic Life Cycle” atau “Waterfall model”. Pendekatan pengembangan perangkat lunak dimulai pada level sistem dan prosesnya melalui: Analysis, Design, Coding, Testing

2. Model prototyping

Model protyping dikembangkan karena sering terjadi customer menjabarkan objektif umum mengenai perangkat lunak yang diminta, tetapi tidak dapat mendefinisikan input, proses, output yang diminta secara detail. Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut, bisa digunakan pendekatan dalam prototyping paradigma


3. Model RAD

Rapid Application Development (RAD) merupakan model proses pengembangan perangkat lunak yang linier sequencial dengan menggunakan siklus pengembangan yang singkat. Model RAD merupakan adaptasi “High-speed” dari model linier sequencial yang pengembangannya dilakukan dengan menggunakan pendekatan komponen-based. Proses RAD memungkinkan untuk membuat “fully functional System” dalam waktu yang sangat singkat (60 – 90 hari).


Software Produk
Rekayasa produk perangkat lunak adalah suatu kegiatan yang tetap dalam proses rekayasa yang mengintegrasikan semua aktivitas rekayasa perangkat lunak untuk menghasilkan produk yang tepat, efektif dan efisien.

Tujuan dari rekayasa produk perangkat lunak yaitu :
* Dapat mendifinisikan, mengintegrasikan kegiatan rekayasa perangkat lunak untuk menghasilkan perangkat lunak
*Menjaga konsistensi kinerja dari kegiatan rekayasa perangkat lunak

Ruang lingkup kegiatan dari rekayasa produk perangkat lunak yaitu :
* kegiatan rekayasa untuk membangun perangkat lunak (software requirement, software design, software code, software testing) sesuai dengan proses yang telah ditetapkan dalam proyek perangkat lunak,
* kegiatan pemeliharaan perangkat lunak

Dokumentasi diperlukan untuk kegiatan rekayasa perangkat lunak mis. Software requirement doc, software design doc, test plan, test prosedure. Dokumen yang ada dibuat dan di review untuk memastikan bahwa setiap tugas yang ada diperoleh dari tugas yang sebelumnya dan dipergunakan untuk tugas selanjutnya. Ketika ada perubahan yang disepakati, seolah-olah kinerja produk perangkat lunak, rencana, komitmen, proses dan aktivitas diperbaiki untuk dipergunakan sebagai acuan untuk persetujuan perubahan

Kegiatan Rekayasa Produk Perangkat Lunak :
Kegiatan Rekayasa Perangkat Lunak dapat dikategorikan dalam 3 fase umum tanpa memandang area aplikasi, ukuran proyek atau kompleksitas. Fase tersebut yaitu:
1. Definition Phase
Merupakan fase awal dari proses pengerjaan perangkat lunak. Pada fase ini, pengembang perangkat lunak melakukan kegiatan identifikasi yang meliputi : informasi apa saja yang harus diproses, fungsi dan kinerja yang digunakan, tingkah laku sistem yang diharapkan, interface yang harus dibuat, kendala desain yang ada, serta kriteria validasi yang diperlukan untuk mendefinisikan keberhasilan sistem

2. Development Phase
Pada fase ini menerjemahkan keperluan yang telah dianalisis ke dalam bahasa pemrograman yang telah ditentukan. Kegiatan yang dilakukan adalah mendefinisikan bagaimana : data disusun, fungsi bisa diimplementasikan sesuai dengan arsitektur software, detik prosedur untuk implemetasi, karakter interface, hasil desain bisa ditranslasikan ke bahasa pemrograman dan cara pengujiannya.
Ada tiga aktivftas teknis yang selalu terjadi:
• Desain software
• Pembuatan Program
• Pengujian Software

3. Maintenance Phase
Pada fase ini, PL telah selesai dan kegiatan difokuskan pada perubahan yang berkaitan dengan adanya koreksi kesalahan, adaptasi dan pengembangan yang dikehendaki user. Ada 4 tipe perubahan:
• Correction, yaitu : mengubah perangkat lunak untuk memperbaiki kesalahan-kesalahan yang ada.
• Adaption, yaitu : modifikasi yang dilakukan terhadap perangkat lunak dikarenakan adanya perubahan lingkungan eksternal (misal: CPU, sistem operasi, aturan bisnis, karakter produk eksternal).
• Enhancement, yaitu : saat perangkat lunak dipakai, user meminta tambahan-tambahan fungsi. Sehingga software dikembangkan dari kebutuhan semula. Prevention / sering disebut software re-enginering, yaitu: harus dilakukan untuk memungkinkan perangkat lunak bisa sesuai dengan keinginan end user. Pada fase ini dilakukan perubahan-perubahan ke program komputer, sehingga program tersebut bisa dikoreksi, beradaptasi dan dikembangkan dengan mudah


2. Cara Menilai sebuah software
Pengukuran Kualitas Software:
1. Product (Diukur Berdasarkan Factor dan Criteria Produk)
* Taxonomy McCall
* ISO 9126
2. Process (Diukur dari Kematangan Development Process)
* CMM, SPICE, BOOTSTRAP
* ISO 9001


Mengukur Development Process [Capability Maturity Model (CMM), SEI]
1. Level 1 – Initial , tanpa prosedur dan planning, tidak konsisten
2. Level 2 – Repeatable, ada manajemen, jaminan kualitas, prosedur, individual performance tanpa model formal
3. Level 3 – Defined, proses terdefinisi, dan mengarah ke perbaikan proses secara kualitatif
4. Level 4 – Managed, perbaikan dan prediksi proses secara kuantitatif
5. Level 5 – Optimizing, memperbaiki proses secara berkesinambungan, inovatif, direncanakan, dianggarkan dan integral dalamproses organisasi


3. Kegiatan Perawatan Perangkat lunak
kegiatan difokuskan pada perubahan yang berkaitan dengan adanya koreksi kesalahan, adaptasi dan pengembangan yang dikehendaki user.



4. Cara Menetapkan harga perangkat lunak
Untuk menetapkan harga perangkat lunak dapat memperhatikan :
* kompleksitas perangkat lunak
* bahasa pemrograman yang dipergunakan
* lama pengerjaan perangkat lunak
* jaminan kualitas perangkat lunak
* Supporting yang diberikan oleh pengembang perangkat lunak



1 komentar:

Fetty Hardiyanti mengatakan...

bagus gan
My blog

Posting Komentar

Template by : kendhin x-template.blogspot.com