TUGAS REKAYASA PERANGKAT LUNAK SLDC

Pengertian Waterfall
January 23, 2013
Waterfall sebagai model rekayasa perangkat lunak
Permodelan dalam suatu perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa perangkat lunak, sebenarnya masih memungkinkan tanpa melakukan permodelan. Hal ini tidak dapat lagi dilakukan dalam suatu industri perangkat lunak.
Permodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal rekayasa, dan permodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.
Waterfall model pertama kali diperkenalkanoleh Winston Royce tahun 1970. Waterfall Model merupakan model klasik yang sederhana dengan aliran sistem yang linier.  Output dari setiap tahap merupakan input bagi tahap berikutnya.

Pengertian Water fall model
Water fall model adalah salah satu model pengembangan software, dimana kemajuan suatu proses dipandang sebagai terus mengalir ke bawah seperti air terjun.

Tahap – tahap pengembangan waterfall model adalah :
1. Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user.
2. Perancangan sistem dan perangkat lunak
Kegiatan ini menentukan arsitektur sistem secara keseluruhan
3. Implementasi dan pengujian unit
Perancangan perangkat lunak direalisasikan sebagai serangkaian program
4. Integrasi dan pengujian sistem
Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sitem telah terpenuhi
5. Operasi dan pemeliharaan
Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.



Pemodelan Waterfall
Sejarah Model Waterfall
     Model Waterfall ini awalnya ditemukan oleh Winston W. Royce pada tahun 1970 . Dia menulis sebuah artikel ilmiah yang berisi pandangan pribadinya pada pengembangan perangkat lunak . Pada paruh pertama dari artikel, ia membahas sebuah proses yang dia sebut ” megah ” . Dia bahkan menggambar sosok model , dan lain yang menunjukkan mengapa hal itu tidak bekerja ( karena persyaratan selalu berubah ) . Model ini adalah air terjun . Dia menggunakannya sebagai contoh dari proses yang sama sekali tidak bekerja. Di paruh kedua artikel ia menggambarkan proses berulang-ulang bahwa ia dianggap jauh lebih baik .
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Berikut gambar model waterfall.



Pengertian Waterfall
      Waterfall adalah suatu metodologi pengembangan perangkat lunak yang mengusulkan pendekatan kepada perangkat lunak sistematik dan sekuensial yang mulai pada tingkat kemajuan sistem pada seluruh analisis, design, kode, pengujian dan pemeliharaan.
 Keuntungan  Waterfall
  • Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
  • Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi  setiap fase atau tahapan akan mempunyai dokumen tertentu.
  • Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
  Kelemahan Waterfall
  • Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
  • Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
  • Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
  • Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
  • Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.






 Penjelasan Waterfall, V - Model dll
MODEL WATERFALL

 Tahapan atau fase model waterfall
Ini adalah gambar tahapan atau fase yang paling umum tentang model waterfall



Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya

 Tahap Pengembangan Waterfal
Tahap – tahap pengembangan waterfall model adalah :



Analisis dan definisi persyaratan Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user.Perancangan sistem dan perangkat lunak Kegiatan ini menentukan arsitektur sistem secara keseluruhan.Implementasi dan pengujian unit Perancangan perangkat lunak direalisasikan sebagai serangkaian program.Integrasi dan pengujian sistem Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sitem telah terpenuhi Operasi dan pemeliharaan Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.

 Permasalahan Yang Ada Di Pengembangan Waterfal
Sebagai akibat dari biaya pembuatan dan persetujuan dokumen, iterasi menjadi mahal dan melibatkan pengerjaan ulang yang signifikan. Dengan demikian, setelah sejumlah iterasi kecil, normal membekukan bagian dari pengembangan seperti spesifikasi. Masalah-masalah dikesampingkan, diabaikan atau dihindari untuk pemecahan kemudian. Pembekuan persyaratan dini ini bisa berarti bahwa sistem tidak dapat melakukan seperti yang diinginkan user.
Sistem memiliki struktur yang buruk jika masalah perancangan dihindari dengan trik implementasi. Dengan demikian pada fase akhir perangkat lunak digunakan, error dan penghapusan persyaratan perangkat lunak yang asli akan ditemukan.
Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel. Komitmen harus dilakukan pada tahap awal proses dan akan sulit bagi perekayasa untuk menanggapi perubahan persyaratan pelanggan.
V – MODEL
           

