Rabu, 13 November 2019

Pengertian SDLC dan Macam-Macam Metode SDLC

Pengertian SDLC dan Macam-Macam Metode SDLC


      SDLC (System Development Life Cycle) atau Siklus hidup pengmbangan system adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance) proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).


12  Model SDLC (Software Development Life Cycle)

  1. Waterfall Development Model ( Model Sekuensial Linier)
Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
 

Kelebihan Model Sekuensial Linear / Waterfall Development Model
  • Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
  • Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
  • Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
  • Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

Kekurangan Model Sekuensial Linear / Waterfall Development Model
  • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
  • Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  • Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
  • Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
  • Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
  • Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

  1. Model Prototype
Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau waterfall development model.
Dalam Model Prototype, prototype dari perangkat lunak yang dihasilkan kemudian dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan pelanggan.

Kelebihan Model Prototype
  • Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
  • Penentuan kebutuhan lebih mudah diwujudkan.
  • Mempersingkat waktu pengembangan produk perangkat lunak.
  • Adanya komunikasi yang baik antara pengembang dan pelanggan.
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
  • Lebih menghemat waktu dalam pengembangan sistem.
  • Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.

Kekurangan Model Prototype
  • Proses analisis dan perancangan terlalu singkat.
  • Biasanya kurang fleksibel 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.

  1. Model Rapid Application Development (RAD)
Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Kelebihan Model RAD
  • Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
  • Cocok untuk proyek yang memerlukan waktu yang singkat.
  • Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.

 Kekurangan Model RAD :
  • Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
  • Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
  • RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
  • Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.( Jdi dak biso di pake utk TA)
  • Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.

  1. Model Evolutionary Development (Evolutionary Software Process Models)
Model Evolutionary Development bersifat iteratif (mengandung perulangan). Hasil prosesnya berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Model Evolutionary Development / Evolutionary Software Process terbagi menjadi 2, yaitu :

  • Model Incremental
Model Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear sekuensial (waterfall) dengan Model Prototype. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.
Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas.

Kelebihan Model Incremental :
  • Personil bekerja optimal.
  • mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk menjalankannya.
  • 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 setiap bagian demi bagian.
  • Memaksimalkan pengembalian modal investasi konsumen.

Kekurangan Model Incremental :
  • Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding).
  • Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.

  • Model Spiral ( Model Boehm)
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.  Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

Kelebihan Model Spiral
Kelebihan model iniadalah sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.

Kekurangan Model Spiral
Kekurangan model iniadalah waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk diterapkan.

  1. Model Agile
Model Agile merupakan model pengembangan jangka pendek yang memerlukan adaptasi cepat dan pengembangan terhadap perubahan dalam bentuk apapun. Dalam agile terdapat beberapa poin penting diantaranya sebagai berikut:
  • Interaksi antar personal lebih penting daripada proses dan alat.
  • Software yang berfungsi lebih penting daripada dokumentasi yang lengkap
  • Kolaborasi dengan klien lebih penting daripada negoisasi kontrak.
  • Sikap tanggap lebih penting daripada mengikuti rencana/plan.
Kelebihan Model Agile
  • Functional dapat dibuat dengan cepat dan dilakukan testing
  • Perubahan dengan cepat ditangani

Kelemahan Model Agile
  • Analisis, desain, dan pengembangan sulit diprediksi
  • Dapat memunculkan permasalahan dari arsitektur maupun desain.

  1. Model Fountain (Air Mancur)
Model Fontain merupakan perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di lewati maka akan ada tumpang tindih dalam siklus SDLC.

 

  1. Model Synchronize And Stabilize (Sdlc)
Model ini adalah model yang digunakan oleh Microsoft.  Secara garis besar, Model Synchronize and Stabilize ini sama dengan model incremental, tetapi oleh CUsamano dan Selby tahun 1997 menyebutnya sebagai model Syncronize and Stabilized Model karena ada beberapa proses manajemen yang ditekannya oleh microsoft.
Analisis kebutuhan dilakukan dengan wawancara dengan sejumlah konsumen yang potensial.  Kemudian kebutuhan-kebutuhan tersebut dibuat paket dan disusun daftar secara prioritas.  Kemudian spesifikasi ditulis.  Selanjutnya pekerjaan dibagi dalam tiga atau empat bagian pembangunan software.  Bagian pertama menangani hal-hal yang paling kritis, bagian selanjutnya menangani hal-hal yang krisis selanjutnya, dan seterusnya.

 


