pemprototaipan sistem topik yang dibincangkan: faedah pemprototaipan proses pemprototaipan...

31
Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan antaramuka pengguna

Post on 21-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan Sistem

Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan antaramuka

pengguna

Page 2: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan Sistem

Pengguna umumnya sukar untuk menyatakan keperluan sebenarnya bagi sistem yang hendak dibangunkan. Kerana pengguna tidak dapat menggambarkan bagaimana mereka akan menggunakan sistem bagi menyokong tugas-tugasnya.

Page 3: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan Sistem

Pemprototaipan adalah versi awal bagi sistem perisian yang digunakan untuk menunjukkan konsep, mencuba pilihan-pilihan rekabentuk, memahami masalah, dan mendapatkan penyelesaian-penyelesaian yang mungkin.

Page 4: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan Sistem Prototaip menyokong dua aktiviti

kejuruteraan keperluan: ‘Requirements elicitation’. Prototaip

membolehkan pengguna mengeksperimen untuk melihat bagaimana sistem membantu tugas mereka. Pengguna boleh mendapat idea-idea baru bagi keperluan sistem.

Page 5: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan Sistem ‘Requirements validation’. Prototaip dapat

memperlihatkan ralat dan perkara-perkara yang tertinggal di dalam keperluan. e.g Fungsi yang telah dinyatakan di dalam spesifikasi keperluan apabila telah ditunjukkan melalui prototaip menunjukkan ianya kurang diperlukan.

Pemprototaipan dianggap sebagai aktiviti pengurangan risiko (risk reduction activity) yang mana ia mengurangkan risiko keperluan.

Page 6: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Faedah pemprototaipanDisamping membantu memperbaiki keperluan spesifikasi, pemprototaipan juga mempunyai faedah-faedah lain seperti berikut:

‘Misunderstandings between software users and developers are exposed’

‘Missing services may be detected and confusing services may be identified’

‘A working system is available early in the process’

Page 7: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Faedah pemprototaipan

‘The prototype may serve as a basis for deriving a system specification’

‘The system can support user training and system testing’

Page 8: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Proses pemprototaipan

Establishprototypeobjectives

Defineprototype

functionality

Developprototype

Evaluateprototype

Prototypingplan

Outlinedefinition

Executableprototype

Evaluationreport

Page 9: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan di dalam proses sistem

Pemprototaipan ‘Evolutionary’ Adalah kaedah bagi sistem pembangunan

yang mana prototaip awal dihasilkan dan diperbaiki melalui beberapa ulangan/tahap sehingga sistem akhir dihasilkan.

Pemprototaipan ‘Throw-away’ Prototaip bagi sesuatu sistem dibangunkan

bagi membantu mengenalpasti masalah-masalah keperluan dan kemudiannya tidak berguna lagi. Sistem kemudiannya dibangunkan dengan menggunakan proses pembangunan yang lain.

Page 10: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Objektif pemprototaipan Objektif bagi pemprototaipan

‘evolutionary’ adalah untuk menghasilkan sistem yang berfungsi kepada pengguna sistem. Pembangunan bermula dengan keperluan-keperluan yang difahami dengan jelas dan yang mempunyai prioriti tinggi. Keperluan yang kurang prioritinya ataupun yang kurang jelas akan dilaksanakan mengikut permintaan pengguna.

Page 11: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Objektif pemprototaipan Objektif bagi pemprototaipan ‘throw-

away’ adalah untuk mengesahkan atau menerbitkan keperluan-keperluan sistem. Pemprototaipan bermula dengan keperluan-keperluan yang tidak jelas kerana keperluan ini perlu difahami. Keperluan yang jelas tidak diprototaipkan.

Page 12: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Objektif pemprototaipan Satu lagi perbezaan objektif diantara

dua jenis pemptototaipan ini adalah dari segi pengurusan kualiti bagi sistem tersebut. Pemprototaipan ‘throw-away’ mempunyai jangka-hayat yang pendik. Prestasi dan kebolehpercayaan yang tidak baik boleh diterima asalkan prototaip tersebut dapat membantu memahami keperluan sistem.

Page 13: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Objektif pemprototaipan Tetapi bagi pemprototaipan

’evolutionary’, yang mana seterusnya akan menjadi sistem akhir perlu dibangunkan dengan standard kualiti yang sama seperti sistem-sistem lain dioraganisasi tersebut. Sistem perlulah mempunyai prestasi dan kebolehpercayaaan yang baik dan sebagainya.

Page 14: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Kaedah pemprototaipan

Evolutionaryprototyping

Throw-awayPrototyping

Deliveredsystem

Executable Prototype +System Specification

OutlineRequirements

Page 15: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Evolutionary’

Build prototypesystem

Develop abstractspecification

Use prototypesystem

Deliversystem

Systemadequate?

YES

N

Page 16: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Evolutionary’ Spesifikasi, rekabentuk dan pelaksaaan

adalah ‘intertwined’. Tiada sistem spesifikasi yang lengkap dan dokumentasi rekabentuk adalah bergantung kepada peralatan pembangunan yang digunakan. Dokumen spesifikasi pengguna hanya menyatakan ciri-ciri utama bagi sistem tersebut.

Sistem dibangunkan secara berulangan. Pengguna dan pembangun menilai setiap hasil yang dikeluarkan pada sesuatu tahap ulangan tersebut.

Page 17: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Evolutionary’ Teknik dan peralatan bagi

pembangunan sistem pantas (rapid system development) digunakan seperti CASE tools dan 4GLs

Page 18: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Evolutionary’ Pada awalnya teknik ini digunakan untuk sistem-

