Senin, 04 November 2019

MODEL-MODEL SDCL DAN MODEL SYSTEM(DFD DAN UML)

MODEL-MODEL SDLC(metodologi sytem devlopment licycle)

Apa itu Metodologi ?

Suatu cara untuk menggali suatu kebenaran (kbbi).
Saat ini ada beberapa model yang berkembang terkait dengan System Development Life Cycle (SDLC). Namun terdapat beberapa model yang populer dalam dunia pengembangan perangkat lunak.
1.Waterfall




Model ini menggunakan pendekatan secara sistematis dan sekuensial yang mulai pada tingkat requirment sampai tingkat maintenance.
Kelebihan
  1. Proses menjadi teratur
  1. Jadwal menjadi lebih menentu
  1. Proses mudah dipahami dan jelas
  1. Mudah dalam pengelolaan proyek
  1. Kondisi requirment jelas.
Kelemahan
  1. Sifatnya kaku, karena tidak mudah tanggap dalam menanggapi segala perubahan.
  1. Membutuhkan daftar kebutuhan yang lengkap diawal
  1. Proses pengembangan relative lama, dikarenakan tahap selanjutnya bisa dilakukan jika tahap sebelumnya selesai dikerjakan.
2. Prototype




Model prototype merupakan model pengembangan software yang mengijinkan pengguna/user memiliki gambaran awal tentang program yang akan dikembangkan serta melakukan pengujian awal.
Model prototype juga memberi fasilitas bagi pengembangn dan user untuk saling terkait dan berinteraksi.
Kelebihan
  1. Fleksibel
  1. Bersifat aktif, sehingga user dapat melihat, merasakan, dan mengalami proses pengembangan.
  1. Perbaikan kesalahan relative cepat.
Kelemahan
  1. Mengurangi kreatifitas perancangan
  1. Cakupan pengembangannya sistem dapat lebih luas
3. Rapid Application Development (RAD)



Model pengembangan yang menggunakan pendekatan orientasi komponen terhadap pengembangan perangkat lunak. Model ini bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus hidup pengembangan konvensional.
Kelebihan
  1. Pengembangan yang cepat
  1. Adanya prototype
  1. Pengurangan penulisan kode yang kompleks, dikarenakan reuse code yang sudah ada.
Kelemahan
  1. Tidak relevan untuk proyek skala besar
  1. memerlukan komitmen yang kuat antara pengembang dengan konsumer
  1. membutuhkan sumber daya yang besar untuk proyek skala besar.
4. Spirall




Model Spirall merupakan model pengembangan perangkat lunak yang evolusioner yang memadukan sifat iteratif model protype dan aspek sisematis dari mode sekuensial. Version Release meningkat setiap iterasi terjadi.
Kelebihan
  1. Cocok untuk proyek skala besar
  1. Manajemen kesalahan baik
  1. Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan didalam evolusi produk.
Kelemahan
  1. Waktu pengembangan cukup lama
  1. Dibutuhkan ahli dalam penanganan resiko
  1. Kesulitan dalam meyakinkan konsumen.
5. 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:
  1. Interaksi antar personal lebih penting daripada proses dan alat.
  1. Software yang berfungsi lebih penting daripada dokumentasi yang lengkap
  1. Kolaborasi dengan klien lebih penting daripada negoisasi kontrak.
  1. Sikap tanggap lebih penting daripada mengikuti rencana/plan.
Kelebihan
  1. Functional dapat dibuat dengan cepat dan dilakukan testing
  1. Perubahan dengan cepat ditangani
Kelemahan
  1. Analisis, desain, dan pengembangan sulit diprediksi
  1. Dapat memunculkan permasalahan dari arsitektur maupun desain.


Difference Between Data Flow Diagram (DFD) and UML

1.DFD

Diagram alir data adalah diagram yang digunakan untuk memodelkan sistem seoara logik. Seperti halnya bagan alir dokumen, diagram alir data pun dapat digunakan baik pada tahap analisis maupun tahap desain, namun kecenderungan diagram ini lebih cocok digunakan untuk tahap desain karena dengan diagram tersebut batasan ruang lingkup sistem terlihat sangat jelas sehingga pekerjaan pengembangan sistem yang dilakukan dapat lebih fokus. Terdapat beberapa ahli yang pernah mendefinisikan simbol-simbol DFD, diantaranya adalah Gane/Serson dan Yourdon/De Marco yang mendefinisikan simbol DFD sebagai berikut.

11

