Minggu, 10 Mei 2015

Penanganan Kesalahan dan Help Documentasi

Penanganan Kesalahan dan Help Documentasi


1.1  Tipe-tipe Kesalahan (Errors)
• Kesalahan Persepsi
Gagal menangkap informasi
Gagal menangkap perhatian pengguna
• Kesalahan Kognitif
Ketidak adaan bantuan
Inkonsisten
Ketidak adaan status informasi
Kemampuan yang kurang
• Kesalahan Motor (Gerak)
Lemahnya kondisi mata dan tangan
Tekanan kecepatan
Memerlukan kemampuan yang tinggi tapi pada koordinasi tanagan dan mata
Memerlukan jenis kealihan lain
1.2  Tipe-tipe Slip
• Kesalahan Capture             
Kesalahan karena terlalu sering atau kebiasaan.
• Kesalahan Deskripsi
Kesalahan dalam melakukan aksi pada objek yang salah.
• Kesalahan Data Driven
Kesalaha karena pengaruh data dari area edit
• Pengaktifan Asosiatif
Kesalahan karena pengaruh data yang ada dipikirkan pada saat ini.
• Hilangnya Pengaktifan
Kesalahan karena lupa apa yang harus dilakukan.
• Kesalahan Mode
Kesalahan akibat lupa pada mode yang sedang dilakukan
1.3  Panduan Pencegahan Kesalahan- Menghapus mode-mode atau menyediakan petunjuk yang terlihat untuk mode-mode tersebut.
- Gunakan teknik koding yang baik (warna, gaya).
- Memaksimalkan pengenalan, mengurangi hafalan.
- Merancang urutan gerak atau perintah yang tidak sama.
- Mengurangi kebutuhan untuk mengetik.
- Uji dan memantau kesalahan-kesalahan dan memperbaikinya.
- Memungkinkan pertimbangan ulang aksi-aksi yang dilakukan oleh user, misalnya memindahkan file dari recycle bin.
1.4    Panduan Recovery Kesalahan- Menyediakan tipe-tipe tanggapan yang sesuai.
- Query: bertanya pada user apa yang sudah dilakukan, kemudian melegalkan tindakan yang salah.
- Menyediakan fungsi “undo” dan pembatalan dari proses yang sedang berjalan.
- Meminta konfirmasi untuk perintah yang drastis dan bersifat merusak.
- Menyediakan pengecekan yang beralasan pada masukan data.
- Mengembalikan kursor ke area kesalahan, memungkinkan untuk melakukan perbaikan.
- Menyediakan beberapa kecerdasan buatan.
- Menyediakan akses cepat kepada bantuan untuk konteks-sensitif.

2.1.         Help Dan Dokumentasi
Ada sebagian pendapat menyatakan bahwa system yang interaktif  dijalankan tanpa membutuhkan bantuan atau training. Hal ini mungkin ideal akan tetapi jauh dari kenyataan. Pendekatan yang lebih membantu adalah dengan mengasumsikan bahwa user akan membutuhkan bantuan pada suatu waktu dan merancang bantuan (help) ini ke dalam system.
2.2.  Jenis-jenis Help dan dokumentasi dibagi menjadi 2 yaitu:
  1. Paper based (tercetak)
Keunggulan menggunakan peper based yaitu:
                                                              i.      Pengguna dapat mengerjakanya diluar masa pengerjaan tugas.
                                                            ii.      Pengguna dapat menulis catatan tertentu yang diperolah waktu 
menjalankan sistem
Kelemahan:
                                                          iii.      Aga sulit mendeskripsikan sesuatu yang bergerak
                                                          iv.      Sulit mensesuaikan antara yang di baca dengan kenyataan sebenarnya didalam sistem
                                                            v.      Pengguna akan kesulitan membaca saat menjalankan sistem karena kurang praktis.                                      
  1. Computer based