sistem yang mana spesifikasinya sukar untuk dinyatakan telebih dahulu seperti AI systems.

Banyak sistem pada masa ini telah dibangunkan menggunakan teknik ‘evolutionary’ – iaitu versi awal dihasilkan dengan cepat (rapid prototyping) dan diubahsuai sehingga menghasilkan sistem yang akhir.

‘Web-site development’ dan ‘e-commerce applications contohnya boleh menggunakan teknik evolutionary ini.

Page 19: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Evolutionary’

Bagaimanakah dengan kos pembangunan bagi pemprototaipan evolutionary?

( Umumnya ia akan menaikkan kos diperingkat awal proses perisian tetapi mengurangkan kos diperingkat yang kemudiannya. )

Page 20: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Kebaikan pemprototaipan ‘Evolutionary’

‘Accelerated delivery of the system’ Penghantaran yang cepat (rapid delivery) dan

kebolehgunaan (usability) kadangkala mempunyai prioriti yang lebih daripada faktor penyelenggaran jangka-panjang dan sebagainya.

‘User engagement with the system’ Penglibatan pengguna bukan sahaja

bermaksud sistem mungkin dapat memenuhi keperluan pengguna tetapi juga pengguna mungkin dapat memberi komitmen kepada penggunaan sistem tersebut.

Page 21: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Masalah pemprototaipan ‘Evolutionary’ ‘Management problems’

Prototaip berkembang (evolve) dengan pantas, mungkin tidak kos-efektif untuk mengeluarkan sistem dokumentasi yang banyak. (ianya bukan seperti model proses yang biasa, contohnya water-fall yang mana pengurus telah biasa dan mudah untuk mengawal kemajuan projek disesuatu tahap). Pembangunan prototaip pantas memerlukan teknologi yang mungkin tidak biasa oleh staf yang sedia ada.

Page 22: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Masalah pemprototaipan ‘Evolutionary’ ‘Maintenance problems’

Perubahan yang kerap memberi akibat kepada struktur sistem prototaip tersebut. Selain dari pembangun asal, mungkin adalah sukar bagi pembangun lain untuk mengubahnya. Lebih-lebih lagi sekiranya teknologi yang digunakan untuk menyokong pembangunan prototaip pantas sudah tidak digunakan lagi. Dengan ini, mungkin sukar untuk mencari orang yang dapat menyelenggara sistem ini.

Page 23: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Masalah pemprototaipan ‘Evolutionary’ ‘Contractual problems’

Model kontrak yang biasa diantara pelanggan(customer) dan pembangun perisian adalah berdasarkan spesifikasi sistem. Apabila tiada spesifikasi, maka berkemungkinan pelanggan kurang bersetuju untuk membayar kepada pembangun perisian mengikut masa yang diambil membangunkan sistem tersebut – fixed-price contract.

Page 24: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Lain-lain isu bagi pemprototaipan ‘Evolutionary’ Pemprototaipan membolehkan sistem

bersaiz kecil dan sedang dibangunkan dan dihantarkan dengan pantas. Walaubagaimanpun bagi sistem yang bersaiz besar, dan sekiranya juga melibatkan sub-kontraktor, maka pemprototaipan ‘evolutionary’ adalah sukar dilaksanakan. Pemprototaipan ‘throw-away’ boleh dilaksanakan untuk memahami keperluan.

Page 25: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Laij-lain isu bagi pemprototaipan ‘Evolutionary’ Proses pembangunan penokokan

(incremental developemen process) boleh menjadi alternatif kepada proses pemprototaipan ‘evolutionary’ bagi mengurangkan masalah-masalah yang timbul.

Proses pembangunan penokokan juga menyokong konsep prototaip dan pengurusan proses pembangunannya adalah dikendalikan mengikut cara yang biasa. e.g. pelan dan dokumentasi dihasilkan bagi setiap penokokan.

Page 26: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Incremental development process

Validateincrement

Build systemincrement

Specify systemincrement

Design systemarchitecture

Define systemdeliverables

Systemcomplete?

Integrateincrement

Validatesystem

Deliver finalsystem

YES

NO

Page 27: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Throw-away’ Digunakan untuk mengurangkan risiko

keperluan Prototaip dibangunkan dari spesifikasi

awal, untuk tujuan eksperimen dan kemudian tidak berguna lagi (discard)

Prototaip ‘throw-away’ tidak dianggap sebagai satu sistem akhir kerana:

Page 28: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan ‘Throw-away’

Mungkin ada beberapa ciri sistem yang telah ditinggalkan

Tiada spesifikasi bagi penyelenggaran jangka panjang

Sistem distruktur dengan cara yang tidak baik dan sukar untuk diselenggara

Page 29: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Proses bagi pemprototaipan ‘Throw-away’

Outlinerequirements

Developprototype

Evaluateprototype

Specifysystem

Developsoftware

Validatesystem

Deliveredsoftwaresystem

Reusablecomponents

Page 30: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Pemprototaipan antaramuka pengguna

Adalah mustahil untuk menentukan terlebih dahulu ‘pre-specify the look and feel’ bagi antaramuka pengguna dalam cara yang efektif. Prototaip adalah perlu!

Lihat proses merekabentuk antaramuka yang telah dipelajari.

Page 31: Pemprototaipan Sistem Topik yang dibincangkan: Faedah pemprototaipan Proses pemprototaipan Pemprototaipan ‘Evolutionary’ Pemprototaipan ‘Throw-away’ Pemprototaipan

Bab yang seterusnya adalah Rekabentuk Aturcara (PROGRAM DESIGN)….