1.      Pengertian Model V
Model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.


Sumber : http://apriy68.blogspot.co.id/2014/11/penjelasan-waterfall-v-model-dll.html




Prototyping perangkat lunak
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
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).[1] Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode tradisional dan biayanya menjadi lebih rendah.[1] Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya.[1] 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.[1]
Dengan prototype yang terbuka, model sebuah sistem (atau bagiannya) dikembangkan secara cepat dan dipoles dalam diskusi yang berkali-kali dengan klien.[1] Model tersebut menunjukkan kepada klien apa yang akan dilakukan oleh sistem, namun tidak didukung oleh rancangan desain struktur yang mendetil.[1] 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.[1]
Protoyping membantu dalam menemukan kebutuhan di tahap awal pengembangan, terutama jika klien tidak yakin dimana masalah berasal.[1] Selain itu protoyping juga berguna sebagai alat untuk mendesain dan memperbaiki user interface – bagaimana sistem akan terlihat oleh orang-orang yang menggunakannya.[1]
Salah satu hal terpenting mengenai metodologi ini, cepat atau lambat akan disingkirkan dan hanya digunakan untuk tujuan dokumentasi.[1] Kelemahannya adalah metode ini tidak memiliki analisis dan rancangan yang mendalam yang merupakan hal penting bagi sistem yang sudah kokoh, terpercaya dan bisa dikelola.[1] Jika seorang pengembang memutuskan untuk membangun jenis prototipe ini, penting untuk memutuskan kapan dan bagaimana ia akan disingkirkan dan selanjutnya menjamin bahwa hal tersebut telah diselesaikan tepat pada waktunya.[1]



Sumber : https://id.wikipedia.org/wiki/Prototyping_perangkat_lunak









CONTOH MODE PROTOTYPING
PENGERTIAN PROTOTYPING
PROTOTYING
Adalah merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat salingbberinteraksi selama proses pembuatan sistem.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 sistem 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
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:
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).
Jenis Prototype :
Jenis I : Suatu Sistem yang akan menjadi sistem operasional
Jenis II : Suatu model yang dapat dibuang yang berfungsi sebagai cetak biru bagi sistem operasional.






PROTOTYPING
Keunggulan prototyping adalah:
1. Adanya komunikasi yang baik antara pengembang dan pelanggan
2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3. Pelanggan berperan aktif dalam pengembangan sistem
4. Lebih menghemat waktu dalam pengembangan sistem
5. Penerapan menjadi lebih mudah karena pemakaian mengetahui apa yg diharapkan
Kelemahan prototyping adalah :
1.      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 jangja waktu lama.
2.      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 cetak biru sistem.
3.      Hubungan pelanggan dengan komputer yg sediakan mungkin tidak mencerminkan teknik perancangan yg baik.














SPIRAL MODEL
Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas.Berikut adalah aktivitas –aktivitas yg dilakukan dalam spiral model:
·         Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer
·         Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya,  terutama mengenai kebutuhan dari customer
·         perkiraan waktu pengerjaan, dan informasi lainnya yg dibutuhkan untuk pengembangan software.
·         Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis
·         Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal
·         Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.
·         Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release
Berikut adalah gambar dari spiral model secara umum :


Satu lingkaran dari bentuk spiral pada spiral model dibagi menjadi beberapa daerah yang disebut dengan region. Region tersebut dibagi sesuai dengan jumlah aktivitas yang dilakukan dalam spiral model. Tentunya lingkup tugas untuk project yang kecil dan besar berbeda. Untuk project yang besar, setiap region berisi sejumlah tugas-tugas yang tentunya lebih banyak dan kompleks daripada untuk project yang kecil. SE berjalan dari inti spiral berjalan mengitari sirkuit per sirkuit. Sebagai contoh untuk sirkuit pertama dilakukan untuk pembangunan dari spesifikasi dari software dengan mencari kebutuhan dari customer. Untuk sirkuit pertama harus menjalani semua aktivitas yang didefinisikan. Setelah 1 sirkuit terlewati lanjut ke tugas selanjutnya misalnya membangun prototype.


























MODEL SPIRAL
Kelebihan model spiral:
1.Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
2.Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3.Pengembangan dan pemakaian dapat lebih mudah memahami dan bereaksi  terhadap resik setiap evolusi karena perangkat lunak terus bekerja selama proses.
4.Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan didalam evolusi produk.
5.Tetap mengikuti langkah – langkah dalam siklus kehidupan