Pemodelan DFD diawali dengan pembuatan context diagram. Secara simbol, DFD dan context diagram menggunakan jenis dan bentuk simbol yang sama, namun secara aturan terdapat perbedaan antara pemodelan DFD dan context diagram, dimana pada context diagram hanya diizinkan sebuah simbol proses saja sedangkan pada DFD dapat lebih dari satu simbol proses. Selain itu context diagram ditujukan untuk menggambarkan interaksi sistem dengan lingkungan luar, sedangkan pada DFD juga digambarkan hubungan antar proses didalam sistem.

TUJUAN DFD
Beberapa tujuan dibuatnya sebuah DFD atau DAD pada sistem yang dibuat, antara lain
  1. Menggambarkan fungsi-fungsi yang mentrasformasikan aliran data.
  2. Memberikan indikasi mengenai bagaimana data ditrasformasikan pada sata data bergerak melalui sistem.
FUNGSI DFD ATAU DAD
  1. Sebagi alat pembuatan model yag memungkinkan profesional sistem yang digunakan untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yag dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  2. DFD digunakan sebagai alat pembuatan modelyang memberikan penekanan hanya pada fungsi sistem
  3. DFD merupakan alat perancang sistem yang berorientasi pada alur data.
LEVEL PADA DFD
Dalam pembuatan DAD atau DFD terdapat 3 level, yaitu:
  1. Diagram Konteks
  2. Diagram konteks menggambarkan satu lingkaran besar yang dapat mewakili seluruhh proses yang terdapat didalam suatu sistem. Diagram konteks sering dikatakan sebagai diagram nomol 0 (nol), karena diagram ini merupakan tinggakatan tertinggi dalam DFD. Diagram ini sangat sederhana untuk diciptakan karena pada diagram konteks sama sekali tidak memuat penyimpanan. Hal itu dilakukan karena semua entitas eksternal yang ditujukan pada diagram konteks yangberisii aliran-aliran data utama menuju dan dari sistem.
  1. Diagram Nol (digram level-1)
  2. Diagram level nol merupakan pemecahan dari diagram konteks, diagram ini memuat penyimpanan data.
  3. Diagram Rinci Merupakan diagram yang digunakan untuk menguraikan atau pemecahanan proses yang ada dalam diagram nol.
Berikut ini adalah beberapa pedoman dalam membuat model DFD.

12

Identifikasi terlebih dahulu semua kesatuan luar (external entities) yang terlibat.
Identifikasi semua input dan output yang terlibat dengan kesatuan luar.
Gambarlah terlebih dahulu diagram contextnya.
Gambarlah bagan berjenjang untuk semua proses yang ada di sistem.

13

Gambarlah DFD untuk overview diagram (level-0).
Gambarlah DFD untuk level-level selanjutnya.

14

2.UML

UML adalah sekumpulan alat yang digunakan untuk melakukan abstraksi terhadap sebuah sistem atau perangkat lunak berbasis objek. UML merupakan singkatan dari Unified Modeling Language. UML juga menjadi salah satu cara untuk mempermudah pengembangan aplikasi yang berkelanjutan. Aplikasi atau sistem yang tidak terdokumentasi biasanya dapat menghambat pengembangan karena developer harus melakukan penelusuran dan mempelajari kode program. UML juga dapat menjadi alat bantu untuk transfer ilmu tentang sistem atau aplikasi yang akan dikembangkan dari satu developer ke developer lainya. Tidak hanya antar developer terhadap orang bisnis dan siapapun dapat memahami sebuah sistem dengan adanya UML.
UML diciptakan oleh Object Management Group yang diawali dengan versi 1.0 pada Januari 1997. Dalam pengembangan berorientasi objek ada beberapa prinsip yang harus dikenal:
  • Object
  • Class
  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism
Dalam UML sendiri terdapat beberapa diagram yang wajib dikuasai yaitu:

Structural Diagram

  • Class Diagram, diagram ini terdiri dari class, interface, association, dan collaboration. Diagram ini menggambarkan objek - objek yang ada di sistem.
  • Object Diagram, diagram ini menggambarkan hasil instansi dari class diagram. Diagram ini digunakan untuk membuat prototype
  • Component Diagram, diagram ini menggambarkan kumpulan komponen dan hubungan antar komponen. Komponen terdiri dari class, interface, atau collaboration
  • Deployment Diagram, diagram ini menggambarkan kumpulan node dan hubungan antar node. Node adalah entitas fisik dimana komponen di-deploy. Entitas fisik ini dapat berupa server atau perangkat keras lainnya.

