Senin, 02 November 2015

Model Rekayasa Perangkat Lunak

     1.Waterfall Model / Linear Sequential Model

Waterfall model adalah model yang melakukan pendekatan pada perkembangan perangkat lunak secara seistematik dan sekuensial. Yang artinya kegiatan pada model ini dilakukan secara terurut berdasarkan panduan proses mulai dari komunikasi kepada client atau pelanggan sampai dengan aktifitas sampai pengorderan setelah masalah dipahami secara lengkap dan berjalan stabil sampai selesai.
    
2. Menurut referensi Sommerville
     Kedua fase-fase menggunakan nama yang berbeda pada tiap fasenya, tetapi pada           dasarnya inti dari kedua fase-fase tersebut adalah sama. Tahapan-tahapan yang yang sering dijumpai adalah menurut refrensi dari Sommerville karena lebih terperinci perbedaan pada tiap fasenya.
a    a. Requirements definition
b    b. System and software design
c    c. Implementation and unit testing
d    d. Integration and system testing
e    e. Operation and maintenance
  Kekurangan Waterfall model
              Waterfall model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem perangkat lunak.
  Pemakaian Waterfall model
              Waterfall model digunakan untu pembuatan sistem perangkat lunak yang berukuran besardan pembuatannya secara terpisah.
Incremental Proses Model


2. Incremental

Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.


       Tahapan dari Incremental Model :

Requirement -> penentuan kebutuhan perangkat lunakyang akan dibangun.

Specification -> spesifikasi bagian dari perangkat lunak.

Architecture Design -> pembuatan perancanganperangkat lunak (dasar dari kerangka kerja)


       Kelebihan incremental model
1. Resiko yang rendah pada pengembangan sistem.
2. Mengutamakan fungsi-fungsi pada sistem perangkat lunaksehingga kemudahan pemakaian sistem yang paling di utamakan.

3. Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut)



3. RAD(Rapid Application Development)

    RAD(Rapid Application Development) adalah model proses yang juga termasuk dalam Incremental Proses Model karena pembangunan dari sistem perangkat lunak dikerjakan dengan tahapan yang terurut mulai dari dasar (awal) sampai tahap paling tinggi (proses akhir pembuatan), tetapi perbedaan nya model ini dibagi menjadi beberapa modul dan dikerjakan secara besama-sama dan sesuai dengan waktu yang ditentukan.
        Kelebihan RAD model :

Pengerjaan sistem yang cepat (60 -90 hari)

RAD dapat menggunakan kembali komponen yang ada (reusable object) sehingga pengembang pengembang tidak perlu membuat dari awal lagi 
Proses pengiriman menjadi lebih mudah karena proses pembuatan berupa potongan- potongan script


Kekurangan RAD model :

  • Tidak tepat untuk sistem yang berukuran besar.
  • Pembuatan sistem bisa gagal jika waktu kesepakatan tidak terpenuhi (terlalu cepat atau permintaan agar diselesaikan lebih cepat dari perjanjian).
  • Mempunyai banyak resiko karena dikerjakan dalam modul yang berbeda dan dalam waktu  yang hampir bersamaan dan pada tempat yang belum tentu sama.

4. Evolutionary Software Process Models

         A. Protoyping Model
    Protoyping Model adalah model yang dapat diterapkanpada model apapun. Model ini tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem penerapannya). Model ini tepat digunakan jika pihak clientmenginginkan prototype dari software dalam waktu yangsingkat. Dan prototype inilah yang akan menjadi acuandari client untuk memberikan data kebutuhan yang lebihlengkap pada pembuat software (developer).
             
          Kekurangan dalam model prototype :
    - Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
     - Prototype yang di setujui oleh client harusdikembangkan oleh developer tanpa ada data tambahandari client dan software dari prototype harus memilikifungsi yang lengkap.
                - Banyak ketidak sesuaian pada bentuk prototype.
   
Model ini memerlukan kesepakatan antara client dandeveloper bahwa prototype hanya menjadi model dasadari pembangunan software.

B. Spiral Model
Spiral model adalah model proses yang pendekatannyabersifat realistis pada software besar karena proses dariawal sampai proses pengiriman dan perbaikan dapatdipahami dnegan baik oleh clieent dan developer. Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan kemudian iterasiselanjutnya akan menjadi perkembangan dari model sebelumnya. Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan perupbahan pada software oleh client.
Ada 6 pembagian proses pembuatan pada spiral model :
1. Komunikasi Pelanggan
2. Perencanaan
3.Analisis resiko
4.Perekayasaan
5.Konstruksi dan Peluncuran
6.Evaluasi Client

Kelebihan model Spiral :
Ÿ    Prescriptive Model Proses
    Prescriptive model adalah model proses dasar yangdipakai seperti dengan aturan-aturan yang ditentukanagar dapat menghindari kesalahan dalam jadwal kegiatankerja

Minggu, 13 September 2015

Apa itu Rekayasa Perangkat Lunak??....


          Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
           Perangkat Lunak sendiri adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer.

  • Latar belakang Disiplin Rekayasa Perangkat Lunak
Faktor-faktor yang melatar belakangi munculnya RPL :
  1. Ketidakmampuan organisasi memprediksi waktu, usaha dan biaya untuk membangunperangkat lunak
  2. Perubahan nisbah/rasio biaya perangkat keras thd harga perangkat lunak
  3. Kemajuan pesat perangkat keras
  4. Kemajuan dalam teknik-teknik pembuatan perangkat lunak
  5. Tuntutan yang lebih tinggi thd jumlah perangkat lunak
  6. Tuntutan yang lebih tinggi thd mutu perangkat lunak
  7. Meningkatnya peran pemeliharaan


  • Karakteristik Perangkat Lunak yang baik
Perangkat Lunak mempunyai beberapa karakteristik, yaitu:
  1.    Mempunyai daya guna yang tinggi (usability)
  2.    Mempunyai kinerja sesuai fungsi yang dibutuhkan pemakai
  3.    Mampu diandalkan (be reliable)
  4.    Mudah dirawat/diperbaiki (maintenability)
  5.    Lebih efisien
  6.    Mempunyai antarmuka yg menarik (eye cathcing user interface)
  7.    Mempunyai siklus hidup yang cukup lama (long life time)

  • Mutu Perangkat Lunak
Terdapat 3 pihak (minimal) yang mempengaruhi mutu P.L yaitu:
1. Sponsor
Seseorang atau organisasi yang membiayai/membayar selama pengembangan atau perantaraan sistem software dan biasanya mempunyai respon terhadap pengembangan sistem software itu sendiri dengan melibatkan perhitungan biaya yang optimal.
2. User
Setiap orang yang secara langsung berinteraksi terhadap eksekusi software, yang secara langsung memberi input ke komputer dan menggunakan/menikmati output dari komputer.
3. Developer 
Seseorang atau organisasi yang memberikan modifikasi dan memelihara terhadap error serta mengembangkan sistem software tersebut.

  • Bentuk produk Perangkat Lunak: 
          1. Produk Generik (Umum)
Sistem stand-alone standar yang diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software shrink-wrapped. 
Contoh : pengolah kata (word processor).

2. Produk pesanan (yang disesuaikan) 
Sistem yang dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak. 
Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara. 

  • Perbedaan PENTING antara 2 bentuk perangkat lunak : 
  1. Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
  2. Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.