Jenis Computer based yaitu :
1.      Command assistance
Mungkin pendekatan yang umum untuk user support adalah menyediakan bantuan pada level command, user yang membutuhkan bantuan pada command yang khusus dan ditampilkan pada layar bantuan atau pada manual page yang menjelaskan tentang command tersebut.
Contoh pada UNIX man help dan DOS help command.
2.      Command prompts
Menyediakan bantuan ketika user menemukan kesalahan yang sering terjadi dalam bentuk prompt perbaikan
3.      Context-sensitive help
Berbentuk menu based system yang menyediakan bantuan pada menu option. Contoh spy editor help command dan Macintosh ballon help.
4.      On-line tutorial
Mengijinkan user bekerja melalui aplikasi dasar dengan lingkungan percobaan. User dapat melihat kemajuan sesuai dengan kecepatan dan dapat mengulangi bagian dari tutorial yang dia inginkan. Kebanyakan on-line tutorial tidak mempunyai intelligent karena tidak mempunyai pengetahuan tentang user dan pengalaman user sebelumnya.
5.      On-line documentation
Membuat efektif dengan membuat dokumentasi tersedia di komputer.
6.      Intelligent help system
Dioperasikan untuk memonitoring aktivitas user dan mengkonstruksikan model sesuai dengan user. Model ini termasuk pengalaman, preferences, kesalahan user atau kombinasi dari semuanya.
2.3.  Ada empat jenis alat bantu yang dibutuhkan user :
1.      Quick reference
Digunakan sebagai pengingat untuk user dari suatu yang detail yang secara dasar sangat familiar dan biasa digunakan.
2.      Task-specific help
Membantu user menghadapi masalah atau tidak pasti mengambil tindakan dalam memecahkan masalah yang khusus
3.      Full explanation
Suatu alat bantu atau perintah yang dapat membantu memahami secara lengkap.
4.      Tutorial
Khusus untuk user baru yang menyediakan perintah secara step by step.
2.4.  Kebutuhan dari user support
1.      Availability
User dapat menggunakan bantuan pada setiap waktu selama berinteraksi dengan system
2.      Accuracy dan completeness
Bantuan ini seharusnya menyediakan kekakuratan dan kelengkapan system bantuan.
3.      Consistency
Seperti diketahui bahwa user membutuhkan jenis-jenis yang berbeda dari bantuan untuk digunakan pada kegunaan yang berbeda. Hal ini dapat secara tidak langsung menyebabkan system bantuan tidak dapat bekerja. Sistem bantuan menyediakan harus konsisten terhadap semua system yang ada dan juga pada system itu sendiri.
4.      Robustness
Sistem bantuan ini biasanya digunakan oleh orang yang sedang dalam kesulitan karena system mempunyai perilaku yang tidak dia harapkan atau mempunyai kesalahan. Hal ini sangat penting dimana system bantuan seharusnya kuat baik dalam hal menangani kesalahan dan perilaku yang tidak diharapkan.
5.      Flexibility
System bantuan yang fleksibel akan membuat setiap user dapat beinteraksi dalam mencari sesuatu yang sesuai dibutuhkannya.
6.      Unobtrusiveness
System ini seharusnya tidak mencegah user dalam melanjutkan pekerjaannya.
2.5.  Knowledge representation : user modelling
1.      Quantification
Model yang sederhana dari user modelling yang menggunakan jumlah tingkatan dari keahlian yang akan merespon ke arah yang berbeda.
Contoh
Move from Level 1 to Level 2
If
            The system has been used more than twice (0.25)
Commands x and y have been used effectively (0.20)
            Help has not been accessed this session (0.25)

            The system has been used in the last 5 days

2.      Stereotypes
Berbasiskan pada karakteristik user dan kemungkinan sederhana seperti membuat perbedaan antara user baru dan user yang ahli. Atau yang lebih kompleks seperti membuat stereotype yang berbasiskan pada lebih dari satu informasi.
3.      Overlay models
Merupakan model yang ideal yang membandingkan perilaku user. Hasilnya ditampilkan dalam dua model atau perbedaan. Keuntungan dari model ini dapat melihat secara pasti bagian dari aktivitas suatu system.
Pendekatan yang sama digunakan pada error based model dimana system menyimpan rekaman kesalahan  dan perilaku sebenarnya dari user serta membandingkannya
2.6.  Knowledge representation : domain and task modelling
Pendekatan yang umum dari masalah ini adalah untuk mewakili tugas user dari urutan perintah yang tersedia untuk mengeksekusinya. Sebagaimana pada tugas user, command digunakan untuk membandingkan urutan tugas yang telah disimpan dan mencocokan dengan urutan tepat. Jika urutan command user tidak cocok maka dibutuhkan bantuan. Pendekatan ini digunakan pada system PRIAM.
2.7.  Knowledge representation : modelling advisory strategy
Sistem ini kadang disebut dengan intelligent help yang membuat modelling advisory atau strategi tutorial. Pada system ini tidak hanya membolehkan memilih nasehat yang cocok untuk user tetapi juga menggunakan metode yang cocok.
2.8.  Teknik untuk knowledge representation
Terdapat empat group utama dari teknik yang digunakan dalam knowledge representation untuk intelligent help system :
1.      Rule based techniques
Pengetahuan digunakan untuk mewakili sekumpulan aturan dan kenyataan. Teknik ini digunakan untuk domain yang relatif besar dan dapat mewakili kegiatan yang menampilkan pengetahun.
Contoh:
IF
            Command is EDIT file1
