Rpl 2- sw process model

Post on 21-Jul-2015

686 views 0 download

Transcript of Rpl 2- sw process model

Layer Technology

Water Fall Model

Prototyping Model

Spiral Model

Fourth Generation

Combining Paradigm

Conclusion

Materi

SOFTWARE PROCESS MODEL

Back

A Layered Technology SE

1. Classic Life Cycle Pradigm - Model Water Fall - Model Siklus Hidup Klasik

Keterangan Waterfall (1)

A. System Engineering and AnalysisKarena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulaidengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikansebagian kebutuhan tersebut ke software.

Pandangan terhadap sistem adalah penting, terutama pada saat software harusberhubungan dengan elemen lain, seperti :1. Hardware2. Software3. Database

B. Analisis kebutuhan softwareSuatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interfacet erhadap elemen lainnya. Hasil darianalisis ini didokumentasikan dan direview / dibahas / ditinjau bersama-samacustomer.

Keterangan Waterfall (2)

C. DesignDesain software sesungguhnya adalah proses multi step (prosesyang terdiri dari banyak langkah) yang memfokuskan pada 3 atributprogram yang berbeda, yaitu :• Struktur data• Arsitektur software• Rincian prosedurProses desain menterjemahkan kebutuhan ke dalam representasisoftware yang dapat diukur kualitasnya sebelum mulai coding. Hasildari desain ini didokumentasikan dan menjadi bagian darikonfigurasi software.

D. CodingDesain harus diterjemahkan ke dalam bentuk yang dapat dibacaoleh mesin

Keterangan Waterfall (2)

E. TestingSegera sesudah objek program dihasilkan, pengetesan program dimulai. Proses testing difokuskan pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah dites danlingkungan external menjamin bahwa definisi input akanmenghasilkan output yang diinginkan.

F. MaintenanceSoftware yang sudah dikirim ke customer data berubah karena• Software mengalami error• Software harus diadaptasi untuk menyesuaikan dengan

lingkungan external, misalnya adanya sistem operasi baru atau peripheral baru.

• Software yang lebih disempurnakan karena adanya permintaandari customer.

Masalah yang dihadapi dari model siklus hidup klasik adalah :

• Proyek yang sebenarnya jarang mengikuti aliran sequential yang ditawarkan model ini.

• Iterasi (Pengulangan) selalu terjadi danmenimbulkan masalah pada aplikasi yang dibentuk oleh model ini.

• Seringkali pada awalnya customer sulitmenentukan semua kebutuhan secara explisit(jelas).

• Customer harus sabar karena versi program yang jalan tidak akan tersedia sampai proyek software selesai dalam waktu yang lama.

Back

2. Prototyping Model

Langkah Prototyping Model

Hasil dari pengumpulan kebutuhan (requirements gathering) diteruskan pada Quick Design.

Quick Design ini memfokuskan pada representasiaspek-aspek software yang dapat dilihat oleh user, misalnya format input dan output,

Pembentukan prototype (build prototype). Prototype ini dievaluasi oleh customer / user dan

digunakan untuk memperbaiki kebutuhan-kebutuhansoftware. Proses iterasi terjadi agar prototype yang dihasilkan memenuhi kebutuhan customer, juga padasaat yang sama developer mengerti lebih baik tentangapa yang harus dikerjakan.

Problem Yang Muncul

Seringkali seorang customer sulit menentukan:

input yang lebih terinci,

proses yang diinginkan dan

output yang diharapkan.

Tentu saja ini menyebabkan developer tidak yakindengan:

efisiensi algoritma yang dibuatnya,

sulit menyesuaikan sistem operasi,

serta interaksi manusia dan mesin yang harusdiambil.

Solusi

Dalam hal seperti ini, pendekatan prototype untuk software engineering merupakan langkahyang terbaik.

Prototype sebenarnya adalah suatu proses yang memungkinkan developer membuat sebuahmodel software.

Bentuk Prototyping Model

Ada 2 bentuk dari model ini, yaitu :

A. Paper Prototype

Menggambarkan interaksi manusia dan mesin dalam sebuah bentukyang memungkinkan user mengerti bagaimana interaksi itu terjadi.

B. Working Prototype

Adalah prototype yang mengimplementasikan beberapa bagian darifungsi software yang diinginkan seperti pada pendekatanpengembangan software.

Model ini dimulai dengan :

o Pengumpulan kebutuhan developer dan customer