Kelebihan Model Synchronize And Stabilize (Sdlc)
  • Membagi produk yang besar ke dalam bagian-bagian yang lebih kecil (prioritas dari fitur produk yang memiliki tim fitur kecil dapat dibuat dalam beberapa bulan)
  • Membuat project bekerja secara sistematis meskipun mereka tidak dapat menggambarkan dan menyelesaikan suatu produk di awal project.
  • Mengijinkan tim besar bekerja menjadi tim yang lebih kecil dengan membagi sebuah tim menjadi beberapa bagian, bekerja secara paralel tetapi tetap dapat berkesinambungan dalam men synchronizing setiap perubahan, stabilizing produk dan menemukan serta memperbaiki kesalahan.
  • Memfasilitasi masukkan dari customer, fitur produk dan waktu pengembangan yang pendek, yang didukung oleh mekanisme masukkan customer, prioritas, menyelesaikan dahulu bagian yang sangat penting dan melakukan perubahan tanpa harus mengurangi fitur yang diperlukan.

  1. Model Rational Unified Process
Unified Process (UP) adalah metodologi pengembangan sistem berbasis objek. Metode ini sudah menjadi salah satu metode yang banyak digunakan dalam pengembangan sistem berorientasi objek. UP memperkenalkan pendekatan baru untuk siklus hidup pengembangan sistem yang menggabungkan perulangan (iterations) dan tahapan (phases) yang disebut dengan siklus hidup UP (UP life cycle). UP mendefinisikan empat tahapan siklus hidup yaitu inception, elaboration, construction, dan transition.
RUP mempunyai beberapa tahapan, yaitu : Inception, Elaboration, Construction, dan Transition

 

Kelebihan Model RUP :
  • Ada beberapa keuntungan dengan mengunakan RUP di antaranya
  • Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
  • Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
  • Mendukung proses pengulangan dalam pengembangan software
  • Memungkinkan adanya penambahan-penambahan pada proses..
  • Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan yangterjadi pada software selama proses pengembangannya.
  • Memungkinkan untuk menjalankan test case dengan menggunakan Rational TestManager Tool

Kekurangan Model RUP :
Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yangberorientasi objek dengan berfokus pada UML (Unified Modeling Language)

  1. Model Build & Fix Method
Build & Fix Method merupakan metode yang paling lemah diantara metode SDLC yang lain tetapi menjadi acuan pengembangan untuk metode SDLC yang lain. Build & fix bertujuan untuk memberikan kepercayaan terhadap pelanggan dengan cara memberikan pelayanan perbaikan dan perawatan secara terus menerus terhadap produk yang digunakan oleh user.

 

Kelebihan Model Build & Fix Method
  • Build and fix dibuat tanpa melalui tahapan analisis dulu

Kekurangan Model Build & Fix Method
  • Tidak cocok ketika di pakai untuk membuat produk dengan kompleksitas tinggi dan dengan ukuran yang besar
  • Biaya yang di butuhkan akan menjadi sangat membengkak dan membesar ketika build and fix di gunakan untuk membuat projek berskala besar

  1. Metode Pengembangan Extreme Programming
Extreme Programming (XP) merupakan suatu pendekatan yang paling banyak digunakan untuk pengembangan perangkat lunak cepat. Alasan menggunakan metode  Extreme Programming (XP) karena sifat dari aplikasi yang di kembangkan dengan cepat melalui tahapan-tahapan yang ada meliputi : Planning/Perencanaan, Design/Perancangan, Coding/Pengkodean dan Testing/Pengujian. (Pressman, 2012:88).
Adapun  tahapan pada Extreme Programming dapat di jelaskan sebagai berikut:
  • Planning/Perencanaan
Pada tahap perencanaan ini dimulai dari pengumpulan kebutuhan yang membantu tim teknikal untuk memahami konteks bisnis dari sebuah aplikasi. Selain itu pada tahap ini juga mendefinisikan output yang akan dihasilkan, fitur yang dimiliki oleh aplikasi dan fungsi dari aplikasi yang dikembangkan.
  • Design/Perancangan
Metode ini menekankan desain aplikasi yang sederhana, untuk mendesain aplikasi dapat menggunakan Class-Responsibility-Collaborator (CRC) cards yang mengidentifikasi dan mengatur class pada object-oriented.
  • Coding/Pengkodean
Konsep utama dari tahapan pengkodean pada extreme programming adalah pair programming, melibatkan lebih dari satu orang untuk menyusun kode.
  • Coding/Pengujian
Pada tahapan ini lebih fokus pada pengujian fitur dan fungsionalitas dari aplikasi.


  1. SDLC Big Bang Model