AND
            Last command is COMPILE file1
THEN
            Task is DEBUG
            action is describe automatic debugger
2.      Frame based technique
Digunakan untuk mewakili situasi yang umum terjadi.
Frame merupakan suatu struktur yang berisi slot yang diberi label yang mewakili cirri yang berhubungan.
Contoh :
            User
                        Expertise level : novice
                        Command : EDIT file1
                        Last command : COMPILE FILE1
                        Errors this session : 6
                        Action : describe automatic debugger
3.      Network based techniques
Mewakili pengetahuan tentang user dan system yang merupakan hubungan antara kenyataan.
Contoh yang paling umum adalah semantic network.
Network merupakan suatu hirarki dan child dapat berhubungan dengan parent-nya
Contoh compile yang dapat diperluas dengan semantic network :
            CC is an instance of COMPILE
            COMPILE is a command
            COMPILE is related to DEBUG
            COMPILE is related to EDIT
Automatic debugger facilitates DEBUG
4.      Example based technique
Mewakili pengetahuan yang secara implicit  dengan struktur keputusan dari suatu klasifikasi system.
Contoh :
            EDIT file1
            COMPILE file1

2.9.  Masalah dengan knowledge representation dan modelling
Pengetahuan mewakili suatu issue pusat dalam intelligent help system tetapi tidak tanpa masalah itu sendiri. Pengetahuan kadang sulit didapatkan, terutama jika ada domain yang expert tidak tersedia.
Masalah lain adalah mengintepretasikan informasi yang cocok.
1.      Inisiatif
Haruskah user mempertahankan pengawasan yang lengkap terhadap system,
Haruskah system langsung berinteraksi atau
Haruskan penggabungan dialog didukung ?
2.      Effect
Para perancang seharusnya memperhatikan efek dari modelling dan adaptasi
3.      Scope
Para perancang perlu memperhatikan scope dari bantuan dimana digunakan pada level aplikasi atau system yang luas.
2.10.        Merancang Help dan dokumentasi
Terdapat banyak cara untuk merancangnya dan semua itu diserahkan pada perancang untuk memilih cara yang terbaik akan tetapi hal yang perlu diperhatikan adalah :
1.      Perancangannya seharusnya tidak seperti “add-on” pada system. Secara ideal seharusnya merupakan bagian integral dalam sistem
2.      Perancang harus memperhatikan isi dari bantuan dan konteks sebelum teknologi tersedia
2.11.        Isu presentasi dalam help dan dokumentasi yaitu:
1.      Masalah presentasiHow is help requested ?
Pilihan pertama bagi perancang untuk membuat bagaiman bantuan dapat diakses oleh user. Terdapat beberapa pilihan. Bantuan ini dapat berupa command, button fungsi yang dapat memilih on atau off atau aplikasi yang terpisah.
2.      How is help displayed?
Bagaimana bantuan akan dapat dilihat oleh user. Dalam system window mungkin ditampilkan dalam window yang baru. Dalam system lain mungkin dalam layar yang penuh atau bagian dari layar. Alternatif lain dapat berbentuk pop-up box atau tingkat command line
3.      Effective presentation of help
Tidak menjadi masalah teknologi apa yang digunakan untuk membuatnya akan tetapi yang perlu diperhatikan dan menjadi suatu prinsip yakni keefektifan.
2.12.        Masalah yang ada dalam implementasi yaitu:
1.      Para perancang harus membuat keputusan untuk implementasi berupa secara fisik maupun pilihan yang tersedia untuk user. Keputusan ini sudah termasuk dalam pertanyaan command operating system, apakah berbentuk meta-command atau applikasi? Hambatan fisik berupa screen space, kapasitas memori dan kecepatan.
2.      Masalah lain adalah bagaimana struktur data bantuan : apakah berbentuk single file, hierarchy file atau database ?

Dialog

Pengertian Dialog

