Site blog

Halaman: () 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 46 ()
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:48
Anyone in the world

Data-flow testing is a white box testing technique that can be used to detect improper use of data values due to coding errors. Errors are inadvertently introduced in a program by programmers. For instance, a software programmer might use a variable without defining it. Additionally, he/she may define a variable, but not initialize it and then use that variable in a predicate.

In data-flow testing, the first step is to model the program as a control flow graph. This helps to identify the control flow information in the program. In step 2, the associations between the definitions and uses of the variables that is needed to be covered in a given coverage criterion is established. In step 3, the test suite is created using a finite number of paths from step 2.

Data-flow testing monitors the lifecycle of a piece of data and looks out for inappropriate usage of data during definition, use in predicates, computations and termination (killing). It identifies potential bugs by examining the patterns in which that piece of data is used. For example, A pattern which indicates usage of data in a calculation after it has been killed is certainly a bug which needs to be addressed.

To examine the patterns, we need to construct a control flow graph of the code. A control flow graph is a directed graph where the nodes represent the processing statements like definition, computation and predicates while the edges represent the flow of control between processing statements. Since data-flow testing closely examines the state of the data in the control flow graph, it results in a richer test suite than the one obtained from traditional control flow graph testing strategies like all branch coverage, all statement coverage, etc.



Data flow anomalies are represented using two characters based on the sequence of actions. They are defined (d), killed (k), and used (u). There are nine possible combinations based on these 3 sequence of actions which are dd, dk, du, kd, kk, ku, ud, uk, uu.


In addition to the above two-letter situations, there are six single letter situations with preceding dash or succeeding dash. Preceding dash with letters d, k, u indicate that nothing special occurs prior to the action along the entry-exit path considered. Succeeding dash with letters d, k, u indicate that nothing special occurs after the action along the entry-exit path considered. Meaning of six single letter situations with preceding dash or succeeding dash are explained below. 




Janvi Badlaney, Rohit Ghatol, Romit Jadhwani. “An Introduction to Data-Flow Testing”. 2006. NCSU CSC TR-2006-22

Associated Kursus: KI142303BKI142303B
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:44
Anyone in the world

Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.

This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see. This method attempts to find errors in the following categories:

  • Incorrect or missing functions
  • Interface errors
  • Errors in data structures or external database access
  • Behavior or performance errors
  • Initialization and termination errors




Following are some techniques that can be used for designing black box tests.

  • Equivalence partitioning: It is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data.
  • Boundary Value Analysis: It is a software test design technique that involves determination of boundaries for input values and selecting values that are at the boundaries and just inside/ outside of the boundaries as test data.
  • Cause Effect Graphing: It is a software test design technique that involves identifying the cases (input conditions) and effects (output conditions), producing a Cause-Effect Graph, and generating test cases accordingly.


  • Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications.
  • Tester need not know programming languages or how the software has been implemented.
  • Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias.
  • Test cases can be designed as soon as the specifications are complete.



  • Only a small number of possible inputs can be tested and many program paths will be left untested.
  • Without clear specifications, which is the situation in many projects, test cases will be difficult to design.
  • Tests can be redundant if the software designer/ developer has already run a test case.
  • Ever wondered why a soothsayer closes the eyes when foretelling events? So is almost the case in Black Box Testing.




Associated Kursus: KI142303BKI142303B
[ Mengubah: Thursday, 22 December 2016, 17:45 ]
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:43
Anyone in the world

Back-to-Back testing ensures that two different instances of an implementation have the same structural behavior. A typical use case in a model-based development process is comparing the model (MIL) which is considered to be an “executable specification” against the production code (SIL).



Scenario of Back-to-Back Testing

  1. The aim of testing is defined. Test cases are designed.
  2. The checking is performed with the usage of test cases. Specialists launch applications or systems and record the results of their work.
  3. Obtained results are automatically compared.
  4. Testers make the difference report that contains the results of comparison.


There can be some misinterpretations of the notion ‘the difference report’. Actually, everything is very simple. The difference report contains necessary data to demonstrate the problems that may happen among the various system versions.

Here is one more explanation of back-to-back testing. This checking type is executed in the presence of two identical transformers. One of these transformers remains open and the other one – loaded.

It is cheaper to perform back-to-back testing when the system or application have some modifications. There is no need to execute usability testing or performance testing one more time. Tester may just compare the work of system versions.

