Kamis, 17 Januari 2013

♥ RPL Last Part !! ♥

Hai guys...

Kali ini saya akan memberikan refleksi terakhir saya mengenai matakuliah RPL (Rekayasa Perangkat Lunak). Matakuliah memiliki dosen yang sama dengan pelajaran sebelum yaitu ASI (Analisis Sistem Informasi) sehingga tidak banyak memiliki perbedaan dalam hal mengajarnya dan juga dalam materi pengajarannya ada beberapa materi yang sama. Hal ini membuat kami tidak sulit lagi untuk beradaptasi dengan dosennya. Materi yang hampir sama membuat kami memiliki gambaran dasar tentang matakuliah ini.

Perbedaan dari kedua matakuliah ini yaitu dalam hal memberi tugas. Pada matakuliah ASI hanya diberikan 1 kasus yang dikerjakan oleh seluruh kelompok sedangkan pada matakuliah RPL kami diberikan kasus yang berbeda antara satu kelompok dengan kelompok yang lainnya. Sehingga kami dapat memperoleh lebih banyak pengetahuaan dari kasus-kasus yang berbeda. Selain itu dalam matakuliah ini kami harus selalu mengerjakan tugas-tugasnya dalam kelas sehingga membuat kami dapat lebih berpikir kritis dan belajar me-manage waktu yang sempit.

Pada matakuliah ini masih ada materi yang saya kurang mengerti yaitu User Interface dikarenakan waktu pengajaran yang sempit mengingat ini sudah pertemuan terakhir matakuliah RPL, sehingga memberikan kesan yang terburu-buru dalam menjelaskan materi.

Terima kasih Pak Sofyan karena sudah mau membagi lagi ilmunya kepada kami semua :D.

Thank You (=^. .^=)

Sabtu, 12 Januari 2013

☂ ASI The Last ☂

Hai guys..
Ini merupakan post terakhir saya mengenai pelajaran ASI (Analisi Sistem Informasi). Kali ini saya tidak membahasa mengenai pelajaran melainkan tanggapan saya selama belajar mata kuliah ini.

Sebelum memulai pelajaran ini saya sempat takut dengan Pak Sofyan karena katanya sih dosen saya ini rada-rada galak, serius banget kalau belajar tetapi setelah mulai memasuki pelajaran ini saya menganggap gosip - gosip itu salah :D.

Cara mengajarnya yang dibawakan Pak Sofyan itu berbeda dengan yang lain. Dimana setiap materi biasanya di selingi dengan games sehingga membuat tidak boring, membuat refleksi mengenai materi yang diajarkan, selain itu setelah menjelaskan materi kami selalu diberikan aktivitas dimana kami harus bekerja teman kelompok kami. Aktivitas yang diberikan itu berupa hasil diskusi dari kelompok yang dituangkan dalam kertas flip chart dan akan dipersentasikan dalam pameran. Dari aktivitas yang diberikan ini banyak poin-poin positif yang dapat kami dapatkan, selain lebih mengerti tentang materi yang diberikan, kami diajarkan juga untuk bekerja secara team work selain itu kami juga diajarkan untuk bebicara atau menjelaskan hasil karya kami kepada teman-teman yang laen dan memberikan masukan kepada setiap kelompok tentang hasil karya mereka.

Dalam materi kuliah ini saya belum mengerti sepenuhnya apalagi dalam pembuatan DFD. Materi ini mungkin paling sulit buat saya, karena dalam pembuatan DFD kami harus melihat kembali dan mencerna ERD dan Function Partitiong kami.. ><

Hmm.. mungkin ini lah tanggapan saya mengenai metode pengajaran Pak Sofyan selama belajar matakuliah ini.. Terima kasih yah Pak Softyan karena uda mau berbagai ilmu kepada kami smua ^^.


Minggu, 02 Desember 2012

☂ MoDeL DaTa Part 2 ☂

Kali ini saya akan membahas lagi mengenai Model Data. Pada pembahasan kali ini, Model Data ini di bahas pada matakuliah Rekaya Perangkat Lunak.