Pengertian Dialog Manusia - Komputer:
•Pengertian Umum, dialog adalah proses komunikasi antara 2 atau lebih agen, dalam dialog makna harus dipertimbangkan agar memenuhi kaidah semantis dan pragmatis.
•IMK, dialog adalah pertukaran instruksi dan informasi yang mengambil tempat antara user dan sistem komputer.

Desain dialog
Dalam mendesain sebuah dialog, diperlukan deskripsi yang terpisah dari program secara keseluruhan. Ada beberapa alasan yang mendasari hal tersebut, antara lain :
a.    Agar lebih mudah dianalisa
b.    Pemisahan elemen-elemen interface dari logika program (semantik)
c.    Apabila notasi dialog ditulis sebelum program dibuat, maka notasi tersebut dapat membantu desainer untuk menganalisis struktur dialog yang diajukan, bahkan desainer juga dapat menggunakan prototyping tool untuk menguji dialog.
d.    Notasi dialog dapat digunakan sebagai salah satu cara bagi anggota tim perancangan untuk mendiskusikan rancangan dialog dan pada akhirnya diberikan kepada programmer aplikasi.
Dialog  dalam  arti  umum  adalah  percakapan  antara  dua  kelompok  atau lebih.  Sedangkan  dialog  dalam  konteks  perencanaan  user  interface adalah struktur dari percakapan antara user dan sistem komputer. Bahasa Komputer dapat dibagi atas tiga tingkatan:

1.  Leksikal
>> Merupakan tingkatan yang paling rendah.
>> Yaitu bentuk icon pada layar.
>> Pada  bahasa  manusia,  ekuivalen  dengan  bunyi  dan  ejaan  suatu kata.

2.  Sintaksis
>> yaitu urutan dan struktur dari input dan output.
>> Pada bahasa manusia, ekuivalen dengan grammar suatu kalimat.

3.  Semantik
>> yaitu  arti  dari  percakapan  yang  berkaitan  dengan  pengaruhnya padastruktur
    internal komputer dan/atau dunia eksternal.
>> Pada  bahasa  manusia,  ekuivalen  dengan  arti  yang  berasal  dari partisipan dalam
     percakapan.

 Dialog style
Ragam Dialog (DIalogue Style) adalah cara yang digunakan untuk mengorganisasikan berbagai tehnik dialog.
Beberapa sifat penting yang perlu dimiliki oleh setiap ragam dialog adalah:
1.      Inisiatif
Inisiatif merupakan sifat dasar dari sembarang dialog, karena inisiatif akan menentukan keseluruhan ragam komunikasi sehingga dapat ditentukan tipe-tipe pengguna yang dituju oleh sistem yang dibangun. Dua jenis inisiatif yang paling sering digunakan adalah inisiatif oleh komputer dan inisiatif oleh pengguna. Dalam inisiatif oleh komputer, pengguna memberikan tanggapan atas prompt yang diberikan oleh komputer untuk memasukkan perintah atau parameter perintah, biasanya berupa serangkaian pilihan yang harus dipilih (pilihan menu), atau sejumlah kotak yang dapat diisi dengan suatu nilai parameter (seperti pengisian borang), atau suatu pertanyaan yang jawabannya harus dinyatakan dengan cara tertentu, misalnya dengan ya/tidak atau dengan bahasa alamiah. Karakteristik utamanya adalah bahwa dialog itu terdiri atas sekumpulan pilihan yang telah didefinisikan sebelumnya. Sebaliknya, inisiatif oleh pengguna mempunyai sifat keterbukaan yang lebih luas: pengguna diharapkan memahami sekumpulan perintah yang harus ditulis menurut aturan (sintaks) tertentu.
2.      Keluwesan
Sistem yang luwes atau fleksibel adalah sistem yang mempunyai kemampuan untuk mencapai suatu tujuan lewat sejumlah cara yang berbeda. Karakteristik penting dalam mencapai keluwesan suatu sistem adalah bahwa sistem harus dapat menyesuaikan diri dengan keinginan pengguna dan bukan pengguna harus menyesuaikan diri dengan kerangka sistem yang telah ditetapkan oleh perancang sistem. Keluwesan juga dapat dilihat dari adanya kesempatan bagi pengguna untuk melakukan customizing dan memperluas antarmuka dari sebuah sistem untuk memenuhi kebutuhan pribadinya.
3.      Kompleksitas
Seorang perancang sistem tidak perlu membuat atau menggunakan antarmuka lebih dari apa yang diperlukan, karena tidak ada keuntungan yang dapat diperoleh, malahan akan menjadikan implementasinya menjadi lebih sukar.
4.      Kekuatan
Kekuatan didefinisikan sebagai jumlah kerja yang dapat dilakukan oleh sistem untuk setiap perintah yang diberikan oleh pengguna.
5.      Beban Informasi
Agar penyampaian informasi itu dapat berdaya guna dan berhasil guna, beban informasi yang terkandung didalam suatu ragam dialog seharusnya disesuaikan dengan tingkat pengguna. Jika beban itu terlalu tinggi, pengguna akan merasa sangat terbebani yang akan berakibat negatif dalam hal kemampuan pengolahan kognitif dan tingkah laku pengguna akan merasa bahwa sistemnya seolah-olah menyembunyikan kinerja penggunanya sendiri.