Pengertian dari SDLC Big Bang Model adalah Dimana kita tidak mengikuti proses tertentu. Perkembangan hanya dimulai dengan uang dan usaha yang dibutuhkan sebagai masukan, dan hasilnya adalah perangkat lunak yang dikembangkan yang mungkin atau mungkin tidak sesuai dengan kebutuhan pelanggan. Model Big Bang ini tidak mengikuti dan hanya ada sedikit perencanaan yang diperlukan. Bahkan pelanggan pun tidak yakin dengan apa yang sebenarnya dia inginkan dan persyaratannya diimplementasikan dengan cepat tanpa banyak analisis.
Biasanya model ini di implementasi untuk proyek kecil dimana tim developernya sangat sedikit.

Spesifikasi Big Bang Model SDLC
Model Big Bang terdiri dari memfokuskan semua sumber daya yang mungkin dalam pengembangan perangkat lunak dan pembuatan code / coding, dengan perencanaan yang sangat sedikit atau tidak sama sekali. Requirement yang dibutuhkan terkadang datang pada saat pembuatan code. Setiap perubahan yang diperlukan mungkin atau mungkin tidak perlu mengubah perangkat lunak yang lengkap.
Big Bang Model ini sangat ideal untuk proyek kecil dengan satu atau dua pengembang yang bekerja sama dan juga berguna untuk pembelajaran atau project-project yang sangat kecil

Keuntungan dan Kelebihan Big Bang Model SDLC
Keuntungan dari Model Big Bang ini adalah sangat sederhana dan memerlukan perencanaan yang sangat sedikit atau tidak sama sekali. Mudah untuk mengelola dan tidak ada prosedur formal yang diperlukan.
Namun Big Bang model ini sangat beresiko tinggi dikarenakan dipastikan seringnya terjadi perbuhaan mengakibatkan kesalah pahaman antar developer yang mengerjakan project tersebut.  Ini sangat ideal untuk proyek berulang atau kecil dengan risiko minimum.

Keuntungan Big Bang Model antara lain:

  • Model yang sangat sederhana
  • Sedikit atau tidak ada perencanaan yang dibutuhkan
  • Mudah dikelola
  • Sangat sedikit sumber daya yang dibutuhkan
  • Memberikan fleksibilitas kepada pengembang
  • Bagus untuk developer yang ingin belajar atau developer pendatang baru.
Kekurangan Big Bang Model antara lain:
  • Beresiko tinggi dan kepastian dari requirement yang tidak jelas
  • Tidak cocok untuk project skala besar dan berorientasi objek
  • Model yang buruk untuk proyek yang panjang dan sedang berlangsung.
  • Bisa berubah menjadi sangat mahal jika persyaratan disalahpahami

12. The V-Model
The V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan Validasi.

The V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.

Ilustrasi berikut menggambarkan berbagai tahap dalam V-Model SDLC.









Ada beberapa tahapan verifikasi di V-Model, masing-masing dijelaskan secara rinci di bawah:
Business Requirement Analysis
Ini adalah tahap pertama dalam siklus pengembangan di mana persyaratan produk dipahami dari perspektif pelanggan. Fase ini melibatkan komunikasi rinci dengan pelanggan untuk memahami harapan dan kebutuhan yang tepat. Ini merupakan kegiatan yang sangat penting dan perlu dikelola dengan baik, karena sebagian besar pelanggan tidak yakin tentang apa yang sebenarnya mereka butuhkan Acceptance test desain dilakukan pada tahap ini sebagai kebutuhan bisnis dapat digunakan sebagai masukan untuk pengujian penerimaan.

System Design
Setelah Anda memiliki persyaratan produk yang jelas dan rinci, sekarang saatnya untuk merancang
sistem yang lengkap. Desain sistem akan memiliki pemahaman dan merinci hardware lengkap dan setup komunikasi untuk produk dalam pengembangan. Rencana pengujian sistem dikembangkan berdasarkan desain sistem. Melakukan hal ini pada tahap awal membuat lebih banyak waktu untuk pelaksanaan tes yang sebenarnya nanti

Architectural Design
spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Biasanya lebih dari satu pendekatan teknis diusulkan dan berdasarkan kelayakan teknis dan finansial keputusan akhir diambil. Desain sistem dipecah lebih jauh ke dalam modul mengambil fungsi yang berbeda. Hal ini juga disebut sebagai “Desain Tingkat Tinggi”
Module Design
Pada fase ini, desain internal rinci untuk semua modul sistem yang ditentukan, disebut “Desain Tingkat Rendah”. Penting  bahwa desain tersebut kompatibel dengan modul lain dalam arsitektur sistem dan sistem eksternal lainnya.

Coding Phase
Bahasa pemrograman yang paling cocok ditentukan berdasarkan sistem dan persyaratan arsitektur. pengkodean dilakukan berdasarkan pedoman coding dan standar. Kode berjalan melalui berbagai ulasan kode dan dioptimalkan untuk kinerja terbaik sebelum final membangun diperiksa ke dalam repositori