In other words, back-to-back testing is more effective during mobile application testing and website testing.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:41
Anyone in the world

Requirements traceability matrix (RTM)  merupakan alat yang digunakan untuk mengetahui kebutuhan pada pengembangan perangkat lunak pada fase testing. Disini RTM berguna melakukan verifikasi apakah kebutuhan tersebut sudah terpenuhi atau belum. RTM ini berupa daftar-daftar kebutuhan yang nantinya dapat memudahkan dalam melakukan testing. Matrix ini menghubungkan antara kebutuhan pada tingkat yang paling tinggi, spesifikasi desain, kebutuhan testing, dan coding. Karena matrix ini menyediakan link yang diperlukan berguna menentukan informasi yang dibutuhkan. Dengan adanya RTM juga sebagai alat untuk memastikan adanya penjaminan kualitas software, karena RTM memastikan bahwa kebutuhan yang diinginkan customers telah sesuai. Reqirement Treacibility Matrix digunakan dalam Quality Assurance sehingga dapat memastikan bahwa kebutuhan klien terpenuhi, dan perangkat lunak sesuai dengan yang diminta.


Kesuksesan project tidak akan tercapai tanpa manager proyek yang memiliki kemampuan organisasai yang baik. Dokumentasi requirement klien yang baik akan sangat membantu pengerjaan proyek. Manager yang baik harus mempu mengidentifikasikan requirement yang berhasil ataupun berpotensi gagal. Requirement treacibility matrix merupakan salah satu tools yang berguna untuk menelusuri informasi requirement.


Tujuan dari RTM yaitu ;

  1. Memastikan bahwa seluruh test case yang ada harus sesuai dengan kebutuhan.
  2. Memastikan bahwa ketentuan yang telah disetujui sudah mencakup semua pada fase pengembangan. Dari spesifikasi kebutuhan, pengembangan perangkat lunak, testing, sampai perangkat lunak itu jadi.



Bagaimana Kriteria RTM yang baik?

  1. Buat sebuah template RTM yang mudah dipahami oleh seluruh anggota proyek
  2. Usahakan kolom-kolom yang ada pada RTM urut sesuai dengan fase proyek yang ada. Contoh: Biasanya testing dilakukan di akhir, maka kolom untuk tescase diletakkan di akhir tabel.
  3. Berikan ID untuk setiap requirement
  4. Untuk proses selanjutnya, usahakan ada keterkaitan dalam penamaan ID, hal ini akan memudahkan kita dalam melakukan trace RTM



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:39
Anyone in the world

Grey Box Testing adalah sebuah metodologi kombinasi dari Black Box dan White Box Testing, menguji software berdasarkan spesifikasi tetapi menggunakan cara kerja dari dalam. Grey Box dapat di gunakan dengan baik dalam software testing.

Grey box testing mengacu pada teknik pengujian sistem dengan pengetahuan yang terbatas (limited knowledge) dari internal sistem. Grey box testing memiliki akses ke desain dokumen dengan rinci melalui informasi di luar persyaratan dokumen. Grey box testing yang dihasilkan berdasarkan informasi tersebut sebagai state-based models atau architecture diagrams of the target system.

Menurut Saleh (2009, p225) grey box mengasumsikan bahwa arsitektur software dan dokumentasi desain tersedia untuk tester. Grey box juga berdasarkan design document dan functional specifications. Dari beberapa definisi tersebut, dapat disimpulkan bahwa grey box testing adalah teknik pengujian sistem dengan pengetahuan yang terbatas (limited knowledge) dari internal sistem yang memiliki akses ke dokumen desain rinci. Pengujian grey box juga berdasarkan design document dan functional specifications dari suatu sistem.


Grey Box Testing biasa di gunakan pada software berorientasi object, dimana object – object tersebut adalah unit terpisah yang memiliki kode eksekusi atau data. Contoh aplikasi yang membutuhkan Grey Box Testing :

  • Architectural model
  • Unified Modeling Language – UML Design Model
  • Finite-state machine – State Model.


Teknik yang ada ada Grey Box Testing :

  • Matrix Testing: menyatakan laporan atau status proyek
  • Regression testing: menyatakan status apakah terjadi perubahan pada kasus uji yang baru dibuat.
  • Pattern Testing: memverifikasi aplikasi yang baik untuk desain atau arsitektur dan pola.
  • Orthogonal array testing: digunakan sebagai bagian dari semua kemungkinan kombinasi.