USER INTERFACE SOFTWARE
Alat Bantu User Interface:

• Aplikasi apa yang biasa digunakan oleh programmer untuk membuatprogram.
• Kombinasi dari objek-objek interface dan perilaku manajemen.
• Sekarang sudah object-oriented.
• Pustaka dari komponen-komponen perangkat lunak dan routinesyang digunakan oleh programmer:

- Xwindows : Xtoolkit & Motif
- Macintosh : Mac Toolbox, MacApp
- Windows : Windows Developer’s Toolkit
- Java : Swing

PROTOTYPING

1.
 
Pengertian Prototyping
Dalam Proses Analis Ini Pendekatan Perlu di lakukan bagi user / costumer, dan salahsatunya di lakukan dengan model Prototyping ini. Prototyping adalah prosesPengumpulan Persyaratan , Pengaplikasian, Prinsip Analisis, dan Penyusunan model perangkat lunak untuk di bangun dan di nilai Perkembangannya.Dan dalam Perkembangannya Prototyping Juga Terbagi Dalam 4 Model diantaranyaadalah :
 
Prototype Kertas : yakni Menggambarkan sebuah system denganmenggunakan media kertas Tidak bisa di uji coba dan di implementasikan.
 
Prototype berbasis PC : yakni memanfaatkan program aplikasi untuk menunjukanInteraksi Manusia dan Komputer.
 
Prototype Kerja Merupakan Implementasi Sebagian Fungsi System yangdi lihat unjuk kerjanya dan di wujudkan dalam sebuah Program.
 
Prototype Program Program Benar
 – 
 Benar di buat dan berfungsi namun terusmenerus di tambahkan dan di lengkapi.Menurut McLeod dan Schell (2007) mendefinisikan bahwa ada 2 tipe dari prototypeyakni :
 
Evolutionary Prototype , dan
 
Requirement Prototype.
A.
 
Evolutionary Prototype
Adalah prototype yang secara terus menerus di kembangkan hingga prototypetersebut memenuhi fungsi dan procedure yang di butuhkan oleh sistem. Berikutini merupakan Gambar dari alur Evolutionary PrototypeTidak
Gambar 1 Evolutionary Prototype
Analisa Kebutuhan UserMembuat PrototypeMenyesuaikanPrototype dengankeinginan userMenggunakan Prototype
 
 Keterangan dari bagian-bagian setiap gambar :
 
Analisa Kebutuhan User :
Pengembang dan Pengguna atau pemilik sistemmelakukan diskusi dimana pengguna atau pemilik sistem menjelaskan kepada pengembang tentang kebutuhan sistem yang mereka inginkan.
 
Membuat Prototype :
 pengembang membuat prototype dari sistem yang telah di jelaskan oleh pengguna atau pemilik sistem.
 
Menyesuaikan Prototype dengan keinginan user :
 Pengembang menanyakankepada pengguna atau pemilik sistem tentang prototype yang sudah di buat apakahsesuai kebutuhan atau tidak.
 
Menggunakan Prototype :
 Sistem mulai di kembangkan dengan prototype yangsudah di buat.
B.
 
Requirement Prototype
Adalah prototype yang di buat oleh pengembang dengan mendefinisikan fungsidan sistem procedure sistem dimana pengguna atau pemilik sistem tidak bisamendefinisikan sistem tersebut. Berikut merupakan gambar alur dari requirement prototype :TidaksesuaiTidaksesuai
Gambar Requirement Prototype
Analisa Kebutuhan UserMembuat Protote
MenyesuaikanPrototype dengankeinginan user
Membuat Sistem BaruMelakukan TestiSistem
MenyesuaikanSistem dengankeinginan user
Menunakan Sistem
 