Fase Validasi berbeda dalam V-Model dijelaskan secara rinci di bawah ini:

Unit Testing
unit testing adalah pengujian pada tingkat kode dan membantu menghilangkan bug pada tahap awal, meskipun semua cacat tidak dapat ditemukan oleh unit testing.

Integration Testing
Integration testing dikaitkan dengan fase desain arsitektur. tes integrasi dilakukan untuk menguji koeksistensi dan komunikasi dari modul internal dalam sistem.

System Testing
System testing secara langsung berhubungan dengan tahap desain sistem. System testing memeriksa seluruh fungsi sistem dan komunikasi sistem dalam pengembangan dengan sistem eksternal. Sebagian besar perangkat lunak dan perangkat keras masalah kompatibilitas dapat ditemukan selama pelaksanaan test ini

Acceptance Testing
Acceptance testing dikaitkan dengan tahap analisis kebutuhan bisnis dan melibatkan pengujian produk di lingkungan pengguna.  Acceptance testing mengungkap masalah kompatibilitas dengan sistem lain yang tersedia di lingkungan pengguna. Juga menemukan masalah non-fungsional seperti beban dan kinerja cacat pada aktual lingkungan pengguna.

Kelebihan dari V-Model SDLC

  • Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
  • Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
  • Sederhana dan mudah dimengerti dan digunakan.
  • Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.

Kekurangan dari V-Model SDLC

  •  Berisiko tinggi dan ketidakpastian.
  • Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
  • Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
  • Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
  • Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.

terima kasih telah mengunjungi blog saya, semoga bermanfaat bagi kita semia.

Pengertian UML dan 13 Jennis-jenis UML

UML (Unified Modeling Language) dan 13 Jenis Diagramnya


Pengertian UML
              UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya.
            UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat  lunak.
 Jenis-jenis Diagram UML, yaitu :
1. Use Case Diagram
     Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.

Lihat Gambar

 Diagram Use Case berguna dalam tiga hal :

• Menjelaskan fasilitas yang ada (requirement)
• Komunikasi dengan klien
• Membuat test dari kasus-kasus secara umum


2. Activity Diagram
            Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .
            Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.
 
Lihat Gambar

3. Package Diagram
            Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.
            Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka. 

Lihat Gambar
4. State Machines Diagram


Statechart diagram digunakan untuk memodelkan perilaku dinamis satu kelas atau objek. Statechart diagram memperlihatkan urutan keadaan sesaat (state) yang dilalui sebuah objek, Kejadian yang menyebabkan sebuah transisi dari suatu state atau aktivitas kepada yang lainnya.
            Statechart diagram khusus digunakan untuk memodelkan tahap-tahap diskrit dari sebuah siklus hidup objek, sedangkan Activity diagram paling cocok untuk memodelkan urutan aktifitas dalam suatu proses.

Lihat Gambar

5. Sequence Diagram
 
            Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.

Lihat Gambar

6. Class Diagram
            Tujuan utama dari class diagram adalah untuk menciptakan sebuah kosa kata yang digunakan oleh analis dan pengguna. Diagram kelas biasanya merupakan hal-hal, ide-ide atau konsep yang terkandung dalam aplikasi. Misalnya, jika anda sedang membangun sebuah aplikasi penggajian, diagram kelas mungkin akan berisi kelas yang mewakili hal-hal seperti karyawan, cek, dan pendaftaran gaji. Diagram kelas juga akan menggambarkan hubungan antara kelas. 
Class memiliki 3 area pokok :
1. Name (dan stereotype);
2. Attribute;
3. Method.

Lihat Gambar

7. Communication Diagram
            Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
 
Contoh : Diagram Collaboration “Pemesanan kamar di Hotel”.

Lihat Gambar

8. Composite Structure Diagram
            Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.
Struktur komposit dapat digunakan untuk menjelaskan:
- Struktur dari bagian-bagian yang saling berkaitan;
- Run-time struktur yang saling berhubungan.

Lihat Gambar

9. Object Diagram
            Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.

Lihat Gambar

10. Timing Diagram
            Timing Diagram adalah bentuk lain dari interaction diagram, dimana focus utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan factor pembatas waktu diantara perubahan state pada objek yang berbeda.

Lihat Gambar


11. Component Diagram
            Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.
            Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.

Lihat Gambar

12. Deployment Diagram
            Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

Lihat Gambar

13. Interaction Overview Diagram
            Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.
Lihat Gambar

mungkin iu saja berbagi pengetahuan Pengertian UML dan 13 Jennis-jenis UML, terima kasih atas kunjungannya.

SIMBOL FLOWCHART Berserta Pengertian, Jenis, Fungsi dan Contohnya

SIMBOL FLOWCHART : Pengertian, Jenis, Fungsi dan Contohnya

