
Transcription
MAKALAHANALISIS KEBUTUHAN PERANGKAT LUNAKNAMA : RANI JUITANIM: 41813120165DOSEN : WACHYU HARI HAJI. S.Kom.MMJURUSAN SISTEM INFORMASIFAKULTAS ILMU KOMPUTERUNIVERSITAS MERCU BUANAJAKARTA2015
ANALISIS KEBUTUHAN PERANGKAT LUNAKAnalisis kebutuhan perangkat lunak (software requirements analysis) merupakanaktivitas awal dari siklus hidup pengembangan perangkat lunak. Untuk proyek-proyekperangkat lunak yang besar, analisis kebutuhan dilaksanakan setelah aktivitas sisteminformation engineering dan software project planning. Tahap analisis adalah tahapanpengumpulan kebutuhan-kebutuhan dari semua elemen sistem perangkat lunak yang akan dibangun. Pada tahap ini dibentuk spesifikasi kebutuhan perangkat lunak, fungsi perangkat lunakyang dibutuhkan, performansi (unjuk kerja) sistem perangkat lunak, penjadwalan proyek,identifikasi sumber daya (manusia, perangkat keras dan perangkat lunak yang dibutuhkan) dantaksiran biaya pengembangan perangkat lunak. Kegunaan analisis adalah untuk memodelkanpermasalahan dunia nyata agar dapat dimengerti. Permasalahan dunia nyata harus dimengertidan dipelajari supaya spesifikasi kebutuhan perangkat lunak dapat diungkapkan. Tujuanaktivitas ini adalah untuk mengetahui ruang lingkup produk (product space) dan pemakai yangakan menggunakannya. Analisis yang baik akan mengungkapkan hal-hal yang penting daripermasalahan, dan mengabaikan yang tidak penting.Setiap metode analisis mempunyai pandangan yang berbeda. Tetapi pada dasarnya semuametode analisis memiliki prinsip analisis yang sama, yaitu :1. Menggambarkan domain informasi masalah2. Mendefinisikan fungsi perangkat lunak3. Menghasilkan model yang menggambarkan informasi, fungsi dan kelakuan yang dibagisecara rinci pada sebuah model lapisan (hirarki)4. Informasi pokok pada tahap analisis memudahkan tahap implementasi yang lebih rinci.Tujuan tahap analisis adalah :1. Menjabarkan kebutuhan pemakai2. Meletakkan dasar-dasar untuk tahap perancangan perangkat lunak3. Mendefinisikan semua kebutuhan pemakai sesuai dengan lingkup kontrak yang disepakatikedua belah pihak (pengembang dan pengguna).A. KEBUTUHAN (REQUIREMENT)Pengertian Kebutuhan Menurut arti kamus, kebutuhan adalah sesuatu yang diminta, sesuatuyang dibutuhkan. Sedangkan menurut IEEE (The Institute of Electrical and ElectronicsEngineers) kebutuhan adalah : Kondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatupersoalan, atau untuk mencapai sebuah objek. Kondisi atau kemampuan yang harus dipenuhi oleh sistem, dalam arti memenuhikontrak, standar, spesifikasi atau dokumen formal lain yang diinginkan.Tahap kebutuhan akan perangkat lunak dimulai dengan:1. Dikenalinya adanya sebuah permasalahan yang membutuhkan sebuah penyelesaian.Identifikasi sebuah permasalahan mungkin dapat dilakukan dengan berorientasi padaaplikasi, berorientasi pada bisnis, atau berorientasi pada kenaikan produktivitas(product improvement oriented).
2. Munculnya ide untuk membuat sebuah perangkat lunak baru (sebagai sebuahkemajuan).Ada dua jenis kebutuhan:1). BehavioralAdalah apa yang dilakukan oleh sistem (input dan output dari dan ke sistem), hubunganinformasi antara input dan output sehingga menghasilkan sebuah fungsi transformasi.2). Non-behavioralMendefinisikan atribut sistem yang terkait untuk membentuk pekerjaan tersebut.Termasuk deskripsi lengkap tentang efisiensi, keamanan (security), rehabilitymaintenability (bagaimana perawatan untuk sistem), dan portability (bisa dipindahkandari satu perangkat keras ke perangkat keras lainnya).B. PRINSIP – PRINSIP ANALISISLebih dari dua decade terakhir, para peneliti mengidentifikasi masalah – masalahanalisis dan penyebab – penyebabnya, serta mengembangkan berbagai notasi pemodelandan serangkaian penelitian yang sesuai untuk menanggulanginya. Masing – masing metodeanalisis memiliki titik pandang yang unik. Tetapi semua metode analisis dihubungkan olehserangkaian prinsip operasional: Dominan informasi dari suatu masalah harus direpresentasikan dan dipahami. Fungsi – fungsi yang akan dilakukan oleh perangkat lunak harus di definisikan. Tingkah laku perangkat lunak (sebagai suatu urutan kejadian eksternal) harusdiwakilkan. Model – model yang menggambarkan informasi, fungsi, dan tingkah laku harus dipecah– pecah dalam suatu cara yang membongkar suatu detail dalam bentuk lapisan (atauhirarki). Proses analisis harus bergerak dari informasi dasar ke detail implementasi.Dengan mengaplikasikan prinsip – prinsip tersebut, analis mendekati suatu masalah secarasistematis. Domain informasi diuji sehingga fungsi itu dapat di pahami secara lebihlengkap. Model – model digunakan sehingga karakteristik fungsi dan tingkah laku dapatdikomunikasikan dengan cara yang rapi. Pembagian diterapkan untuk mengurangikeruwetan. Pandanagan esensial dan implementasi dari perangkat lunak diperlukan untukmengakomodasi batasan logis yang dibebankan oleh persyaratan pemrosesan dan batasanfisik yang dibebankan oleh elemen system yang lain. Sebagai tambahan untuk prinsipanalisis operasional tersebut, Davis [DAV95a] mengusulkan serangkaian 5 prinsip panduanuntuk “rekayasa persyaratan”.Mengembangkan prototype yang memungkinkan seorang pemakai memahami bagaimanainteraksi manusia dengan mesin terjadi. Karena persepsi mengenai kualitas prangkat lunaksering di dasarkan pada persepsi “friendliness” interface, maka prototyping (dan terasi yangdihasilkan) sangatlah dianjurkan.1. Merekam asal dan alas an untuk setiap persyaratan. Hal ini merupakan langkah pertamadalam membangun kemampuan penelusuran kembali ke pelanggan.2. Menggunakan pandangan persyaratan bertingkat. Pembangunan data, fungsional, danmodel tingkah laku member perekayasa perangkat lunak tiga pandangan berbeda. Halini mengurangi kemungkinan bahwa inkonsistensi akan diketahui.
3. Memprioritaskan persyaratan. Batas waktu yang tegas dapat menghalangiimplementasi setiap persyaratan perangkat lunak. Bila model proses inkremental(Bab2) diaplikasikan, maka persyaratan yang disampaikan dalam inkremental pertamaharus di identifikasi.4. Berusaha mengurangi ambiguitas. Karena sebagian besar persyaratan di gambarkandalam bahasa natural, kemungkinan untuk terjadinya ambiguitas selalu ada.Penggunaan kajian teknis formal merupakan satu – satunya cara untuk mengurangiambiguitas tersebut.5. Perekayasa perangkat lunak yang mempercayai prinsip tersebut akan dapat lebihmengembangkan spesifikasi perangkat lunak yang kemudian akan menjadi dasar yangkuat bagi desain.1. Domain InformasiSemua aplikasi perangkat lunak secara kolektif dapat disebut data processing.Menarik bahwa istilah itu berisi sebuah kunci ke pemahaman terhadap persyaratanperangkat lunak. Perangkat lunak dibangun untuk memproses data, menstraformasidata dari bentuk yang satu kebentuk yang lain, yaitu untuk menerima input,memanipulasinya dengan berbagai cara, dan menghasilkan output. Pernyataanmendasar dari sasaran ini benar bila kita membangun perangkat lunak batch untuksystem daftar gaji atau perangkat lunak real-time embedded untuk mengontrol aliranbahan bakar ke mesin kendaraan bermotor.Tetapi sangat penting untuk dicatat bahwa perangkat lunak juga memproses event.Event mewakili banyak aspek dari control system dan tidak lebih daripada data Boolean– baik on atau off, true or false, there or not there. Sebagai contoh, sensor tekananmendeteksi bahwa tekanan melampaui batas nilai aman dan mengirimkan sebuah sinyalalarm ke monitoring perangkat lunak. Sinyal alarm tersebut merupakan suatu eventyang mengontrol tingkah laku system. Dengan demikian, data (bilangan, karakter, citra,suara, dll) dan control (kejadian), keduanya ada pada domain informasi dari suatumasalah.Prinsip analisis operasional yang pertama membutuhkan suatu pengujian domaininformasi. Domain informasi berisi tiga pandangan yang berbeda dari data dan controlketika masing – masing dip roses oleh program computer:a. Muatan dan hubungan informasib. Aliran informasic. Struktur informasiUntuk benar – benar memahami domain informasi, masing – masing dari pandangantersebut harus diperhatikan. Muatan Informasi mewakili data dan objek controlindividual yang terdiri dari beberapa kumpulan informasi yang lebih besar yang ditransformasikan oleh perangkat lunak. Misalnya, objek data paycheck merupakansebuah gabungan dari sejumlah data yang penting : nama pembayar, jumlah bersih yangdibayarkan, pembayaran keseluruhan, potongan, dan seterusnya. Demikianlah, muatandari paycheck ditentukan oleh atribut – atribut yang dibutuhkan untuk membuatnya.Dengan cara yang sama, muatan dari suatu objek control yang disebut status systemdapat dibatasi oleh sebuah string dari banyak bit. Masing – masing bit mewakili jenis
informasi yang berbeda yang menunjukkan apakah perangkat tertentu itu on-line atauoff-line.Objek data dan control dapat dihubungkan dengan objek data dan control lainnya.Sebagai contoh, objek data paycheck memiliki satu hubungan atau lebih dengan objektimecard, employee, bank dan lain – lain. Selama analisis domain informasi, hubungan– hubungan itu harus ditetapkan.Aliran informasi mewakili cara dimana data dan kontrol berubah pada saat masing –masing bergerak melalui sebuah system. Spereti diperlihatkan pada Gambar 11.3, objekinput ditransformasikan ke informasi intermediate ( data dan atau control), dan lebihjauh lagi ditransformasikan ke output. Sepanjang jalur transformasi tersebut, informasitambahan dapat dimunculkan dari penyimpanan data yang ada (seperti, file disket ataumemory buffer). Transformasi yang diaplikasikan merupakan fungsi atau subfungsiyang harus dilakukan oleh sebuah program. Data dan control yang bergerak diantaradua (fungsi) transformasi menentukan interface dari masing” fungsi.Struktur informasi mewakili organisasi internal dari berbagai jenis data dan control.Apakah jenis data akan diorganisasi sebagai sebuah table n-dimensi atau sebagai sebuahstruktur pohon hirarki? Dalam konteks struktur, informasi apa yang dihubungkandengan informasi lain? Apakah semua informasi di isikan ke dalam sebuah strukturtunggal atau akan digunakan struktur yang berbeda? Bagaimana informasi dalam suatustruktur informasi berhubungan dengan informasi pada struktur yang lain? Pertanyaan– pertanyaan tersebut dijawab dengan suatu penilaian struktur informasi. Harus dicatatjuga bahwa struktur data, konsep yang berhubungan yang akan di diskusikan pada bukuini, mengacu pada perancangan dan implementasi informasi.2. PemodelanKita menciptakan model untuk memperoleh pemahaman yang lebih baik mengenaientitas actual yang akan dibangun. Bila entitas tersebut berupa sebuah bentuk fisik(bangunan, pesawat, mesin), kita dapat membangun model yang identik dalam bentukdan potongan, tetapi dalam skala yang lebih kecil. Tetapi bila entitas yang akandibangun adalah perangkat lunak, maka model harus memakai bentuk yang berbeda.Model harus dapat memodelkan informasi yang di transformasikan oleh perangkatlunak, fungsi (dan subfungsi) yang memungkinkan transformasi terjadi, dan tingkahlaku system pada saat transformasi terjadi.Selama analisis persyaratan perangkat lunak, kita menciptakan model system yang akandibuat. Model tersebut berfokus pada apa yang harus dilakukan oleh system, bukanpada bagaimana system melakukannya. Dalam beberapa kasus, model yang kita buatmenggunakan notasi grafis yang menggambarkan informasi, pemrosesan, tingkah lakusystem, dan karakteristik lain sebagai symbol yang berbeda dan dapat dikenali. Bagianlain dari model dapat benar – benar tekstual. Informasi deskriptif dapat diberikandengan menggunakan bahasa natural atau bahasa khusus untuk menggambarkanpersyaratannya.Prinsip analisis operasional kedua dan ketiga mengharuskan kita membangun modelfungsi dan tingkah laku :
1. Model fungsional.Perangkat lunak mentransformasi informasi, dan untuk melakukannya, perangkatlunak harus melakukan paling tidak tiga fungsi genetic: input, pemrosesan, danoutput. Pada saat model fungsional dari suatu aplikasi dibuat, perekayasa perangkatlunak memfokuskan dri pada fungsi – fungsi masalah khusus. Model fungsi dimulaidengan sebuah model tingkat konteks tunggal (yakni nama perangkat lunak yangakan dibuat). Dengan serangkaian iterasi , maka lebih banyak lagi detail fungsionaldiberikan, smapai seluruh rancangan dari semua fungsionalitas system terwakili.2. Model tingkah laku.Sebagian besar perangkat lunak merespon kejadian – kejadian dari dunia luar.Karakteristik stimulus-respon ini membentuk dasar dari model tingkah laku.Program computer selalu ada dalam pernyataan – suatu mode tingkah laku yangdapat di obeservasi secara eksternal (misalnya, penungguan, penghitungan,pencetakan, polling) yang diubah hanya pada saat beberapa event berlangsung.Contohnya, perangkat lunak akan tetap berada dalam wait state sampai (1) jaminternal menunjukkan bahwa beberapa interval waktu telah berlalu, (2) satu eventeksternal (misalnya, pergerakan mouse) menyebabkan suatu interupsi, atau (3)sebuah system eksternal member sinyal kepada perangkat lunak agar bergerakdengan beberapa cara. Model tingkah laku menciptakan representasi pernyataan –pernyataan perangkat lunak dan event – event yang menyebabkan perangkat lunakmengubah pernyataan.Model yang diciptakan selama analisis persyaratan melayani sejumlah peran penting : Model membantu analisis dalam memahami informasi, fungsi, dan tingkah lakusuatu system, sehingga membuat tugas analisis persyaratan menjadi lebih mudahdan lebih sistematis. Model menjadi titik focus bagi kajian sehingga merupakan kunci bagi penetuankelengkapan, konsistensi, dan akurasi dari spesifikasi. Model menjadi dasar bagi pengerjaan desain, member perancang suatu representasiesensial dari perrangkat lunak yang dapat diterjemahkan ke dalam suatu konteksimplementasi.3. PembagianMasalah sering menjadi terlalu luas atau terlalu rumit untuk dipahami sebagai salahsatu kesatuan. Karena itulah kita cenderung membagi masalah seperti itu ke dalambagian – bagian sehingga dapat dipahami dengan mudah dan kemudian membanguninterface antara bagian – bagian tersebut, sehingga keseluruhan fungsi dapat dilakukan.Prinsip analisis operasional keempat menyatakan bahwa domain informasi, fungsional,dan tingkah laku perangkat lunak tidak dapat dibagi – bagi. Secara konseptual, kitamembangun sebuah representasi hirarki dari informasi atau fungsi dan kemudianmembagi elemen bagian paling atas (1). mengekpos detail pertambahan denganbergerak secara vertical dalam hirarki (2). Mendekomposisi masalah dengan bergeraksecara horizontal dalam hirarki.Persyaratan untuk perangkat lunak Safe Home dapat dianalisis dengan pembagiandomain informasi, fungsional, dan tingkah laku produk. Untuk mengilustrasikannya,domain fungsional dari masalah tersebut akan di bagi – bagi.
Pendekatan pembagian yang telah di aplikasikan pada fungsi – fungsi Safe-home jugadapat di aplikasikan padadomain informasi dan kelakuan system akan memberikanwawasan tambahan ke dalam persyaratan system. Pada saat masalah di bagi – bagi,interface di antara system – system ditarik. Data dan control yang bergerak melewatisuatu interface harus dibatasi untuk input yang diperlukan untuk melakukan fungsiyang dinyatakan dan outputyang diperlukan oleh elemen fungsi atau system yang lain.4. Pandangan Esensial dan ImplementasiPandangan esensial persyaratan perangkat lunak menyajikan fungsi yang akandikerjakan dan informasi yang akan diproses tanpa melihat detail implementasinya.Sebagai contoh, pandangan esensial dari fungsi Safe Home read sensor status tidaktergantung pada bentuk fisik dari data atau tipe sensor yang digunakan. Pada dasarnya,dapat diperdebatkan bahwa read status akan menjadi nama yang lebih sesuai bagi fungsitsb, karena fungsi itu tidak mengabaikan detail mekanisme input keseluruhan. Dengancara yang sama, sebuah model data esensial dari item data phone number(diimplikasikan oleh fungsi dial phone number) dpt di representasikan pada tahap initanpa menghiraukan struktur data yang utama (bila ada) yang digunakan untukmengimplementasi item data.Pandangan implementasi dari persyaratan menyajikan manifestasi dunia nyata daripemrosesan fungsi – fungsi dan struktur informasi. Perangkat input Safe Homemerupakan sebuah sensor perimeter. Sensor tsb mendeteksi masukan ilegal dengan“mengendus” adanya break dalam sebuah rangkaian listrik. Analisis harus mengenalibatasan yang dikenakan oleh elemen system yang diberlakukan oleh elemen (sensor)system sebelumnya dan mempertimbangkan pandangan implementasi fungsi daninformasi bila pandangan semacam itu sesuai.C. PROTOTYPING PERANGKAT LUNAKAnalisis harus dilakukan tanpa mengabaikan pardigma rekayasa perangkat lunak yangdi aplikasikan; tetapi bentuk yang di ambil oleh analisis akan bermacam – macam. Dalamsituasi yang lain, dilakukan pengumpulan persyaratan (melalui FAST, QFD, atau teknik“cuci otak” yang lain [JOR89], pengaplikasian prinsip analisis, dan penyusunan modelperangkat lunak yang akan di bangun yang disebut prototype, untuk penilaian pelanggandan pengembang.1. Pemilihan Pendekatan PrototypingParadigma protyping dapat terbatas atau tidak terbatas. Pendekatan terbatas seringdisebut throwaway prototyping. Dengan menggunakan pendekatan tsb, prototypemelulu sebagai sebuah demonstrasi kasar dari persyaratan. Pendekatan tidak terbatas,yang disebut juga evolutionary prototyping, menggunakan prototype sebagai bagianpertama dari aktivitas analisis yang akan diteruskan kedalam desain dan kontruksi.Prototipe perangkat lunak merupakan evolusi pertama dari system yang diselesaikan.Secara umum, sembarang aplikasi yang menciptakan tampilan visual yang dinamis,berinteraksi erat dengan pemakai manusia, atau membutuhkan algoritma ataupemrosesan kombinatorial yang harus dikembangkan dalam sebuah gaya evolusioner,adalah calon untuk prototyping
2. Metode dan peranti prototypingSupaya prototyping perangkat lunak efektif, maka harus dikembangkan suatu prototypedengan cepat sehingga pelanggan dapat menilai hasil dan perubahan yang direkomendasi. Untuk melakukan prototyping secara cepat, ada tiga kelas metode danperanti generic: teknik generasi keempat, komponen perangkat lunak reusable,spesifikasi formal, dan lingkungan prototyping.Teknik Generasi Keempat (4GT). Teknik generasi keempat meliputi suatu array yangluas dari query database dan bahasa pelaporan, program dan generator aplikasi, sertabahasa nonprocedural. Karena 4GT memungkinkan perekayasa perangkat lunakmemunculkan kode yang dapat dieksekusi dengan cepat, maka 4GT ideal untukprototyping yang cepat. Komponen Perangkat Lunak Reusable. Pendektan lain ke rapidprototyping adalah dengan memasang, bukan membangun, prototype denganmenggunakan serangkaian komponen perangkat lunak yangada.Pada setiap kasus,komponen perangkat lunak harus dirancang dengan cara terntentu sehinggamemungkinkannya untuk dipakai kembali tanpa harus mempunyai pengetahuan yangmendetail mengenai kerja internalnya. Perlu di catat bahwa sebuah produk perangkatlunak yabg ada dapat digunakan sebagai sebuah prototype bagi produk kompetitif yang“baru dan telah dikembangkan”. Dengan cara tertentu, hal tsb merupakan suatu bentukdari reusabilitas untuk prototyping perangkat lunak.Lingkungan Prototyping dan Spesifikasi Formal. Selama dua decade terakhir, sejumlahbahasa spesifikasi formal dan peranti telah dikembangkan sebagai pengganti bagiteknik spesifikasi bahasa natural. Sekarang pengembang bahasa formal itu beradadalam proses pengembangan lingkungan interaktif yang (1) memungkinkan seoranganalisis untuk secara interaktif menciptakan spesifikasi system atau perangkat lunakyang berdasarkan pada bahasa, (2) memanggil peranti otomatis yang menerjemahkanspesifikasi berdasarkan bahasa kedalam kode yang dapat di eksekusi, dan (3)memungkinkan pelanggan untuk menggunakan kode prototype yang dapat di eksekusiuntuk menyaring persyaratan – persyaratan formal.Dalam pembuatan software, dikenal beberapa metode untuk membuat software yangdibutuhkan untuk memenuhi kebutuhan user yang memerlukan software tersebut. Padakesempatan kali ini, saya akan membahas salah satu metode pembuatan software yang dimanabaru-baru ini saya dan kelompok saya bahas dikampus untuk menyelesaikan tugas mata kuliahrekayasa perangkat lunak yaitu model prototype(Prototyping Model)
Sebelum memasuki lebih mendalam mengenai pembuatan software menggunakan metodeprototype, kita harus terlebih dahulu mengetahui apa yang dimaksud dengan prototype itusendiri. Prototype adalah model atau simulasi dari semua aspek produk sesungguhnya yangakan dikembangkan yang dimana model tersebut harus representative dari produk akhirnya.Setelah mengetahui arti prototype mungkin masih menganjal dibenak kita bagaimana sihsoftware itu terbentuk menggunakan metode prototype? Apakah model prototype lebih bagusdigunakan daripada model lain? Apakah resiko-resiko dari penggunaan model tersebut? Danmungkin masih banyak pertanyaan lain yang akan muncul. Oleh sebab itu, pada postingan kaliini saya sendiri akan menjelaskan lebih lanjut mengenai pembuatan software denganmenggunakan metode prototype tersebut. Model PrototypeMenurut saya sendiri prototyping model adalah suatu proses pembuatan software yangyang bersifat berulang dan dengan perencanaan yang cepat yang dimana terdapat umpanbalik yang memungkinkan terjadinya perulangan dan perbaikan software sampai dengansoftware tersebut memenuhi kebutuhan dari si pengguna. Sedangkan dari beberapareferensi yang saya temukan, prototyping model adalah salah satu model sederhanapembuatan software yang dimana mengijinkan pengguna memiliki suatu gambaranawal/dasar tentang program serta melakukan oengujian awal yang didasarkan pada konsepmodel kerja(working model). Tujuan PrototypePrototyping model sendiri mempunyai tujuan yaitu mengembangkan model awal softwaremenjadi sebuah sistem yang final. Proses-prosesnyaProses-proses dalam model prototyping yaitu: Komunikasi terlebih dahulu yang dilakukan antara pelanggan dengan tim pemgembangperangkat lunak mengenai spesifikasi kebutuhan yang diinginkan Akan dilakukan perencanaan dan pemodelan secara cepat berupa rancangancepat(quick design) dan kemudian akan memulai konstruksi pembuatan prototype Prototipe kemudian akan diserahkan kepada para stakeholder untuk dilakukan evaluasilebih lanjut sebelum diserahkan kepada para pembuat software Pembuatan software sesuai dengan prototype yang telah dievaluasi yang kemudianakan diserahkan kepada pelanggan Jika belum memenuhi kebutuhan dari pelanggan maka akan kembali ke proses awalsampai dengan kebutuhan dari pelanggan telah terpenuhiSedangkan proses-proses dalam model prototyping secara umum adalah sebagai berikut:1. Pengumpulan kebutuhandeveloper dan klien akan bertemu terlebih dahulu dan kemudian menentukan tujuan umum,kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya2. Perancangan
perancangan dilakukan dengan cepat dan rancangan tersebut mewakili semua aspek softwareyang diketahui, dan rancangan ini menjadi dasar pembuatan prototype3. Evaluasi Prototypeklien akan mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhansoftware. Tahapan-tahapannyaSelain itu, untuk memodelkan sebuah perangkat lunak dibutuhkan beberapa tahapan didalam proses pengembangannya. Tahapan inilah yang akan menentukan keberhasilan darisebuah softwareitu .Pengembang perangkat lunak harus memperhatikan tahapan dalammetode prototyping agar software finalnya dapat diterima oleh penggunanya. Dan tahapantahapan dalam prototyping tersebut adalah sebagai berikut :1. Pengumpulan kebutuhanPelanggan dan pengembang bersama-sama mendefinisikan format dan kebutuhankesseluruhan perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besarsistem yang akan dibuat.2. Membangun prototypingMembangun prototyping dengan membuat perancangan sementara yang berpusat padapenyajian kepada pelanggan (misalnya dengan membuat input dan contoh outputnya).3. Evaluasi protoptypingEvaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudahsesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah keempat akan diambil.Jika tidak, maka prototyping diperbaiki dengan mengulang langkah 1, 2 , dan 3.4. Mengkodekan systemDalam tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam bahasapemrograman yang sesuai.5. Menguji systemSetelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulusebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,pengujian arsitektur dan lain-lain.6. Evaluasi SistemPelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yangdiharapkan . Jika sudah, maka langkah ketujuh dilakukan, jika belum maka mengulangilangkah 4 dan 5.7. Menggunakan systemPerangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan
Keunggulan dan kelemahan metode prototypeKeunggulan prototyping :1. Komunikasi akan terjalin baik antara pengembang dan pelanggan.2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan setiappelanggannya.3. Pelanggan berperan aktif dalam proses pengembangan sistem.4. Lebih menghemat waktu dalam pengembangan sistem.5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannyaKelemahan prototyping :1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belummencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkankemampuan pemeliharaan untuk jangka waktu lama.2. Pengembang biasanya ingin cepat menyelesaikan proyek sehingga menggunakanalgoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebihcepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakansebuah kerangka kerja(blueprint) dari sistem .3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkanteknik perancangan yang baik dan benar.Dalam setiap metode mempunyai kelebihan maupun kekurangan, namun kekurangantersebut dapat diminimalisir yaitu dengan mengetahui kunci dari model prototype tersebut.Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturanaturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototypedibangun untuk mendefinisikan kebutuhan.
Sebagai contoh, objek data paycheck memiliki satu hubungan atau lebih dengan objek timecard, employee, bank dan lain – lain. Selama analisis domain informasi, hubungan – hubungan itu harus ditetapkan. Aliran informasi mewakili cara dimana data dan kontrol berubah pada saat masing – masing bergerak melalui sebuah system.