Efek penggunaan Grey Box Testing :

Efek Positif

  • Offers combined benefits : Mengambil kelebihan dari 2 kombinasi testing dan melakukan percobaan terhadap testing.
  • Non Intrusive : Hal ini didasarkan pada spesifikasi fungsional, tampilan arsitektur.
  • Intelligent Test Authoring : Grey Box Testing menangani scenario uji coba, misalnya tipe data, protocol komunikasi, dan penanganan eksepsi.
  • Unbiased Testing : terlepas dari semua keuntungan diatas, Grey Box Testing mempertahankan batas terhadapa pengujian Antara tester dan developer.

Efek Negatif

  • Partial Code Coverage : Dalam pengujian Grey Box, sumber kode dan binary akan hilang karenga akses yang terbatas pada struktur internal atau aplikasi akan menghasilkan akses terbats terhadap kode path traversal.
  • Defect Identification : Dalam aplikasi terdistribusi, sulit untuk mengidetifikasi cacat atau bug. Namun, pengujian di grey box dapat mengetahui bagaimana system cacat dalam lingkungan layana web.



  • Pengujian Grey Box ini cocok untuk Aplikasi WEB. Aplikasi Web telah didistribuasikan jaringan atau system, karena tidak adanya sumber kode atau binary, tidak mungkin untuk menggunakan pengujian, white-box. Pengujian Black-box juga tidak digunakan karena hanya melakukan kontrak Antara pelanggan dan pengembang, sehinggal lebih efisien menggunakan Grey-box testing sebagai informasi penting yang tersedia dalam Web Service Definition Language (WSDL).
  • Pengujian Grey Box cocok untuk pengujian fungisonal atau domain bisnis. Pengujian fungsional dilakaukan pada dasarnya tes interaksi pengguna dengan system. Ini juga membantu untuk mengkonfirmasi software yangn memenuhi persyaratan yang di tetapkan untuk perangkat lunak.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:38
Anyone in the world

Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.


Penggunaan metode pengujian white box dilakukan untuk :

  • Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
  • Menggunakan semua keputusan logis untuk semua kondisi true atau false
  • Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
  • Menggunakan struktur data internal untuk menjamin validitas jalur keputusan.


Persyaratan dalam menjalankan strategi White Box Testing

  • Mendefinisikan semua alur logika
  • Membangun kasus untuk digunakan dalam pengujian
  • Mengevaluasi semua hasil pengujian
  • Melakukan pengujian secara menyeluruh


Pengujian White Box Testing

Pengujian ke white box testing adalah menguji yang di dasarkan kepada pengecekkan ke dalam detail rancangan, penggunaan yang di lakukan struktur control dari suatu desain pemograman untuk dapat membagi pengujian ke beberapa kasus pengujian. Dan di dapat bahwasanya white box testing menggungakan petunjuk untuk menghasilkan program yang di harapkan dan efisien.


Metode pengujian pada white box testing ini sering di lakukan untuk

  • Memberikan dan membuat suatu jaminan bahwa seluruh jalur-jalur yang independen hanya menggunakan modul minimal satu kali.
  • Keputusan yang sifatnya logis dapat di gunakan di semua kondisi true (benar) atau false (salah).
  • Mengeksekusi seluruh perulangan yang ada ke pada batas nilai dan operasional di setiap situasi dan kondisi.


Kelebihan Yang Terdapat Di White Box Testing

  • Kesalahan Logika

Menggunakan sintax ‘if’ dan sintax pengulangan. Dan langkah selanjutnya metode white box testing ini akan mencari dan mendeteksi segala kondisi yang di percaya tidak sesuai dan mencari kapan suatu proses perulangan di akhiri.

  • Ketidaksesuaian Asumsi

Menampilkan dan memonitori beberapa asumsi yang di yakini tidak sesuai dengan yang di harapkan atau yang akan di wujudkan, untuk selanjutnya akan di analisa kembalai dan kemudian di perbaiki.

  • Kesalahan Pengetikan

Mendeteksi dan mencarian bahasa-bahasa pemograman yang di anggap bersifat case sensitif.


Kelemahan White Box Testing

Pada perangkat lunak yang jenisnya besar, metode white box testing ini dianggap boros karena melibatkan banyak sumberdaya untuk melakukannya.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:37
Anyone in the world