o Menentukan semua tujuan software

o Mengidentifikasi kebutuhan-kebutuhan yang diketahui

Masalah yang dihadapi olehprototyping model ini adalah :

1. Customer hanya melihat pada apa yang dihasilkan oleh software, tidak peduli padahal-hal yang berhubungan dengan kualitassoftware dan pemeliharaan jangka panjang.

2. Developer seringkali menyetujui apa yang diterangkan oleh customer agar prototype dapat dihasilkan dengan cepat. Akibatnyatimbul pemilihan sistem operasi / bahasapemrograman yang tidak tepat.

Spiral Model

Keterangan Spiral Model (1)

Proses digambarkan sebagai spiral.

Setiap loop mewakili satu fase dari software process.

Loop paling dalam berfokus pada kelayakandari sistem,

loop selanjutnya tentang definisi darikebutuhan,

loop berikutnya berkaitan dengan desainsistem dan seterusnya.

Keterangan Spiral Model (2)

Setiap Loop dibagi menjadi beberapa sektor :

1. Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudahdisiapkan. Resiko dari proyek sudah diketahui. Alternatifstrategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.

2. Risk assessment and reduction (Penanganan danpengurangan resiko): setiap resiko dianalisis secara detilpada sektor ini. Langkah-langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahuiketidakcocokan kebutuhan.

Keterangan Spiral Model (3)