Kelemahan model Spiral:
1.Sulit untuk mmeyakinkan pelanggan bahwa penndekatan evolusionner ini bisa dikontrol.
2.Memerlukan penaksiran resiko yg masuk akal dan akan menjadi masalah yg serius jika mayor tidak ditemukan dan diatur.
3.Butuh waktu lama mayor tidak ditemukan dan diatur.
Sumber : http://saifulmubin.blogspot.co.id/2011/02/model-spiral.htmlbe t
Ss
S

ereaksi terhadapembangan dan pemann Kelemahan Model Spiuhueir





RAPID APPLICATION DEVELOPMENT (RAD)
Posted on May 10, 2014 by piyaneo
Rapid Application Development (RAD) adalah strategi siklus hidup yang ditujukan untuk menyediakan pengembangan yang jauh lebih cepat dan mendapatkan hasil dengan kualitas yang lebih baik dibandingkan dengan hasil yang dicapai melalui siklus tradisional (McLeod, 2002). RAD merupakan gabungan dari bermacam-macam teknik terstruktur dengan teknik prototyping dan teknik pengembangan joint application untuk mempercepat pengembangan sistem/aplikasi (Bentley, 2004). Dari definisi-definisi konsep RAD ini, dapat dilihat bahwa pengembangan aplikasi dengan menggunakan metode RAD ini dapat dilakukan dalam waktu yang relatif lebih cepat.








RAD
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
1.    Component based construction ( pemrograman berbasis komponen bukan prosedural).
2.    Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3.    Pembangkitan kode program otomatis/semi otomatis.
4.    Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.

Kelemahan & Kelebihan RAD[sunting | sunting sumber]
Beberapa hal (kelebihan dan kekurangan) yang perlu diperhatikan dalam implementasi pengembangan menggunakan model RAD :
1.   Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
2.   Model ini cocok untuk proyek dengan skala besar.
3.   Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
4.   kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
5.   sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
6.   penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
7.   proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
8.   risiko teknis yang tinggi juga kurang cocok untuk model ini.








RUP
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

Fase dan disiplin dalam RUP
RUP, singkatan dari Rational Unified Process, adalah suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak yang akan memilih elemen proses sesuai dengan kebutuhan mereka.

Sejarah
RUP merupakan produk proses perangkat lunak yang awalnya dikembangkan oleh Rational Software. Rational Software diakuisisi oleh IBM pada Februari 2003. Produk ini memuat basis-pengetahuan yang bertautan dengan artefak sederhana disertai deskripsi detail dari beragam aktivitas. RUP dimasukkan dalam produk IBM Rational Method Composer (RM C) yang memungkinkan untuk kustomisasi proses.
Dengan mengombinasikan pengalaman dari banyak perusahaan, dihasilkan enam praktik terbaik untuk rekayasa perangkat lunak modern:
1.   Pengembangan iteratif, dengan risiko sebagai pemicu iterasi primer
2.   Kelola persyaratan
3.   Terapkan arsitektur yang berbasis komponen
4.   Visualisasikan model perangkat lunak
5.   Secara kontinyu, verifikasi kualitas
6.   Kendalikan perubahan



RUP (Rational Unified Process)
 Iskandar Badai  6:50 AM  No Comments
Metodologi Rational Unified Process (RUP). Metode RUP merupakan metode pengembangan kegiatan yang berorientasi pada proses. Dalam metode ini, terdapat empat tahap pengembangan perangkat lunak yaitu:


Inception :
Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis kebutuhan user, dan melakukan       perancangan awal perangkat lunak (perancangan arsitektural dan use case). Pada akhir fase ini, prototipe perangkat lunak versi Alpha harus sudah dirilis


Elaboration :
Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi Betha dari perangkat lunak.


Construction :
Pengimplementasian rancangan perangkat lunak yang telah dibuat dilakukan pada tahap ini. Pada akhir tahap ini, perangkat lunak versi akhir yang sudah disetujui administrator dirilis beserta  dokumentasi perangkat lunak.


Transition :
Instalasi , deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini.


Sumber : http://cccoffe.blogspot.co.id/2014/09/rdp-rational-unified-process.html


Komentar