Simbol Flowchart – Pengertian Flowchart adalah urutan proses kegiatan yang digambarkan dalam bentuk simbol. Flowchart (bagan alir) juga didefinisikan sebagai diagram yang menyatakan aliran proses dengan menggunakan anotasi- anotasi semisal persegi, panah, oval, wajik dll.
 
Penggunaan flowchart sangat penting, Bahkan Dr. Kauro Ishikawa seorang ahli teori organisasi, menjadikannya sebagai 1 dari 7 alat kualitas dasar (7 basic quality tools) yang harus dikuasai para anggota Quality Control Circle atau gugus kendali kualitas.

Melalui flowchart, kita bisa melihat langkah-langkah proses secara mendetail, lengkap dengan aktivitas yang terjadi. Flowchart banyak dipergunakan sebagai alat komunikasi dan dokumentasi.

Fungsi Flowchart

fungsi flowchart
Flowchart program memiliki 4 fungsi, keempat fungsi flowchart tersebut antara lain:

1. Memastikan Program Memiliki Alurnya Sendiri
Flowchart dapat membantu programmer untuk melihat alur atau pola ketika akan mem-build sebuah program/aplikasi. Dengan demikian, dapat mencegah malfungsi dari program komputer yang sedang dibuat. Program atau aplikasi yang dihasilkan pun dapat bekerja secara optimal.


2. Melihat Keseluruhan Program
Flowchart membantu Anda melihat rangkaian program secara keseluruhan (universal). Hal ini akan memudahkan siapa pun untuk melihat rancangan suatu program, tak terbatas bagi programmer saja. 


3. Melihat Proses dari Sebuah Program Ketika Dijalankan
Ini masih ada kaitannya dengan fungsi flowchart pada poin kedua. Flowchart program dapat digunakan untuk melihat proses-proses yang akan terjadi ketika program dijalankan.

Artinya, Anda bisa melihat penjelasan dari setiap proses di dalam program. Misalnya saja ketika akan membuat aplikasi neraca keuangan. 

Di dalam neraca keuangan misalnya saja terdapat input penjualan. Nah, melalui flowchart program Anda bisa melihat bagaimana input penjualan diperoleh, lengkap dengan dari mana data itu didapatkan.
 
4. Pedoman dalam Menyusun atau Mengembangan Aplikasi
Fungsi flowchart program selanjutnya ialah menjadi pedoman dalam menyusun atau mengembangkan aplikasi. Hampir sama dengan fungsi flowchart pada umumnya, flowchart program juga dapat digunakan untuk melihat alur/tahapan proses sebuah program..

Lengkap dengan kegiatan yang terjadi. Hal ini tentu akan banyak membantu pada saat pembuatan/pengembangan sebuah program.

Simbol Simbol Flowchart Beserta Fungsinya

simbol simbol flowchart
Flowchart memiliki simbol- simbol tersendiri dari setiap anotasi- anotasi geometri yang digunakan. Beberapa simbol flowchart sering digunakan dalam pembuatan sebuah sistem, sedangkan lainnya jarang digunakan, kecuali dalam pembuatan proses yang komplek dan rumit.
Terminal Point Symbol / Simbol Titik Terminal menunjukkan permulaan (start) atau akhir (stop) dari suatu proses.
Flow Direction Symbol / Simbol Arus adalah simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain (connecting line). Simbol ini juga berfungsi untuk menunjukkan garis alir dari proses.
Processing Symbol / Simbol Proses digunakan untuk menunjukkan kegiatan yang dilakukan oleh komputer. Pada bidang industri (proses produksi barang), simbol ini menggambarkan kegiatan inspeksi atau yang biasa dikenal dengan simbol inspeksi
Decision Symbol / Simbol Keputusan merupakan simbol yang digunakan untuk memilih proses atau keputusan berdasarkan kondisi yang ada. Simbol ini biasanya ditemui pada flowchart program.
Input-Output / Simbol Keluar-Masuk menunjukkan proses input-output yang terjadi tanpa bergantung dari jenis peralatannya.
Predefined Process / Simbol Proses Terdefinisimerupakan simbol yang digunakan untuk menunjukkan pelaksanaan suatu bagian prosedur (sub-proses). Dengan kata lain, prosedur yang terinformasi di sini belum detail dan akan dirinci di tempat lain
Connector (On-page)
Simbol ini fungsinya adalah untuk menyederhanakan hubungan antar simbol yang letaknya berjauhan atau rumit bila dihubungkan dengan garis dalam satu halaman
Connector (Off-page)
Sama seperti on-page connector, hanya saya simbol ini digunakan untuk menghubungkan simbol dalam halaman berbeda. label dari
simbol ini dapat menggunakan huruf atau angka
Preparation Symbol / Simbol Persiapan merupakan simbol yang digunakan untuk mempersiapkan penyimpanan di dalam storage.
Manual Input Symbol digunakan untuk menunjukkan input data secara manual menggunakan online keyboard.
Manual Operation Symbol / Simbol Kegiatan Manual digunakan untuk menunjukkan kegiatan/proses yang tidak dilakukan oleh komputer.
Document Symbol
Jika Anda menemukan simbol ini artinya input berasal dari dokumen dalam bentuk kertas, atau output yang perlu dicetak di atas kertas.
Multiple Documents
sama seperti document symbol hanya saja dokumen yg digunakan lebih dari satu dalam simbol ini
Display Symbol
adalah simbol yang menyatakan penggunaan peralatan output, seperti layar monitor, printer, plotter dan lain sebagainya
Delay Symbol
sesuai dengan namanya digunakan untuk menunjukkan proses delay (menunggu) yang perlu dilakukan. Seperti menunggu surat untuk diarsipkan dll