3. Development and Validation (Pembangunan danpengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka menggunakan model formal dengan perhitunganmatematis, dan jika masalahnya adalah integrasi sistemmodel waterfall lebih cocok.

4. Planning: Proyek dievaluasi atau ditinjau-ulang dandiputuskan untuk terus ke fase loop selanjutnya atautidak. Jika melanjutkan ke fase berikutnya rencanauntuk loop selanjutnya.

Fourth Generation Technique Paradigm -Model tehnik generasi ke 4 / 4GT

Istilah Fourth Generation Technique (4GT)

Istilah Fourth Generation Technique (4GT) meliputi seperangkatperalatan software yang memungkinkan seorang developer software menerapkan beberapa karakteristik software pada tingkat yang tinggi, yang kemudian menghasilkan source code dan object code secaraotomatis sesuai dengan spesifikasi yang ditentukan developer.

Saat ini peralatan / tools 4GT adalah bahasa non prosedur untuk :• DataBase Query• Pembentukan laporan ( Report Generation )• Manipulasi data• Definisi dan interaksi layar (screen)• Pembentukan object dan source ( Object and source generation )• Kemampuan grafik yang tinggi, dan• Kemampuan spreadsheet

Keterangan 4 GT (1)

o Model 4GT untuk software engineering dimulai dengan rangkaianpengumpulan kebutuhan. Idealnya, seorang customer menjelaskankebutuhan-kebutuhan yang selanjutnya diterjemahkan ke dalamprototype. Tetapi ini tidak dapat dilakukan karena customer tidakyakin dengan apa yang diperlukan, tidak jelas dalam menetapkanfakta-fakta yang diketahui dan tidak dapat menentukan informasiyang diinginkan oleh peralatan 4GT.

o Untuk aplikasi kecil adalah mungkin bergerak langsung dari langkahpengumpulan kebutuhan ke implementasi yang menggunakanbahasa non prosedur fourth generation (generasi ke 4). Tetapiuntuk proyek besar, pengembangan strategi desain sistem tetapdiperlukan, sekalipun kita menggunakan 4GL. Penggunaan 4GT tanpa desain untuk proyek besar akan menyebabkan masalah yang sama yang ditemui dalam pengembangan software yang menggunakan pendekatan konvensional.

Keterangan 4 GT (2)

Implementasi yang menggunakan 4GL memungkinkan developer software menjelaskanhasil yang diinginkan yang kemudianditerjemahkan ke dalam bentuk source code danobject code secara otomatis.

Langkah yang terakhir adalah mengubahimplementasi 4GT ke dalam sebuah product. Selanjutnya developer harus melakukan pengetesan, pengembangan dokumentasi dan pelaksanaan semua aktifitas lainnya yang diwujudkan dalam model software engineering.

Masalah yg dihadapi dalam model 4GT

adalah adanya sebagian orang yg beranggapanbahwa :

1. peralatan 4GT tidak semudah penggunaanbahasa pemrograman,

2. source code yang dihasilkan oleh peralatan ini tidak efisien,

3. pemeliharaan sistem software besar yang dikembangkan dengan 4GT masih merupakantanda tanya.

Model Kombinasi - Combining Paradigm

Keterangan Model Kombinasi (1)

• Model ini menggabungkan keuntungan-keuntungan dari beberapa model sebelumnya. Seperti pada model sebelumnya, model kombinasi ini dimulai dengan langkahpengumpulan kebutuhan.

• Pendekatan yang dapat diambil adalahpendekatan siklus hidup klasik (Analisis sistemdan analisis kebutuhansoftware) atau dapat jugamenggunakan pendekatan seperti prototyping jika definisi masalahnya tidak terlalu formal.

Keterangan Model Kombinasi (2)

Jika kebutuhan untuk fungsi dan performance software diketahui dan dimengerti, pendekatan yang dianjurkanadalah model siklus hidup klasik. Sebaliknya, jikaaplikasi software menuntut interaksi yang sering antaramanusia dan mesin, membutuhkan algoritma yang tidak dapat dibuktikan, atau membutuhkan tehnikoutput /kontrol, maka pendekatan yang dianjurkanadalah model prototyping.

Pada kasus seperti ini, 4GL dapat digunakan untukmendapat prototype dengan cepat. Segera sesudahprototype dievaluasi dan disempurnakan, langkahdesain dan implementasi dalam siklus hidup klasikditerapkan.

Conclusion

Dari model yang disebut di atas dapat diambilsuatu kesimpulan, bahwa proses pengembangansoftware terdiri dari 3 fase, yaitu :

1. Fase Definisi

2. Fase Pengembangan (Development)

3. Fase Pemeliharaan (Maintenance)

Fase Definisi (1)

Fase definisi memfokuskan pada “What”. Selamadefinisi ini, developer software berusaha untuk :

o Mengidentifikasi informasi apa yang dikerjakanproses

o Fungsi dan performance apa yang diinginkan

o Interface apa yang dibutuhkan

o Hambatan desain apa yang ada, dan

o Kriteria validasi apa yang dibutuhkan untukmenetapkan keberhasilan sistem.

Fase Definisi (2)

A. Sistem AnalisSistem analis menetapkan peranan dari setiap elemen dalam sistem berbasiskomputer, terutama mengalokasikan peranan software.

B. Sistem Software PlanningDalam sistem ini, setelah lingkungan software dialokasikan, maka langkah darisistem software planning ini adalah :• Pengalokasian sumber / resource• Estimasi biaya• Penetapan tugas pekerjaan dan jadual.

C. Requirement AnalysisPenetapan lingkup untuk software memberikan petunjuk / arah. Namundefinisi yang lebih rinci dari informasi dan fungsi software diperlukan sebelumpekerjaan dimulai.

Fase Pengembangan (1)

Fase pengembangan berfokus pada “How”. Selamapengembangan, developer software berusahamenjelaskan :• Bagaimana struktur data dan arsitektur software

yang didesain• Bagaimana rincian prosedur diimplementasikan (

diterapkan )• Bagaimana desain diterjemahkan ke dalam

bahasa pemrograman atau bahasa non prosedur, dan

• Bagaimana pengetesan akan dilaksanakan.

Fase Pengembangan (2)

A. Desain software ( Software Design )Desain menterjemahkan kebutuhan-kebutuhan software ke dalamsekumpulan representasi (grafik, tabel, diagram, atau bahasa yang menjelaskan struktur data, arsitektur software dan prosedur algoritma).

B. CodingRepresentasi desain harus diterjemahkan ke dalam bahasa tiruan / artificial language yang menghasilkan perintah-perintah yang dapatdieksekusi oleh komputer.

C. Software TestingSegera sesudah software diimplementasikan dalam bentuk yang dapatdieksekusi oleh mesin, software perlu ditest untuk menemukan kesalahan( merupakan fungsi logika dan implementasi ).

Fase Pemeliharaan

Fase pemelihaaan berfokus pada “Change” atauperubahan. Ini dapat disebabkan :A. Perubahan karena software error ( Corective

Maintenance )

B. Perubahan karena software disesuaikan / diadaptasidengan lingkungan external, misalnya munculnya CPU baru, sistem operasi baru ( Adaptive Maintenance )

C. Perubahan software yang disebabkan customer / user meminta fungsi tambahan, misalnya fungsi grafik, fungsi matematik, dll ( Perfective Maintenance )