Behavioral Diagram

  • Use case Diagram, diagram ini menggambarkan kumpulan use case, aktor, dan hubungan mereka. Use case adalah hubungan antara fungsionalitas sistem dengan aktor internal/eksternal dari sistem.
  • Sequence Diagram, diagram ini menggambarkan interaksi yang menjelaskan bagaimana pesan mengalir dari objek ke objek lainnya.
  • Collaboration Diagram, diagram ini merupakan bentuk lain dari sequence diagram. Diagram ini menggambarkan struktur organisasi dari sistem dengan pesan yang diterima dan dikirim.
  • Statechart Diagram, diagram ini menggambarkan bagaimana sistem dapat bereaksi terhadap suatu kejadian dari dalam atau luar. Kejadian (event) ini bertanggung jawab terhadap perubahan keadaan sistem.
  • Activity Diagram, menggambarkan aliran kontrol sistem. Diagram ini digunakan untuk melihat bagaimana sistem bekerja ketika dieksekusi.
UML umum digunakan di dunia kerja dan dunia pendidikan. Dunia kerja menggunakan UML untuk menggambarkan sistem dan aplikasi berbasis objek yang sudah ada sebelumnya atau merancang sistem dan aplikasi di awal pengembangan sebelum memasuki tahap coding. Beberapa posisi pekerjaan yang sering bersinggungan dengan UML antara lain system analyst, software architect, dan technical writer. System analyst selain perlu memiliki kemampuan coding, sudah tentu wajib menguasai UML, jika akan mengembangkan aplikasi atau sistem berbasis objek agar dapat menjadi acuan formal bagi para developer yang bekerja sama dengannya. Tidak hanya itu system analyst pun terkadang dituntut untuk menguasai pembuatan diagram lain seperti data flow diagram, flowchart, entity relationship diagram, dan lainnya. Sedangkan UML menjadi kemampuan wajib bagi seorang technical writer. Pekerjaan di posisi ini cukup banyak dibutuhkan oleh beberapa perusahaan yang kesulitan dalam membuat dokumentasi sistem atau aplikasi yang mereka kembangkan. Selain membuat user guide, technical writer diperlukan untuk membangun keseluruhan dokumentasi dalam UML dari aplikasi atau sistem, sehingga keberadaannya dapat menambah nilai aplikasi menjadi lebih tinggi.
UML pun digunakan sebagai alat dalam beberapa mata kuliah di perguruan tinggi yang membuka jurusan ilmu komputer, teknik informatika, sistem informasi, manajemen informatika, dan komputerisasi akuntansi. Mata kuliah yang biasa diberikan bernama Metodologi Berorientasi Objek dan Pemrograman Berorientasi Objek. Bahasa pemrograman yang digunakan umumnya Java, C#, dan PHP, kemudian mahasiswa akan mempelajari juga bagaimana merancang sebuah sistem atau aplikasi menggunakan UML terhadap suatu kasus dan membuat aplikasinya ketika memasuki tahap coding. Tidak hanya sebatas kuliah, beberapa perguruan tinggi yang mempunyai jurusan informatika, kadang mewajibkan penggunaan UML untuk digunakan sebagai alat bantu di skripsi, tesis, dan disertasi. Karena tidak semua akademisi dapat membaca semua kode program yang datang dari berbagai bahasa pemrograman, maka UML menjadi sarana untuk memahami aplikasi dan sistem yang dikembangkan akademisi lainnya.
Berikut ini adalah beberapa alat yang membantu kita untuk menggunakan UML disebut dengan CASE (computer aided software engineering). Ada beberapa CASE yang umum digunakan oleh para profesional yang menggunakan UML, diantaranya:
  • Sybase Power Designer
  • Rational Rose
  • Microsoft Visio
  • Enterprise Architect
Ada juga beberapa CASE yang open source dan dapat digunakan secara bebas tanpa terbentur dengan masalah pembayaran lisensi seperti berikut:
  • StarUML
  • DIA Diagram Editor
  • Umbrello
  • ArgoUML
  • Software Ideas Modeller
  • Eclipse UML2
Beberapa alat yang berbayar mempunyai kemampuan untuk melakukan forward engineering dan reverse engineering. Forward engineering adalah sebuah fitur dari suatu CASE dimana UML yang telah dirancang dapat menghasilkan kode program yang akan menjadi pijakan dan panduan untuk mengawali pengembangan aplikasi. Sehingga koherensi antara aplikasi dan UML dapat terjaga. Reverse engineering adalah fitur dimana suatu CASE dapat membaca kode program dan menghasilkan UML dari kode program yang telah ada atau sedang dibuat.
(rfs/tutorialspoint)

-Sekian semoga bermanfaat.

Tidak ada komentar:

Posting Komentar