Pada pembelajaran kali ini kami diberikan tugas perkelompok, dimana setiap kelompok membahas kasus yang berbeda. Disini kelompok saya mendapat kasus mengenai Percetakan Offline dan Online pada Keren Foto. Dimana pada kasus ini kami memiliki 2 entitas ( pelanggan dan foto) dan 2 entitas asosiatif (order dan kirim).

Pada saat presentasi, ada yang menyarakan untuk "kirim" di jadikan sebagai atribut. Namun menurut dosen kami itu relatif saja, malah beliau memberikan penjelasan bahwa "kirim" dapat dijadikan sebagai entitas asosiatif untuk mempertimbangankan physical levelnya. Dimana physical level itu sendiri merupakan tahap memikirkan dari fisik sistemnya seperti besar memori yang digunakan. Sehingga ERD yang kami buat dapat di katakan benar (^▽^)

Pada Jumat yang lalu kami juga di ajarkan mengenai arsitektur basis data


















                                               Dari : http://yuliawinar.blogspot.com/

Penjelasan:
  • View merupakan output untuk setiap database.
  • Logical merupakan desain(tahap pembuatan) atau hubungan dengan bentuk logic dari suatu sistem seperti apa entitasnya, atribut dan relasinya.
  • Physical merupakan tahap memikirkan dari fisik sistemnya seperti besar memori yang digunakan (hard disk).
Yang masih saya bingungkan yaitu menetukan bahwa ia sebuah entitas atau output (@_@)

Minggu, 11 November 2012

☋ Prototyping ModeL ☋

Materi RPL kali ini membahas tentang Prototyping secara lebih mendalam. Disini kami dijelaskan bahwa Prototyping adalah model yang mula-mula (model asli) yang menjadi contoh.

Pendekatan yang digunakan jika
  • customer sulit mendefinisikan atau mengkomunikasikan kebutuhannya akan sistem yang direncanakan secara lebih mendetail.
  • pengembang mungkin tidak yakin terhadap efisiensi algoritma dari sistem operasi arau bentuk interaksi manusia atau mesin (interface) yang harus dibuat.

Prototyping yang dibuat terbagi menjadi 2 jenis yaitu:

✿ Closed-ended Protyping atau Throwaway Prototyping 
    Hanya menyajikan demonstrasi kasar dari pemenuhan requirements untuk kemudian dibuang dan pengembangkaan akan menggunakan model yang berbeda.

✿ Open-ended Protyping atau Evolutionary Prototyping
    Menjadi bagian awal dari aktivitas analysis dan akan dilanjutkan hingga desain dan pengembangan.

Untuk mempermudah pembuatan prototyping , biasanya menggunakan
✿ Visual Programming
     ❀ Visual Basic
     ❀ Net Beans
✿ Reuse Code

Yang ingin saya ketahui apa hubungan dari prototyping dengan proses bisnis..


Kamis, 08 November 2012

Model Data


Model Data adalah sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara data dan batasanbatasan data yang terintegrasi di dalam suatu organisasi

referensi:  http://sgenk.blogspot.com

Model data biasanya digambarkan menggunakan Entity Relantionship Model (ERD),  Relational Model dan Object Oriented Model.
Pada pembahasan ini kami baru dijelaskan tentang Entity Relantionship Model (ERD).
ERD merupakan model yang menjelaskan hubungan antar data dalam basis data yang terdiri atas object-object dasar yang mempunyai hubungan atau relasi antara suatu object dengan object lainnya.

Data Modelling terbagi atas :
  • Object / entitas : representasi informasi dengan sejumlah property atau atribut.
  • Attributes : pengenal dari objec, ciri dari object dan penghubung dengan objek lain.
  • Relationships : hubungan antara satu object dengan object lainnya.

Model ERD


Didalam ERD juga terdapat Cardinality dan Modality. Cardinality menggambarkan hubungan antara entitas satu dengan entitas lainnya yang saling berkaitan. Cardinality terdiri dari 3 macam seperti :
  • Satu ke satu (one to one) dimana setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
  • Satu ke banyak(one to many) dimana setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
  • Banyak ke banyak(many to many) dimana setiap anggota entitas A dapat berhubungan dengan banyak entitas anggota B, begitu pulah sebaliknya.