Movement Symbol
menunjukkan suatu proses pemindahan (movement), misalnya saja pemindahan material , pengangkatan barang dan sebagainya.












Jenis-Jenis Flowchart Flowchart sendiri dari setidaknya 5 jenis. Berikut ini adalah penjelasan singkat dari masing masing jenis flowchart.
1. Flowchart Sistem (System Flowchart)
Flowchart sistem atau bagan alir sistem merupakan bagan yang menunjukkan proses pekerjaan di dalam sistem. Bagan ini akan menggambarkan arus pekerjaan secara mendetail dan menyeluruh. Jadi, Anda bisa melihat urutan-urutan proses/prosedur di dalam sistem.

2. Flowchart Dokumen (Document Flowchart)
Flowchart dokumen atau yang kerap disebut flowchart formuliran diagram alir yang menggambarkan proses dari laporan dan formulir lengkap dengan tembusan-tembusannya.
Simbol-simbol yang digunakan pada flowchart dokumen masih sama dengan flowchart sistem. Adapun simbol-simbol flowchart dapat Anda lihat pada ulasan ‘Simbol dalam Flowchart’ di bagian bawah.

3. Flowchart Skematis (Schematic Flowchart)
Sekilas flowchart skematis tampak menyerupai flowchart sistem, karena memang kedua flowchart ini sama-sama digunakan untuk menggambarkan prosedur/proses dalam sistem. Simbol-simbol yang digunakan keduanya pun sama.
Hanya saja, flowchart skematis (schematic flowchart) memiliki simbol yang lebih beragam. 
Ya, simbol flowchart skematis lebih kompleks, ia juga menggunakan gambar-gambar komputer dan peralatan lainnya. 

Hal ini bertujuan untuk memudahkan orang-orang yang tidak familier dengan simbol-simbol dalam flowchart untuk membaca informasi yang disampaikan. Namun sayangnya, pembuatan flowchart ini memakan waktu lebih lama.
 
4. Flowchart Program (Program Flowchart)
Flowchart program merupakan bagan alir yang menggambarkan tahapan dalam proses sebuah program. Flowchart ini merupakan produk ‘turunan’ dari flowchart sistem. Hal ini guna memudahkan analis sistem dan programmer dalam memahami suatu program.
Secara umum flowchart program terbagi menjadi dua, yaitu flowchart logika program (program logic flowchart) dan flowchart program komputer terperinci (detailed computer program flowchart).

5. Flowchart Proses (Process Flowchart)
Terakhir ialah flowchart proses atau yang biasa disebut process flowchart. Flowchart ini banyak dipakai di sektor industri (bagian produksi) dan juga analis sistem.
Fungsi flowchart ini untuk melihat prosedur dalam suatu proses produksi. Selain itu, flowchart proses juga banyak digunakan untuk melihat jarak dari langkah satu ke langkah yang lain, lengkap dengan time proses yang dibutuhkan.

Contoh Flowchart

1. Contoh Flowchart Sederhana 


2. Contoh Flowchart Sistem Antrian Rumah Sakit

 

Senin, 04 November 2019

SDLC memiliki beberapa model dalam penerapan tahapan prosesnya.Masing-masing model memiliki kelebihan dan kekurangan.Akan tetapi semua tergantung kepada pengembang dan user untuk memilih model yang mana lebih sesuai dengan mereka.Berikut model-model SDLC.Selamat membaca !
1.Model Waterfall
Model ini biasa disebut model air terjun atau model sekuensial linier(sequential linear).Model air terjun menyediakan pendekatan alur perangkat lunak secara sekuensial/terurut  mulai dari analisis,desain,pengkodean,pengujian dan tahap pendukung (support).

