Senin, 30 Maret 2015

TUGAS

PERTEMUAN 2

1. Sebutkan dan jelaskan kelebihan serta kekurangan dari model proses yang ada
2. Anda adalah seorang manajer yang mendapatkan proyek sebuah perangkat lunak pengelolah database yang sangat sederhana,tetapi waktu yang di tentukan oleh pelanggan sangat ketat.
PERTANYAAN : model pengembangan perangkat lunak mana yang anda pilih dan jelaskan.
3. Anda di pilih menjadi seorang manajer proyek yang mendapat proyek membangun sebuah aplikasi yang sangat mirip dengan aplikasi lain yang sudah pernah di bangun sebelumnya,meskipun yang satu ini lebih besar dan kompleks,syaratsyaratnya sudah di dokumentasikan dengan teliti oleh pemakai.
PERTANYAAN : model pengembangan perangkat lunak mana yang anda pilih dan jelaskan alasannya
4. Buat sebuah program dan lakukan pengujian blackblox terhadap program yang anda buat

JAWABAN !!!


1. 1.  Model Linear Sequential/Waterfall
Model Linear Sequential/Waterfall merupakan paradigma rekayasa perangkat lunak yang paling tua dan paling banyak dipakai.

Kelebihan model Linear Sequential/Waterfall :

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

Kekurangan model Linear Sequential/Waterfall :

·    Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses
·     Sulit untuk mengalami perubahan kebutuhan yang diinginkan customer
·  Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya
·     Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk
·    Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya

2.  Model Prototyping

Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.

Kelebihan model Prototyping :

·         Menghemat waktu pengembangan
·         Adanya komunikasi yang baik antara pengembang dan pelanggan
·         Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
·         Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
·        User dapat berpartisipasi aktif dalam pengembangan sistem

Kekurangan model Prototyping :

·         Proses analisis dan perancangan terlalu singkat
·         Biasanya kurang fleksible dalam mengahadapi perubahan
·    Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
·    Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien

3.  Model RAD (Rapid Application Development)

Model RAD merupakan model proses pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat.

Kelebihan model RAD :

·     Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
·     Cocok untuk proyek yang memerlukan waktu yang singkat

Kekurangan model RAD :

·    RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
·   Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
· Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah software
·    Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
·  Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan customer

4.  Model Increment

Model Increment merupakan kombinasi linear sequential model dan filosofi pengulangan dari prototyping model.

Kelebihan model Increment :

·   Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
·    Mampu mengakomodasi perubahan kebutuhan customer

Kekurangan model Increment :

·     Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
·     Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
·     Hanya cocok untuk proyek dengan skala kecil

5.  Model Spiral

Model spiral merupakan model proses perangkat lunak yang memadukan wujud pengulangan dari model prototyping dengan aspek pengendalian dan sistematika dari linear sequential model.

Kelebihan model Spiral :

·        Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
·        Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses

Kekurangan model Spiral :

·    Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan
·  Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses

2. The Concurrent Development Model
Model ini disebut juga dengan concurrent engineering yang dapat digambarkan secara skematik sebagai serial dari kegiatan teknis utama, tugas-tugas, dan hubungan antar bagian-bagian yang saling terkait di mana aktifitas analisa seperti desain/rancangan atau komunikasi pelanggan dapat diskemakan dengan cara yang sama.
 
Concurrent process model cocok digunakan untuk pengembangan aplikasi client/server yang terdiri atas satu set komponen yang fungsional. Terdapat dua dimensi aktivitas yang digambarkan oleh model ini sebagai berikut.
Dimensi sistem: terdapat tiga proses di dalamnya yakni perancangan, perakitan (assembly) dan penggunaan (use).
Dimensi komponen: terdapat dua kegiatan utama yaitu perancangan dan realisasi.
Concurrency (pertemuan) dapat diperoleh dengan dua cara: 1) sistem dan komponen kegiatan (aktifitas) terjadi secara simultan dan dapat diperagakan dengan memanfaatkan pendekatan yang berdasar pada status sebelumnya; 2) aplikasi client/server yang bersifat unik/khas di mana dapat diterapkan pada banyak komponen yang tiap-tiap komponen bisa dirancang dan direalisasikan secara serentak.
3. Menurut saya model ini digunakan notasi matematika yang terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang berbasis komputer. Metode ini sering dipakai untuk spesifikasi yang detail, rancangan dan verifikasi pada bagian-bagian sistem yang penting (bersifat kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri) dan pada perbankan.
Secara khusus, metode formal sangat cocok dijalankan pada sistem yang kompleks.

4. Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program.
Ciri-Ciri Black Box Testing
1.Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada  spesifikasi kebutuhan dari software.
2.Black box testing bukan teknik alternatif daripada white box testing. Lebih   daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.
3.Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing
Pada black box testing terdapat jenis teknik disain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yang diantaranya  :
1. Equivalence Class Partitioning
2. Boundary Value Analysis
3. State Transitions Testing
4.Cause-Effect Graphing
Kategori error yang akan diketahui melalui black box testing  :
  • Fungsi yang hilang atau tak  benar
  • Error  dari antar-muka
  • Error  dari struktur data atau  akses eksternal database
  • Error  dari kinerja atau tingkah  laku
  • Error  dari inisialisasi dan  terminasi
Equivalence Partitioning
Merupakan metode black box testing yang membagi domain masukan dari suatu program ke dalam kelas-kelas data, dimana test cases dapat diturunkan [BCS97a]. Equivalence partitioning berdasarkan pada premis masukan dan keluaran dari suatu komponen yang dipartisi ke dalam kelas-kelas, menurut spesifikasi dari komponen tersebut, yang akan diperlakukan sama (ekuivalen) oleh komponen tersebut. Dapat juga diasumsikan bahwa masukan yang sama akan menghasilkan respon yang sama pula. Nilai tunggal pada suatu partisi  ekuivalensi diasumsikan sebagai  representasi dari semua nilai  dalam partisi.
Analisa partisi pada Equivalence Partitioning Black Box
1. Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen.
2. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen.
3. Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen (seperti mempunyai proses yang sama).
Partisi untuk nilai valid dan tidak valid harus ditentukan.
Contoh Black Box Testing dengan Equivalence Partitioning :
Pemeliharaan data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikro komputer yang terhubung dengan password yang telah ditentukan dan diikuti dengan perintah-perintah. Data yang diterima adalah :
–        Kode area        : kosong atau 3 digit
–        Prefix               : 3 digit atau tidak diawali 0 atau 1
–        Suffix                : 4 digit
–        Password        : 6 digit alfanumerik
–        Perintah           : check, deposit, dll
Selanjutnya kondisi input digabungkan dengan masing-masing data elemen  dapat ditentukan sebagai berikut:
Kode area : kondisi input, Boolean –kode area mungkin ada atau tidak kondisi input, range –nilai ditentukan antara 200 dan 999
Prefix  : kondisi input range > 200 atau tidak diawali 0 atau 1
Suffix  : kondisi input nilai 4 digit
Password : kondisi input boolean –passwordmungkin diperlukan atau  tidak kondisi input nilai dengan 6 karakter string
Perintah   : kondisi input set berisi perintah-perintah yang telah didefinisikan



Tidak ada komentar:

Posting Komentar