Sedangkan Modality menggambarkan tentang ada atau tidak adanya suatu hubungan dalam sebuah model data ( 0 atau 1)

Yang saya masih bingung bagaimana caranya menetukan primary key dan cardinality dalam sebuah kasus..

Sekian n Terima kasih >,<


Kamis, 01 November 2012

Proses Bisnis

Matakuliah Analisis Sistem Informasi kali ini membahas tentang Proses Bisnis. Sebelum memulai matakuliah ini dosen kami memberikan tes kami berupa menjelaskan tentang Proses Bisnis yang telah kami baca dirumah .

          Proses Bisnis(Business Process) adalah kumpulan dari proses dan berisi kumpulan aktifitas   yang saling berelasi satu sama lain untuk menghasilkan suatu keluaran yang mendukung pada tujuan dan sasaran strategis dari organisasi.

Setelah menyelesaikan tesnya, kami lanjut dalam materi . Kami dijelaskan mengenai teori-teori dasar tentang Quality Function Deployment (QFD). QFD meliputi seperti :
  • Expected Requirements
  • Normal Requirements
  • Exciting Requirements
Setelah menjelaskan teori dasar dari QFD , kami diberikan tugas kelompok. Dimana tugas ini kami disuruh menganalisis sistem informasi dimana kami harus menentukan jenis usaha dan judul project , kemudian menentukan sapa anggota yang menjadi owner dan developer. Kelompok saya membuat jenis usaha Pabrik Makanan Kaleng dengan judul project Sistem Produksi.
Awalnya, saya dan teman kelompok saya kebingungan menetukan yang mana sebagai sistem dan bukan sistem. Karna terkadang yang kami pikirkan itu adalah sebuah sistem bukan sebuah sistem.Kemudian Pak Sofyan memberikan kami arahan mengenai tugas kelompok kami sehingga kami dapat menyelesaikannya dengan baik.

Yang dapat saya tangkap dari materi ini yaitu kami diajarkan menjadi seorang owner dan developer. Dimana kita sebagai owner harus mengerti mengenai permintaan dari developer. Dan sebagai developer bisa memberikan saran. Agar owner dan developer dapat saling bekerja sama.

Tugas kelompok yang ke-2 mengenai proses bisnis adalah membuat sistem dari rental mobil. Dimana dalam struktur organisasinya terdiri dari pimpinan dan beberapa divisi yang mendukung.Di dalam sistem rental mobil yang dibuat kelompok saya terdiri atas :
  • Pimpinan bertugas mengontrol seluruh aktivitas yang dilakukan divisi-divisi.
  • Administrasi bertugas menerima data dan jaminan dari pelanggan, mencetak struk pemesanan    mobil dan membuat laporan pemasukan.
  • Kasir bertugas menginput struk pemesana dan mengeluarkan output berupa tanda pelunasan pemesanan mobil.
  • Service bertugas menerima tanda pelunasan pemesanan mobil, memberikan kunci mobil, membuat keterangan mobil keluar dan mengecek keadaan mobil.
Setelah selesai berdiskusi kami memindahkannya dalam tabel dikertas flipchart. Kemudian seperti biasa hasil karya kami dipamerkan. Pak sofyan membagi tugas untuk setiap anggota kelompok. Ada yang sebagai penjaga stand dan yang mencari informasi mengenai hasil karya kelompok lain. Dari hasil pameran ini , kami mengetahui beberapa kekurangan tentang kelompok kami seperti harus mncantumkan bagian customer, aktivitas penyewaan(keterlambatan / denda), aktivitas penyewaan supir, aktivitas penambahan unit dan aktivitas pemeliharaan.

Ehm.. yang saya masih kurang mengerti dalam materi ini yaitu bagaimana menetukan hubungan satu divisi dengan divisi lain.

Demikian pembahasan materi saya kali ini ^^

Rabu, 24 Oktober 2012

Software Process

Kali ini saya akan membahas mengenai model-model software. Model-model software yang ada sebagai berikut : 
  • Linear Sequential Model atau Waterfall Model
  • Incremental Model
  • Prototyping Model
  • Rapid Application Development (RAD)
  • Spiral Model
