Blogger Widgets

Adsense Menu

Senin, 15 Juli 2013

Materi kuliah Rekayasa Perangkat Lunak

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Perangkat Lunak
I. DEFINISI
a) Instruksi-instruksi (program komputer) yang ketika dijalankan menyediakan fitur-fitur, fungsi-fungsi, dan kinerja yang dikehendaki
b) Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur.
Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).
i. TUJUAN REKAYASA PERANGKAT LUNAK
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. dapat diartikan bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara leboih khusus kita dapat menyatakan tujuan RPL adalah:
a. memperoleh biaya produksi perangkat lunak yang rendah
b. menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
c. menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
d. menghasilkan perangkat lunak yang biaya perawatannya rendah
ii. RUANG LINGKUP
Sesuai dengan definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut:
-software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak
-software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
-software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan
-software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak
-software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan
-software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu
-software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak
-software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL
-software engineering process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
-software quality menitik beratkan pada kualitas dan daur hidup perangkat lunak
iii. Pengembangan Cepat Perangkat Lunak
-Proses cepat à proses yang memiliki kemampuan beradaptasi
-Proses pengembangan perangkat lunak yang cepat (agile) bersifat mengurangi biaya-biaya perubahan karena perangkat lunak diluncurkan ke pengguna dalam bentuk yang dapat dikembangkan lagi di kemudian hari dan perubahan dapat lebih baik untuk dikendalikan di dalamnya.
a. Prinsip-prinsip pengembangan cepat
1.Prioritas untuk memuaskan pelanggan melalui penghantaran perangkat lunak dalam waktu yang lebih awal dan berkesinambungan.
2.Memanfaatkan perubahan untuk mencapai keunggulan kompetitif terhadap pelanggan.
3.Sering menghantarkan perangkat lunak yang bekerja.
4.Kerjasama antara pelaku bisnis dan pengembang perangkat lunak selama proyek berjalan.
5.Membangun motivasi individu-individu dalam tim.
6.Percakapan tatap muka ialah metode paling efektif dan efisien untuk menyampaikan informasi ke dan dalam tim.
7.Perangkat lunak yang berjalan dengan baik ialah tolok ukur utama kemajuan suatu proyek perangkat lunak.
8.Proses pengembangan perangkat lunak yang cepat mendukung pengembangan perangkat lunak secara berkelanjutan.
9.Perhatian terus menerus tentang keunggulan teknis dan perencanaan yang baik dapat meningkatkan kecepatan pengembangan perangkat lunak.
10.Kesederhanaan itu hal yang penting.
11.Arsitektur, persyaratan, dan rancangan perangkat lunak terbaik muncul dari tim yang dapat mengatur dirinya sendiri.
12.Tim perangkat lunak mencerminkan keadaan bagaimana caranya mereka menjadi lebih efektif pada interval waktu yang teratur.
b.Adapun faktor manusia :
1.Kompetensi
2.Fokus Bersama
3.Kolaborasi
4.Kemampuan pengambilan keputusan
5.Kemampuan problem solving
6.Saling percaya dan menghormati
7.Pengorganisasian diri
II. Aktivitas dalam membuat perangkat lunak
Framework (Aktivitas) :
1) Pekerjaan
2) Produk/Hasil
3) Titik jaminan kualitas
4) Milestone
Workflow
1) Linier : Communication -> Planning -> Modelling -> Construction -> Deployment
2) Iteraktif
3) Evolusioner
Komunikasi -> Perencanaan -> Pemodelan -> Konstruksi -> Penyerahan -> Bisa kembali ke awal lagi
4) Paralel
Komunikasi :
1) Inception : Awal
2) Elicitation : Menggali
3) Elaboration : Rincian
4) Negosiation : Penyampaian hasil analisis
5) Specification : Mencatatkan
6) Validation : Hasil
Yang di maksud dari kata "doing the right thing" => verifikasi dan "doing the thing right" => validasi spesifikasi kebutuhan : cara memformalkan/memproseskan kebutuhan
III. Daur Hidup Perangkat Lunak
Rekayasa kebutuhan diperlukan karena :
1.Semua perangkat lunak memiliki spesifikasi
2.Permasalahan berawal dari spesifikasi kebutuhan
IV.Pemodelan spesifikasi Perangkat Lunak
- Spesifikasi kebutuhan -> proses memformalkan kebutuhan
- Pemodelan -> membuat model sebagai representasi awal perangkat lunak
- Pendekatan Pemodelan Spesifikasi Kebutuhan PL atau pemodelan analisis ada 2, yaitu :
1.Analisis Terstruktur -> memperlakukan data dan proses sebagai entitas terpisah.
2. Analisis Berorientasi Objek à Pendefinisian kelas-kelas dan cara bagaimana saling bekerjasama satu dengan yang lain.
a) Contoh Analisis Berorientasi Objek
Pemodelan spesifikasi kebutuhan PL atau pemodelan analisis menghasilkan beberapa jenis model :
1. Model Berbasis Skenario -> aktor
2. Model Berorientasi Kelas -> kelas dan atributnya
3. Model Data -> ranah informasi
4. Model Berorientasi Aliran -> elemen fungsional dan cara transformasi data
5. Model Perilaku -> cara berperilaku terhadap event yang datang dari luar sistem
V. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
VI. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Contoh model sequence diagram :
IX. Diagram Robustnes
Robustnes membantu untuk menjembatani adanya ruang kosong dari analisis desain yg sebenarnya terhadap implementasi codingnya. Menganalisa text use case dan mengidentifikasi anggapan awal dari objek untuk setiap use case. Robustness Diagram ini diklasifikasikan ke dalam : boundary object, entity object (objek entitas), dan Controller (dimana biasanya berfungsi sebagai kata kerja atau aktivitas). Analisis dilakukan dengan cara membuat robustness diagram yang menghubungkan antara analisis dan desain.
Contoh model Diagram Robutness :
Diagram robustness menggambarkan beberapa jenis konsep:
1. Aktor = adalah konsep yang sama sebagai aktor pada diagram use case UML.
2. Boundary objek = mewakili unsur-unsur perangkat lunak seperti layar, laporan, halaman HTML, atau antarmuka sistem yang berinteraksi dengan aktor. Juga disebut elemen antarmuka.
3. control elementt = berfungsi sebagai perekat antara boundary elemen dan entity element, menerapkan logika yang diperlukan untuk mengelola berbagai unsur dan interaksinya. Juga dikenal sebagai elemen proses atau hanya sebagai pengendali. Hal ini penting untuk memahami bahwa kita mungkin memutuskan untuk mengimplementasikan pengendali dalam desain sebagai sesuatu selain objek. Banyak controller cukup sederhana untuk diimplementasikan sebagai sebuah metode dari suatu entitas atau boundary class misalnya.
4. Entity object = adalah jenis entitas yang biasanya ditemukan dalam model konseptual, seperti tabel Mahasiswa dan Seminar.
Sekian dari Materi RPL yang saya bahas, selebihnya mohon maaf jikalau terdapat salah-salah kata. karena manusia tak luput dari kesalahan. Terimakasih sudah mengunjungi blog saya. :)
ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِين

3 komentar:



 

© Copyright by Dody RedMint | Template by BloggerTemplates | Blog Templates at Fifa World