Jumat, 13 Februari 2015



REKAYASA PERANGKAT LUNAK
Dalam pengerjaan suatu bangunan dikenal berbagai macam proses, demikian juga halnya dengan membangun perangkat lunak. Perbedaan proses yang digunakan dalam pembuatan akan menguraikan aktivitas-aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda. Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan.

 Dan dalam aktivitas pengembangan perangkat lunak meliputi :
1. Persiapan Pengembangan
2. Analisis kebutuhan sistem
3. Perancangan sistem
4. Analisi kebutuhan perangkat lunak
5. Perancangan perangkat lunak
6. Implementasi perangkat lunak (coding)
7. Pengujian perangkat lunak
8. Integrasi perangkat lunak
9. Pengujian sistem
10. Penyerahan kepada pemakai (User Acceptance)

Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, Extreme Programming, serta proses air terjun (waterfall). Contohnya sebagai berikut:




1.WATErFALL:

 





                     
A.    Analisis kebutuhan(requirements definision)
Mempelaj arti perangkat lunak yang akan di buat  dan memahami masalah yang akan dibuat perangkat lunaknya, menetapkan arahan informasi, fungsi, perilaku, dan hasil kerja perangkat lunak untuk didefinisikan sebagai kebutuhan perangkat lunak.
B.     Perancangan(system and softwaredesign)
Transformasi setiap spesifikasi kebutuhan menjadi modul-modul perancangan yang lebih rinci sehingga menghasilkan model solusi dalam bentuk rancangan struktur data, arsitektur perangkat lunak, antar muka, dan prosedur-prosedur atau algoritma.
C.     Pengkodean(impelemntation)
Menerjemahkan model perancangan ke dalam bentuk yang dapat dimengerti oleh mesin (komputer) dengan menggunakan perangkat implementasi tertentu.
D.    Pengujian(system testing)
Memeriksa kebenaran logika internal dan fungsi perangkat lunak untuk menemukan kesalahan-kesalahan, dan memastikan bahwa perangkat lunak yang dihasilkan sesuai dengan kebut uhan yang sudah didefinisikan sebelumnya.
E.     Pengoperasian(Operation)
Penggunaan perangkat lunak oleh pemakai di lingkung an sebenarnya. Untuk men aga supaya perangkat lunak yang dioperasikan ini tetap berjalan sebagaimana mestinya, dilakukan proses pemeliharaan.

Kelebihan dimana model ini mudah di aplikasikan, Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliha-raan. Kekurangan Waterfall model Waterfall model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem perangkat lunak.Pemakaian Waterfall model Waterfall model digunakan untu pembuatan sistem perangkat lunak yang berukuran besardan pembuatannya secara terpisah.

2. PROTOTYPING MODEL







A.    Pengumpulan Kebutuhan dan perbaikan.
Pengembang bertemu dengan pemakai (pelanggan) untuk menentukan objektif perangkat lunak secara keseluruhan dan mengidentifikasi kebutuhan-kebutuhan yang sudah diketahui.

B.     Perancangan cepat
Melakukan perancangan secara cepat dengan fokus pada hal-hal yang akan langsung terlihat oleh pemakai, seperti antarmuka pemakai dan fungsi-fungsi dasar.
C.      Membangun prototype
Model perancangan yang dihasilkan selanjutnya digunakan untuk membuat prototype pertama,yang mungkin berbentuk :
 Interactions prototype
Prototype perangkat lunak yang memungkinkan pemakai untuk memahami bagaimana berinteraksi dengan sistem perangkat lunak.
 Subset function prototype
Prototype perangkat lunak yang sudah dapat digunakan tetapi baru mengimplementasikan sebagian dari fungsi-fungsi yang diinginkan.

 Existing program

Program sebenarnya yang mengimplementasikan sebagian besar atau seluruh fungsionalitas yang dibutuhkan, tetapi masih ada hal-hal utama lainnya yang harus disempurnakan pada pengembangan berikutnya.
4) Evaluasi prototype

Menguji coba dan mengevaluasi prototype bersama-sama dengan pemakai untuk mendapatkan umpan balik yang dapat membantu pengembang memperbaiki prototype yang sudah dibuat, atau membangun prototypeyang baru.
5) Perbaikan prototype

Melakukan penambahan dan perbaikan-perbaikan terhadap prototype berdasarkan hasil evaluasi sampai diperoleh produk yang diinginkan.
Keuntungan Prototyping Model :
1) Menghemat waktu pengembangan.
2) Adanya komunikasi yang baik antara pengembang dan pelanggan.
3) Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
4) Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
5) User dapat berpartisipasi aktif dalam pengembangan sistem.
6) Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
7) Untuk digunakan secara standalone.

Kekurangan Prototyping Model :
1) Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
2) Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
3) Banyak ketidak sesuaian pada bentuk prototype.
4) Proses analisis dan perancangan terlalu singkat.
5) Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
6) Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
7) Mengesampingkan alternatif pemecahan masalah.


8) Bisanya kurang fleksible dalam mengahadapi perubahan.
9) Prototype yang dihasilkan tidak selamanya mudah dirubah.

3. MODEL SPIRAL











Model proses perangkat lunak evolusioner yang mengadopsi pengulangan model prototyping dan pengendalian model linear sequential dengan tambahan elemen analisis resiko pada proses pengembangannya. Representasi model ini berbentuk spiral, dimana setiap pengulangan dinyatakan dengan suatu sirkuit yang melingkari 4 aktivitas utama:

1) Perencanaan
Mendefinisikan tujuan, kendala, sumber daya, waktu, dan informasi lain yang berhu-bungan dengan proyek.

2) Analsis resiko
Mengenali, menganalisis dan menilai resiko teknis dan manajemen.

3) Rekayasa
Membangun satu atau beberapa produk yang merepresentasikan aplikasi.

4) Evaluasi pemakai
Mendapatkan umpan balik dari pemakai berdasarkan hasil evaluasi produk yang direkayasa.
Kelebihan model Spiral :
Prescriptive Model Proses
Prescriptive model adalah model proses dasar yang dipakai seperti dengan aturan-aturan yang ditentukan agar dapat menghindari kesalahan dalam jadwal kegiatan kerja. Tetapi pada kenyataannya bahwa setiap proyek memiliki keadaan, situasi, dan kondisi yang berbeda dan akan sangat sulit jika hanya memiliki acuan terhadap aturan –aturan yang ditentukan sebelum proyek mulai dikerjakan.




Tidak ada komentar:

Posting Komentar