Mari kita membahas satu per satu model software .....

1). Linear Sequential Model atau Waterfall Model

             Model ini merupakan model yang paling banyak dipakai oleh para pengembang software. Ada lima tahap dalam model waterfall, yaitu: Requirement Analysis, System Design, Implementation, Integration & Testing, Operations & Maintenance. Sesuai dengan namanya waterfall (air terjun) maka tahapan dalam model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu sebelum yang lainnya (lihat tanda anak panah). Selain itu dari satu tahap kita dapat kembali ke tahap sebelumnya.


Berikut ini penjelasan tentang masing-masing tahap dalam model waterfall:

1. Requirement Analysis        
         Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan   software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.
2.  System Design
         Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan.
3.  Implementation
         Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum.
4.  Integration & Testing
        Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak.
5.  Operation & Maintenance
Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki  kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.

   Kelebihan Waterfall
  •  Merupakan model pengembangan paling handal dan paling lama digunakan.
  • Cocok untuk system software berskala besar.
  •  Cocok untuk system software yang bersifat generic.
  • Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
  Kekurangan Waterfall
  • Persyaratan system harus digambarkan dengan jelas.
  • Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
  • Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan
Refensi dari :
  • http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/
  • http://bluewarrior.wordpress.com/2009/10/12/waterfall-model-vs-v-model/

2). Incremental Model
     
    Model incremental menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna.

        Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.

       Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.

     Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda. 
Kelebihan Incremental Model
  • Personil bekerja optimal
  • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. COntohnya pemasukan data karyawan
  • Mengurangi trauma karena perubahan sistem.  Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian
  • Memaksimalkan pengembalian modal investasi konsumen
Kekurangan Incremental Model
  • kemungkinan tiap bagian tidak dapat diintegrasikan
  • Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
  • Harus Open Architecture
Referensi dari :
  • http://trisnowlaharwetan.wordpress.com/2010/03/10/perbandingan-model-dalam-rekayasa-perangkat-lunak/
  • http://evi-mursalim.blogspot.com/2011/01/rekayasa-perangkat-lunak-incremental.html
3). Prototyping Model
     

        Prototyping merupakan salah satu metode pengembangan perangkatlunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan system yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan. Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan.


 Tahapan-tahapan Prototyping :
1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)
3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.
4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai
5. Menguji system
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain
6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7. Menggunakan system
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan .

Kelebihan  Prototyping
  • Prototype melibatkan user dalam analisa dan desain.
  • Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
  • Untuk digunakan secara standalone.
  • Digunakan untuk memperluas SDLC.
  • Mempersingkat waktu pengembangan Sistem Informasi

Kekurangan Prototyping
  •  Proses analisis dan perancangan terlalu singkat.
  •  Mengesampingkan alternatif pemecahan masalah.
  •  Bisanya kurang fleksible dalam mengahdapi perubahan.
  •  Protitype yang dihasilkan tidak selamanya mudah dirubah
  •   Protype terlalu cepat selesai
Referensi dari
  • http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/
4). Rapid Application Development (RAD)

            RAD (Rapid Application Development) adalah sistem pemrograman yang memungkinkan programmer membuat program dengan cepat. Secara umum, Sistem RAD menyediakan sejumlah alat-bantu untuk membuat antarmuka pengguna grafis (graphical user interfaces) yang biasanya membutuhkan usaha dan waktu yang lama untuk membuatnya. Dua sistem RAD yang paling populer untuk Windows adalah Visual Basic dan Delphi.

RAD Mempunyai 4 Unsur Penting : Manajemen, Manusia, Metodologi, dan Peralatan.