Ilustrasi Model Waterfall

  • Analisis kebutuhan perangkat lunak merupakan proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user.Spesfikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
  • Desain adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data,arsitektur perangkat lunak,representasi antarmuka,dan prosedur pengkodean.
  • Pengkodean,desain harus ditranslasikan ke dalam program perangkat lunak.Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain.
  • Pengujian  fokus kepada perangkat lunak secara dari segi logik dan fungsional dan memastikan bahwa semua bagian sudah diuji.Hal ini dilakukan untuk meminimalisir kesalahan/error dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
  • Maintenance/Support tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user.Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan yang baru.Tahap maintenance dapat mengulangi proses pengembangan mulai dari analisis untuk perubahan perangkat lunak yang sudah ada,tapi tidak untuk membuat perangkat lunak yang baru.
Kelemahan dari model waterfall yaitu :
  • Perubahan spesifikasi perangkat lunak yang terjadi ditengah alur pengembangan
  • Sangat sulit bagi pelanggan untuk mendeskripsikan kebutuhan spesifikasi di awal pengembangan.Pelanggan sering kali membutuhkan contoh (prototype) untuk menjabarkan spesifikasi kebutuhan sistem lebih lanjut.
  • Pelanggan tidak mungkin bersabar mengakomodasi perubahan yang diperlukan di akhir alur pengembangan.


2.Model Prototype

Seringkali pelanggan membayangkan kumpulan kebutuhan yang diinginkan tapi tidak terspesifikasi secara detail dari segi masukan(input),proses maupun keluaran(output).Di sisi lain seorang pengembang perangkat lunak harus menspesifikasikan sebuah kebutuhan secara detail dari segi teknis dimana pelanggan sering kurang mengerti mengenai hal teknis ini.

Model Prototype dapat digunakan untuk menyambungkan ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan yang diinginkan pelanggan kepada pengembang perangkat lunak.

Model prototype dimulai dari mengumpulkan kebutuhan pelanggan terhadap perangkat lunak yang akan dibuat.Lalu dibuatlah program contoh agar pelanggan lebih terbayang dengan apa yang sebenarnya diinginkan(Program Simulasi).Program ini dievaluasi oleh pelanggan atau user sampai ditemukan spesifikasi yang sesuai dengan keinginan pelanggan/user.

Mock-Up adalah sesuatu yang digunakan sebagai model desain yang digunakan untuk mengajar,demonstras,evaluasi desain,promosi,atau keperluan lain.Sebuah mock-up disebut sebagai prototipe perangkat lunak jika menyediakan atau mampu mendemonstrasikan sebagian besar fungsi sistem perangkat lunak dan memungkinkan pengujian desain sistem perangkat lunak.

Ilustrasi Model Prototype

Model Prototype memiliki kelemahan sebagai berikut :
  • Pelanggan dapat sering mengubah-ubah atau menambah-nambah spesifikasi kebutuhan karena menganggap aplikasi sudah dengan cepat dikembangkan,karena adanya masalah ini ,pengembang banyak mengalah dengan pelanggan karena perubahan atau penambahan spesifikasi kebutuhan perangkat lunak.
  • Pengembang lebih sering mengambil kompromi dengan pelanggan untuk mendapatkan prototype dengan waktu yang cepat sehingga pengembang lebih sering melakukan cara guna menghasilkan prototype untuk didemonstrasikan.Hal ini dapat menyebabkan kualitas perangkat lunak menjadi kurang baik.

3.Model Rapid Application Development(RAD)

RAD adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek.Model RAD.Model RAD adalah adaptasi dari model waterfall versi kecepatan tinggi dengan menggunakan model air terjun untuk pengembangan setiap komponen perangkat lunak.

Jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup perangkat lunak dibatasi dengan baik sehingga tim dapat menyelesaikan pembuatan perangkat lunak dengan waktu yang pendek.Model RAD membagi tim pengembang menjadi beberapa tim untuk mengerjakan beberapa komponen.Masing-masing tim pengerjaan dapat dilakukan secara pararel.Berikut adalah gambar ilustrasi dari model RAD :

Ilustrasi Model RAD