Keterangan dari bagian-bagian setiap gambar :
 
Analisa Kebutuhan User :
Pengembang dan Pengguna atau pemilik sistemmelakukan diskusi dimana pengguna atau pemilik sistem menjelaskan kepada pengembang tentang kebutuhan sistem yang mereka inginkan.
 
Membuat Prototype :
 pengembang membuat prototype dari sistem yang telah di jelaskan oleh pengguna atau pemilik sistem.
 
Menyesuaikan Prototype dengan keinginan user :
 Pengembang menanyakankepada pengguna atau pemilik sistem tentang prototype yang sudah di buat apakahsesuai kebutuhan atau tidak.
 
Membuat Sistem Baru :
 Pengembang Membuat Prototype yang sudah di buat untukmembuat sistem baru.
 
Melakukan Testing Sistem :
 Pengguna atau pemilik sistem melakukan uji sistem ygdi kembangkan.
 
Menyesuaikan keinginan Sistem :
 Sistem Di Kembangkan Dengan keinginan Userdan Kebutuhan sistem, jika sesuai maka sistem siap di gunakan.
 
Menggunakan Sistem.
 
Keuntungan MenggunakanPrototype adalah
 :
 
Menghemat Waktu Pengembangan.
 
Adanya Komunikasi yang intensifantara pengembang dan costumer,sehingga kesalahan sistem bisa diminimalisir.
 
Implementasi akan lebih mudahkarena costumer Sudah MempunyaiGambran Tentang Sistem.
 
Kualitas sistem yang di hasilkan baik.
 
Memungkinkan Tim Pengembangsistem memprediksi danmemperkirakan pengembangan pengembangan sistem selanjutnya.
Kelemahan MenggunakanPrototype adalah :
 
Costumer Sibuk, Karena Costumerdan Pengembang harus sama-samamemiliki komitmen untuk saling bertemu dan membahaskebutuhannya.
 
Costumer Menginginkan Program /sistem segera beres sehinggaPengembang mengabaikanDokumentasi.
 
Seringnya Komunikasi dan evaluasimembuat costumer selalu berubahakan kebutuhannya sehingga tidakmengacu pada kebutuhan yang awal.
 
 2.
 
Penbandingan Prototype Model dengan Model yang lain
Prototype Model
Berfungsi sebagai mekanisme pendefinisian kebutuhan. Pertama, developer menggalisemua kebutuhan user secara cepat kemudian membangun prototipe yang sesuai denganyang diinginkan dengan cepat pula dan ditunjukkan ke user, baru dibuat Perangkat Lunakyang sesungguhnya berdasarkan komentar user terhadap prototipe. Kelebihannya: userdapat langsung melihat wujud Perangkat Lunak yang akan dibangun meskipun sederhanadan dari sana dapat digali kebutuhan yang lebih dalam sebagai bahan penyusunanPerangkat Lunak berikutnya.
Incremental Model
Incremental model menerapkan rangkaian linear. Setiap rangkaian linear mendeliveryincrement dari software. Sebagai contoh, software word-processing, dibangunmenggunakan incremental model, mendelivery fungsi dasar file management, editing,dan fungsi document production pada increment pertama. Kemampuan editing, danfungsi document production yang lebih baik pada increment kedua, checking dangrammar spelling pada increment ketiga. Proses akan diulangi sampai produk yanglengkap telah dihasilkan. Jika menggunakan Incremental model, increment yang pertamamerupakan inti product. Incremental model fokus pada pendeliverian opertional product pada tiap increment
Spiral Model
Track spiral menggambarkan jalur pembangunan software, termasuk siklus berulang daridiskusi, design, implementasi, dan testing. Menggunakan pendekatan ini, softwaredihasilkan dalam bentuk rangkaian incremental release. Keuntungan : model mendorongdialog yang berkelanjutan antara software engineer dan user, software requirementditetapkan kembali seiring progres project, sistem software diserahkan terus-menerussebagai serangkaian modul kerja, perkiraan (budget, jadwal) dapat lebih relistik, karenakebutuhan-kebutuhan yang penting sudah ditemukan pada bagian awal.Spiral model sering digunakan untuk project yang besar. Untuk project yang lebih kecildigunakan agile software development. Pada implementasinya, model spiral ini juga banyak digunakan, tetapi biasanya dikombinasikan dengan model yang lain.