Black Box Testing adalah metode pengujian perangkat lunak yang tes fungsionalitasnya dari aplikasi yang bertentangan dengan struktur internal atau kerja. Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan.Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu.


Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :

1. Fungsi-fungsi yang salah atau hilang

2. Kesalahan interface

3. Kesalahan dalam struktur data atau akses database eksternal

4. Kesalahan performa

5. kesalahan inisialisasi dan terminasi


Dekomposisi kebutuhan  untuk dites secara  sistematis  :

  • Untuk dapat membuat test cases  yang efektif, harus dilakukan dekomposisi dari tugas-tugas testing suatu sistem ke aktivitas-aktivitas yang lebih kecil dan dapat dimanajemeni, hingga tercapai test case individual.
  • Tentunya, dalam disain test case juga digunakan mekanisme untuk memastikan bahwa test case yang ada telah cukup mencakup semua aspek dari sistem.
  • Pendisainan test case dilakukan secara manual, tidak ada alat bantu otomasi guna menentukan test cases yang dibutuhkan oleh sistem, karena tiap sistem berbeda, dan alat bantu tes tak dapat mengetahui aturan benar-salah dari suatu operasi.
  • Desain tes membutuhkan pengalaman, penalaran dan intuisi dari seorang tester.




Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:36
Anyone in the world

Kualitas merupakan salah satu factor utama yang menunjang suatu bisnis dimana ia dianggap sebagai pembeda yang khas dengan 2 kriterianya yakni :

  1. Kualitas harus terukur (mempunyai standar ukuran).
  2. Kualitas sebisa mungkin dapat diprediksikan.

Sedangkan software itu sendiri adalah komponen di dalam suatu computer berupa data elektronik, yang nantinya akan membantu kinerja dalam proses input output.

Jadi, pengertian dari software quality itu sendiri adalah bagaimana dan seperti apa  suatu software memiliki suatu kualitas (pembeda) sehingga nantinya software tersebut benar-benar useful dalam pengaplikasianya di setiap bidang,baik itu bisnis maupun organisasi lainnya. Dimana kualitas itu sendiri, bisa dipecah kembali ke beberapa bagian sesuai spesifikasi si software itu sendiri.

Mengapa kualitas itu penting? Kaitannya dengan konsumen, kualitas disini benar-benar menjadi sebuah permintaan yang juga menjadi sebuah ‘alat’ dalam mencapai sukses dan bisa survive dari pesaing yang ada. Karena sejatinya kualitas adalah kepuasan konsumen. Untuk itulah, kualitas haruslah direncanakan ke dalam suatu struktur projek, lalu secara konstan dievaluasi dan

Bila kualitas adalah suatu prioritas, maka disini kualitas dari sebuah software harus direncanakan dan dibuat ke dalam suatu project lalu kemudian diatur dan dilolah menjadi suatu produk dan dimonitor bukan hanya melalui taksiran tetapi juga melalui evaluasi dari hasil kombinasi antara interaksi atau hubugan timbal balik antara software dan produk yang ada.

Sebuah software memiliki karakteristik sebagai berikut :

  1. Software dikembangkan dan direncanakan dan software bukan merupakan hasil sebuah manufaktur klasik seperti biasanya,sehingga bisa digunakan untuk mempertahankan konsumen dan meningkatkan keuntugan perusahaan.
  2. Untuk itu,software haruslah berkualitas,karena kualitas itu adalah sebuah ‘hallmark’ dari sebuah bisnis secara global.


Software Quality Assurance

Tujuan dari software quality assurance adalah untuk memastikan bahwa software yang dibuat dapat memenuhi standar kwalitas sebuah software. Software Quality Assurance menyediakan ukuran-ukuran atau patokan-patokan yang didesain untuk memasatikan suatu software berjalan sesuai fungsinya secara konsisten dana modifikasi terhadap software tersebut tidak menghasilkan suatu masalah yang besar. Patokan tersebut harus dipakai sepanjang pengembangan software secara sistematik, mulai testing, dokumentasi, sampai eksekusi suatu software dan saat pemeliharaan software.


Alur dari software quality assurance adalah :

  1. Rencana atau rancangaan ditetapkan sesuai standar.
  2. Prosedur dilaksanakan sesuai rencana.
  3. Produk diimplementasikan menurut standar.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 12:20
Anyone in the world


Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.