Dari gambar di atas,kita dapat menyimpulkan bahwa pada model RAD,menggunakan terapan dari Model Waterfall akan tetapi menjadi lebih cepat karena ada tim yang dibagi.Semua tim masing-masing mengerjakan proses/tahapan yang sama tetapi fungsi-fungsi yang berbeda.Contohnya : dalam tahapan bussiness modeling,tim a mencari informasi tentang kebutuhan apa yang terkait fungsi bisnisnya sedangkan di tim b mencari informasi tentang alur proses bisnisnya.Keduanya sama-sama di tahapan proses modeling bussiness tapi beda materi.


  • Pemodelan Bisnis : pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait fungsi bisnis,informasi apa saja yang harus dibuat,siapa saja yang membuat informasi,bagaimana alur informasi itu,proses apa saja yang terkait informasi itu
  • Pemodelan Data : memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain.
  • Pemodelan Proses : mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefinisian data.
  • Pembuatan Aplikasi : mengimplementasikan pemodelan proses dan data menjadi program.Model RAD sangat menganjurkan pemakaian komponen yang sudah ada jika dimungkinkan.
  • Pengujian dan Pergantian :menguji komponen-komponen yang dibuat.Jika sudah teruji maka tim pengembang komponen dapat beranjak untuk mengembangkan komponen berikutnya.
Kelemahan dari model RAD adalah :

  • untuk pembuatan sistem perangkat lunak dengan skala besar maka model RAD akan memerlukan sumber daya manusia yang cukup besar untuk membentuk tim-tim yang mengembangkan komponen-komponen.
  • jika sistem perangkat lunak yang akan dibuat tidak bisa dimodulkan (dibagi-bagi menjadi beberapa komponen) maka model RAD tidak dapat digunakan untuk membuat sistem perangkat lunak karena terlalu banyak campur tangan antar tim.
  • model RAD tidak cocok digunakan untuk sistem perangkat lunak yang memiliki risiko teknis sangat tinggi,contohnya menggunakan teknologi baru yang belum banyak dikenal dan dikuasai pengembang.

4.Model Iteratif(Perulangan)

Model ini mengkombinasikan proses-proses pada model air terjun dan iteratif pada model prototype.Model inkremental akan menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan fungsi untuk setiap pertambahannya(increment).Berikut adalah gambar dari model inkremental

Ilustrasi Model Iteratif

Model inkremental dibuat untuk mengatasi kelemahan dari model air terjun yang tidak mengakomodasikan iterasi dan mengatasi kelemahan dari metode prototype yang memiliki proses terlalu pendek dan setiap prosesnya tidak selalu menghasilkan produk(hanya prototype).Model inkremental menghasilkan produk/aplikasi untuk setiap tahapan inkremen.

5.Model Spiral

Model Spiral memasangkan iteratif pada model prototype dengan kontrol dan aspek sistematik yang diambil dari model air terjun.Model spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak yang memiliki versi yang terus bertambah fungsinya.
Pada pengulangan awal maka dihasilkan adalah prototype sedangkan pada pengulangan akhir yang dihasilkan adalah perangkat lunak yang sudah lengkap.Model spiral dibagi menjadi beberapa kerangka wilayah kerja biasanya diantara tiga sampai enam wilayah sebagai berikut :
  • Komunikasi dengan pelanggan : aktifitas ini diperlukan untuk membagnun komunikasi yang efektif antara pengembang dan pelanggan.
  • Perencanaan : aktifitas ini diperlukan untuk mendefinisikan sumber daya,waktu dan informasi yang terkait dengan proyek.
  • Analisis Risiko : aktifitas ini diperlukan untuk memperkirakan risiko dari segi teknis maupun manajemen.
  • Rekayasa : aktifitas ini diperlukan untuk membangun satu atau lebih representasi dari aplikasi perangkat lunak (dapat berupa prototype).
  • Konstruksi dan peluncuran : aktifitas ini dibutuhkan untuk mengonstruksi,menguji,melakukan instalasi dan menyediakan dukungan terhadap user
  • Evaluasi Pelanggan : aktifitas ini dibutuhkan untuk mendapatkan umpan balik berdasarkan evaluasi representasi perangkat lunak yang dihasilkan dari proses rekayasa dan diimplementasikan pada tahap instalasi.
Berikut adalah gambar model spiral :

Ilustrasi Model Spiral

Setiap wilayah kerja terdiri dari kumpulan pekerjaan yang tergantung pada karakteristik proyek yang sedang dikerjakan.Semakin besar suatu proyek maka kumpulan pekerjaan di dalam setiap wilayah kerja juga semakin banyak.
Model spiral dilakukan searah jarum jam dimulai dari sumbu proyek.Sumbu proyek dapat digunakan sebagai awal iterasi atau evaluasi dari iterasi yang sudah dilakukan

Sekian pembahasan mengenai Model-Model SDLC !Sebenarnya masih ada beberapa model lagi,model tersebut akan dibahas di postingan berikutnya.Semoga ilmu yang dibagikan dapat bermanfaat !Terima Kasih !

Pengertian SDLC dan Macam-Macam Metode SDLC

Pengertian SDLC dan Macam-Macam Metode SDLC       SDLC (System Development Life Cycle) atau Siklus hidup pengmbangan syst...