Tahapan-tahapan dalam RAD :
  1. Bussiness Modelling. Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut: Informasi apa yang menegndalikan proses bisnis? Informasi apa yang dimunculkan? Di mana informasi digunakan ? Siapa yang memprosenya ?
  2. Data Modelling.Fase ini menjelaskanobjek data yang dibutuhkan dalam proyek. Karakteristik (atribut) masing-masing data diidentifikasikan dan hubungan anta objek didefinisikan.
  3. Process Modelling. Aliran informasi pada fase data medelling ditransformasikan untuk mendapatkan aliran informasi yang diperlukan pad implementasi fungsi bisnis. Pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atu mendapatkan kembali objek data tertentu
  4. Aplication Generation. Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Ala-alat baantu bisa dipakai untuk memfasilitasi konstruksi perangkat lunak.
  5. Testing and Turnover. Karena menggunakan kembali komponen yang telah ada, maka akan mengurangi waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
Kelebihan dari model RAD
  • Waktu pengerjaannya yang terbilang singkat yaitu kira-kira 60-90 hari
  • RAD dalam prosesnya dapat menggunakan kembali komponen software maupun program yang sudah ada sebelumnya sehingga menghemat waktu dan lebih mudah
Kekurangan dari model RAD
  • Membutuhkan sumber daya manusia yang besar, untuk membentuk tim-tim
  • Developers dan customers dituntut harus commit pada kecepatan aktivitas kerja untuk menyelesaikan sistem sesuai dengan frame time, jika tidak maka project RAD akan gagal
  • Jika sistem tidak dapat dimodulkan dengan benar, maka dalam pembangunan komponen dari RAD akan bermasalah
  • Jika performance hanya berfokus pada perbaikan interface dari komponen sistem, maka pendekatan RAD mungkin tidak bekerja
  • Jika resiko terlalu tinggi maka model RAD bukanlah model yang tepat untuk digunakan
 Referensi dari 
  • http://artikelsayasaja.blogspot.com/2011/09/metode-rad.html
  • http://yuliagroups.wordpress.com/pengertian-rad/
  • http://lindroidspica.blogspot.com/2011/09/metode-dan-model-proses-rekayasa.html
 5). Spiral Model


           Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model Prototyping dan digabungakan dengan aspek sistematis yang dikembangkan dengan model Waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap Prototyping adalah suatu model dimana software dibuat prototype (incomplete model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user / customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi.
Model ini digambarkan dengan bentuk spiral dimana didalamnya terdapat daerah yang disebut dengan region. Proses dimulai dari dalam atau pusat spiral yang berlanjut searah jarum jam menuju tahapan selanjutnya kemudian melebar seperti terlihat pada gambar dibawah ini.
Tahapan proses pada model Spiral :
  1. Communication
  2. Planning
  3. Modeling
  4. Construction
  5. Deployment
Akan tetapi tidak sama halnya dengan model lain yang ketika software sudah dikirimkan maka proses sudah selesai, pada model Spiral proses akan berlanjut terus,  saat software sudah dikirim proses berlanjut membuat project baru dan kembali ke tahap awal yaitu Communication dan seterusnya seperti gambar spiral diatas guna memperbaiki kekurangan-kekurangan pada software yang pertama dikirimkan.

Kelebihan model Spiral
  • Pendekatan dengan model ini sangat baik digunakan untuk pengembangan sistem software dengan skala besar, karena perkembangan dari Software Engineering dapat dipantau oleh kedua belah pihak baik developer maupun customer, sehingga mereka dapat mengerti dengan baik mengenai software ini begitu juga dengan resiko yang mungkin didapat pada setiap aktivitas yang dilakukan
  • Karena merupakan gabungan dari model Waterfall dan Prototyping sehingga terdapat analisis resiko yang dilakukan maka resiko dapat direduksi sebelum menjadi suatu masalah yang besar yang dapat menghambat Software Engineering
  • Dengan iterasi yang dilakukan pada model ini menyebabkan model ini lebih realistis untuk merefleksikan dunia nyata
Kekurangan model Spiral
  • Sulit meyakinkan customer bahwa pendekatan evolutionary bisa dilakukan, khusus pada kontrak kerja
  • Kemampuan untuk memperkirakan dan menanggulangi resiko yang datang sangat menentukan, sebab apabila resiko utama tidak dapat diatasi maka permasalahan akan muncul kembali tanpa diragukan lagi
Referensi dari 
  • http://lindroidspica.blogspot.com/2011/09/metode-dan-model-proses-rekayasa.html