Dengan prototype yang terbuka, model sebuah sistem (atau bagiannya) dikembangkan secara cepat dan dipoles dalam diskusi yang berkali-kali dengan klien. Model tersebut menunjukkan kepada klien apa yang akan dilakukan oleh sistem, namun tidak didukung oleh rancangan desain struktur yang mendetil. Pada saat perancang dan klien melakukan percobaan dengan berbagai ide pada suatu model dan setuju dengan desain final, rancangan yang sesungguhnya dibuat tepat seperti model dengan kualitas yang lebih bagus.

Protoyping membantu dalam menemukan kebutuhan di tahap awal pengembangan, terutama jika klien tidak yakin dimana masalah berasal. Selain itu protoyping juga berguna sebagai alat untuk mendesain dan memperbaiki user interface – bagaimana sistem akan terlihat oleh orang-orang yang menggunakannya.

Tujuan konvensional prototipe adalah memungkinkan pengguna perangkat lunak untuk mengevaluasi pengembang ‘proposal untuk desain produk yang akhirnya dengan benar-benar mencoba mereka keluar, daripada harus menafsirkan dan mengevaluasi desain berdasarkan deskripsi. Prototyping juga dapat digunakan oleh pengguna akhir untuk menjelaskan dan membuktikan bahwa pengembang persyaratan tidak dianggap, jadi “mengendalikan prototipe” dapat menjadi faktor kunci dalam hubungan komersial antara penyedia solusi dan klien mereka.



Setelah kebutuhan awal disetujui, lalu dianalisis dan dibagi menjadi area-area berbeda untuk menyediakan basis bagi prototipe awal dari berbagai bagian yang berbeda dari sistem; setiap prototipe didemonstrasikan kepada klien dan dipoles untuk memasukkan kebutuhan lebih banyak dan modifikasi. Siklus demonstrasi dan pemolesan berlanjut sampai klien dan pengembang merasa puas. Proses ini dilaksanakan untuk setiap bagian sistem. Prototipe final diintegrasikan dan sistem lengkap diuji dan akhirnya diserahkan kepada klien.


Jenis-jenis prototyping

Software prototipe memiliki banyak varian. Namun, semua metode-metode tersebut dalam beberapa cara yang didasarkan pada dua jenis utama prototyping:

  • throwaway Prototyping
  • Evolutionary Prototyping


Keunggulan prototyping :

  • Komunikasi akan terjalin baik antara pengembang dan pelanggan.
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan setiap pelanggannya.
  • Pelanggan berperan aktif dalam proses pengembangan sistem.
  • Lebih menghemat waktu dalam pengembangan sistem.
  • Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya

Kelemahan prototyping :

  • Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
  • Pengembang biasanya ingin cepat menyelesaikan proyek sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan sebuah kerangka kerja(blueprint) dari sistem .
  • Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik dan benar.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 12:18
Anyone in the world

Kelebihan dan kekurangan beberapa model proses dalam rekayasa perangkat lunak

A. Waterfalll model

Kelebihan Waterfall Model:

  1. Mudah diaplikasikan.
  2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
  3. Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.


Kekurangan Waterfall model:

  1. Waterfall model bersifat kaku sehingga Penanganan perubahan pada saat proses sedang berlangsung menjadi lebih sulit.
  2. Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  3. Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
  4. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
  5. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
  6. Semua kebutuhan sudah terefenisi sejak awal dan Software yang diberikan adalah versi terakhir dari setiap tahap,



Kelebihan dari RUP

  1. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
  2. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
  3. Mendukung proses pengulangan dalam pengembangan software.
  4. Memungkinkan adanya penambahan-penambahan pada proses.
  5. Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan yang terjadi pada software selama proses pengembangannya.


Kekurangan dari RUP

  1. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
  2. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum.


C. Agile

Kelebihan dari agile

  1. Meningkatkan kepuasan kepada klien.
  2. Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
  3. Pembangunan system dibuat lebih cepat.
  4. Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
  5. Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.


Kekurangan dari agile

  1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  2. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
  3. Tidak cocok dalam skala tim yang besar (>20 orang).
  4. Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.


D. Spiral

Kelebihan model Spiral:

  1. Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
  2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
  3. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
  4. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
  5. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  6. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
  7. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.


Kekurangan model Spiral:

  1. Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  4. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  5. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.



Associated Kursus: KI142303BKI142303B
Halaman: () 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 46 ()