Analisis dan Design PL

 Jelaskan dua metodologi analisis dan design 

SSAD

OOAD

hal lain yang dianggap perlu

kesimpulan

Analisis dan Design PL

Sebelum menelusuri lebih lanjut materi analisis dan design perangkat lunak, mari kita ulas kembali sedikit mengenai apa itu analisis kebutuhan (requirement analysis) dan software design 

Requirement analysis adalah sebuah proses untuk mengetahui hal apa yang diperlukan pengguna software, agar dapat mengetahui kebutuhan dari Software system.

Software design adalah hal - hal perihal akan bagaimana sebuah software itu akan dibangun. Yakni berhubungan dengan rancangannya, bisa saja terdapat di dalam GUI, Diagram ER, CAD, atau di UML, ataupun dalam bentuk lainnya.



Analisis

requirement analysis merupakan salah satu dari aktivitas yang dilakukan dalam kegiatan software requirement engineering, yang berfungsi untuk mengetahui permasalahan yang sedang terjadi, dan solusi dengan sistem yang nantinya dibuat.



Perhatikan grafik it atas, analysis model yang dimaksud yakni merupakan representasi dari kebutuhan, yang disuguhkan dalam bentuk diagram dan teks, yang menggambarkan kebutuhan dari data, fungsi, dan perilaku sistem, agar dapat dengan mudah untuk dicek kebenarannya, kelengkapan, konsistensi, dan mudah dipahami.



Metodologi Analysis and Design PL

Metodologi  merupakan sebuah cara terstruktur, yang digunakan untuk melakukan design dan analysis. Dengan menggunakan metodologi, akan memberi kemudahan bagi kelompok pengembang, untuk melakukan perencanaan dan pengembangan sistem, selain itu juga membantu untuk menghilangkan perbedaan dari notasi pada hal yang serupa.

Terdapat dua metodologi dari analysis and design untuk perangkat lunak, yakni :


Structured Analysis and Design (SSAD)

Pengenalan 

  • Di tahun 1970, Metode ini lahir, yang berasal dari metode pemrogramman terstruktur. 
  • Cara dari metode ini adalah dengan terus menerus memperbaiki perangkat lunak, agar akhirnya lahir produk akhir yang dapat digunakan.
  • Cara ini merupakan cara formal dalam memecahkan masalah di dalam kegiatan bisnis, dengan cara membagi masalah tersebut ke dalam bagian kecil, yang kemudian dapat diatur maupun dihubungkan, yang kemudian akan kembali disatukan menjadi sebuah kesatuan yang dapat digunakan dalam memecahkan masalah.
  • Perancangan secara terstruktur ini adalah berupa kegiatan mengubah hasil dari analisis menjadi sebuah rencana yang kemudian dapat dilaksanakan 
  • Di dalam pendekatan terstruktur ini, terdapat alat serta teknik yang penting dalam melakukan pengembangan sistem agar pada hasil akhir yang berupa sistem yang telah dikembangkan, sistem tersebut memiliki struktur yang secara jelas dan baik didefinisikan.
  • Dengan menggunakan pendekatan terstruktur ini segala masalah kompleks yang terdapat di dalam organisasi dapat diselesaikan dan hasil akhir yakni sistemnya dapat dengan mudah dipelihara, bersifat fleksibel, dan memuaskan keinginan dari pemakainya, dokumentasinya jelas, hasilnya tepat waktu, tidak melebihi anggaran pengembangan yang diberikan, kualitasnya baik( tidak banyak atau bahkan tidak ada kesalahan), dan dapat meningkatkan produktifitas dari penggunanya. 

Pendekatan Pada SSAD

Terdapat dua pendekatan pada SSAD yakni :


    1.Pendekatan Berorientasi Proses

    Pendekatan ini dilakukan dengan memeriksa proses,input serta output untuk sistem.
Pendekatan ini bekerja dengan sangat baik apabila professional sistem tahu dengan lebih lanjut mengenai proses, input serta output yang dihasilkan oleh sistem

    2.Pendekatan Berorientasi Data

    Pada pendekatan ini, hal yang dilakukan berupa memeriksa keputusan dari sistem, yang kemudian akan dikerjakan dari belakang guna untuk mengidentifikasi dari data yang dibutuhkan dalam mendukung keputusan itu. Pendekatan berorientasi data ini digunakan apabila proses sistem, seperti output atau input, masih belum ditentukan. Untuk kasus ini, profesional sistem mesti berusaha bersama dengan user, dalam menetukan bagaimana hasil sistem nantinya. Berfokus pada menetukan dari data, untuk keputusan yang berbasis dari data.

Karakteristik Sturctured Analysis Design (SSAD)

  1. Perancangan berdasarkan modul. Modularisasi yakni adalah proses membagi sebuah sistem menjadi modul - modul, masing - masing dari modul tersebut kemudian dapat beroperasi secara sendiri - sendiri.
  2. Bekerja menggunakan pendekatan top-down. Artinya pengerjaan diawali dengan level atas (secara global), lalu kemudian dikaji hingga level modul (rinci).
  3. Dilakukan dengan model iterasi, dengan model ini, maka akan didiapat hasil akhir yang lebih baik juga maka akan terjadi penurunan dari hasil, dan juga menunjukkan bahwa tahapan yang dilakukan sebelumnya belum dilakukan secara baik
  4. Kegiatan dilakukan dengan paralel. Pengembangan subsistem dilakukan dengan paralel, yang menyebabkan waktu dari pengembangan sistem menjadi lebih pendek.

Kelebihan SSAD

  1. Hasil dan pencapaian dalam pengembangannya dapat dilihat dengan jelas, sehingga membuat lebih mudah dalam memanajemen proyek
  2. SSAD adalah pendekatan secara visual, sehingga metode ini lebih mudah dipahami oleh pengguna, dan programmer
  3. Menggunakan analisis grafis serta alat misalnya DFD, membuat SSAD menjadi metode yang bagus dalam Analisis dan design software.
  4. SSAD adalah metode yang telah diketahui dengan luas pada banyak industri 
  5. Penerapan SSAD telah dilakukan sejak lama, sehingga metode ini telah dikembangkan dengan sangat baik, meningkatka keefisiensian nya dalam analisis dan design software.
  6. SSAD membuat agar validasi dari berbagai kebutuhan bisa dilakukan
  7. SSAD tergolong simpel dan dapat dengan mudah dipahami.

Kekurangan SSAD 

  1. SSAD berorientasi dengan fokus pada proses, sehingga kebutuhan yang non - fungsional diabaikan.
  2. Perinsip dasar dari SSAD adalah pengembangan non-iterative atau waterfall, tetapi pada setiap proses, akan terjadi perubahan kebutuhan
  3. Interaksi dari analisis dan pengguna cendrung tidak komprehensif, dikarenakan sistem yang ingin dihasilkan telah didefinisikan sejak awal. menyebabkan SSAD ini tidak dapat beradaptasi terhadap perubahan (kebutuhan baru).
  4. Selain dari penggunaan desain logic ataupun DFD, tidak cukup banyak alat lain yang digunakan untuk berkomunikasi dengan pengguna. menjadikan cara ini sangat sulit untuk pengguna dalam melakukan evaluasi
  5. Di SSAD, sangat sulit untuk ketika ingin memutuskan kapan harus berhenti melakukan dekomposisi, dan bergerak ke pembuatan sistem baru. 
  6. Tidak selalu SSAD dapat memenuhi kebutuhan dari pengguna.
  7. Metode SSAD ini tidak dapat digunakan dalam penggunaan bahasa pemrogramman dengan orientasi pada objek, dikarenakan SSAD ini memang diciptakan khusus untuk bahasa pemrogramman yang terstruktur., bukan orientasi objek

Tools SSAD

  1. Kamus Data Entity
  2. ERD (Relationship Diagram)
  3. State Transition Diagram (STD)
  4. Data flow diagram (DFD)

Object Oriented Analysis and Design 

Pengenalan 

OOAD merupakan metodologi perancangan sistem dengan orientasi pada objek. Metodologi ini bersifat masih baru. Permasalahan dari sistem yang diperhatikan termasuk dari sistem software, informasi, ataupun sistem lain. Pendekatan  ini dilakukan dengan memandang sebagai kumpulan objek - objek dunia nyata, sistem yang ingin dibangun. 

Konsep Dasar OOAD 

  • Pendekatan dengan orientasi pada objek ini adalah sebuah teknik atau cara yakni dengan pendekatan melihat masalah dan sistem.
  • Pendekatan dengan orientasi pada objek ini merupakan adalah paradigma dari pemrogramman, yang memiliki orientasi dengan objek yang berada di dunia nyata 
  • Semua hal berupa data berserta fungsi yang berada di dalam peradigma, berada pada kelas atau objek 
  • Dibandingkan dengan logika pada pendekatan terstruktur sebelumnya. Objek yang ada dapat menerima inputan, memproses inputan yang berupa data tersebut. dan juga mengirim pesan kepada objek lain.
  • Pembuatan OOAD ini, datang dari trend yang terjadi bagi programmer yang menggunakan bahasa pemrogramman yang beriorientasi objek, agar mereka dapat dengan mudah melakukan analysis and design juga, dengan bahas pemrogramman orientasi objek

Tren OOAD 

  • Metode OOAD. dilakuakan dengan melihat dari sudut pandang objek, apa masalah yang ada, tidak melalui sudut pandang fungsional, seperti yang terdapat di dalam pemrogramman terstruktur.
  • Dalam waktu dekat ini, Penggunaan dari OOAD lebih tinggi dibandingkan penggunaan cara pengembangan software (metodologi) tradisional.
  • Tren OOAD ini datang sebagai sebuah metodologi baru, untuk bahasa pemrogramman dengan orientasi objek, dikarenakan pengingkatan kebutuhan akan pendekatan ini dalam aplikasi bisnis.  

Kapan dan dimana penggunaan OOAD

  • Ketika PL yang akan dibangun memiliki tingkat yang cukup rumit
  • Apabila PL yang dibangun diperkirakan untuk terus tumbuh menjadi lebih kompleks di masa mendatang
  • Apabila perangkat lunak yang dibangun ingin  :
    • Didasarkan dari komponen yang sebelumnya telah pernah ada (daur ulang)
    • Dapat kembali digunakan di masa kedepan (reusable) bahkan mungkin kapanpun, di manapun.
Perinsip dari OOAD 

  • Mengabstraksikan dan juga memodelkan objek - objek, yakni abstraksi sistem, objek, kelas hingga hubungan antar kelas.
  • Dalam kegiatan mengabstraksikan serta memodelkan objek, segala data serta proses yang dimiliki objek, dibungkus dalam satu kesatuan
  • Pendekatan ini dapat digunakan di dalam rekayasa perangkat lunak, yakni tahapan perancangan, pengujian, pemrogramman, dan analisis PL.
  • Terdapat beberapa teknik yang bisa digunakan dalam setiap tahapan RPL di atas, menggunakan alat bantu beserta aturan pemodelan tertentu 


Kelebihan OOAD

  • Lebih mudah digunakan dibandingkan dengan SSAD
  • Waktu Pengembangan, kemampuan penggunaan kembali kode program, ketangguhan, dan level dari organisasi yang lebih tinggi dibanding dengan SSAD
  • Pemisahan antara fase desain juga analisis tidak ada, sehingga komunikasi antara user dengan developer lebih tinggi dalam proses pembuatan sistem
  • Programer dan juga analis tidak memiliki batasan implementasi dari sistem, sehingga desain yang dihasilkan, dapat diterima, dengan lingkungan eksekusi yang bervariasi 
  • Relasi antara objek dan entitas, biasanya dapat dipetakan secara baik layaknya keadaan yang ada di dunia nyata yang ada, dan keterkaitan yang ada di dalam sistem. Sehingga memudahkan untuk memahami desain.
  • Dapat beradaptasi dengan perubahan, dan juga memberi kepercayaan diri dalam kegiatan melaksanakan pembangunan perangkat lunak, sehingga terjadinya penurunan resiko dalam pembangunan sistem kompleks
  • Karena method beserta data yang dienkapsulasikan, memungkinkan atas penggunaan kembali komponen ini pada proyek lainnya, sehingga akan terjadi keringanan bagi proses desain, kegiatan pemrogramman, beserta pengurangan biaya.
  • Metodologi ini memungkinkan terjadinya standarisasi objek, yang dapat memudahkan untuk memahami desain serta mengurangi dari resiko proses pelaksanaan proyek 
  • Memungkinkan bagi analis untuk memecahkan masalah ke dalam pecahan masalah, serta bagian yang akan dimanage dengan terpisah, dikarenakan dekomposisi objek. Metode ini menyebabkan pembangunan software secara cepat menjadi mungkin, sehingga dapat cepat masuk ke dalam pasar dan kompetitif. Hasil berupa sistem yang dihasilkan juga bersifat sangat fleksibel, juga mudah untuk dipelihara.     

Kekurangan OOAD 

  • Desain awal dari OOAD, mungkin akan terlalu simple.
  • OOAD lebih berfokus kepada kegiatan coding dibanding SSAD 
  • Dalam metode OOAD, kinerja tim tidak ditekankan dibanding dengan SSAD
  • Tidak mudah dalam menggunakan metodologi OOAD, untuk mendefinisikan objek beserta kelas yang dibutuhkan oleh sistem
  • Pemrograman dengan orientasi pada objek, sering kali digunakan untuk kegiatan analisis fungsional sistem, tetapi OOAD tidak berbasis kepada fungsional sistem.
  • Sifatnya yang masih tergolong baru sejak kelahirannya, menyebabkannya berbeda darii metode analisis dan metode terstruktur. Sehingga berakibat banyak developer kesulitan berpindah ke OOAD karena sudah terbiasa dalam menggunakan SSAD
  • Metodologi dari OOAD memiliki prinsip reuse, yang menjadi salah satu keuntungan dari penggunaan OOAD, tetapi apabila tidak terdapat prosedur yang emplisit akan reuse, maka sangat sulit dalam penerapan konsep ini di skala yang besar

Tools OOAD 

  • Fusion (Oleh coleman 1994)
  • RUP (Rational Unified Process) (oleh IBM 2003,Rational software)
  • ADM3 (STS Development method 3) (oleh firesmith 1993)
  • Booch's OOD (oleh Booch, tahun 1983, dan 1991)   
  • Berard's OOD (oleh Berard tahun 1991)
  • Coad dan yourdon's OOA (oleh coad dan yourdon tahun 1991)
  • Coad dan yourdon's OOA (oleh coad dan yourdon tahun 1989)
  • Rumbaugh's OMT (object modeling technique) (oleh Rumbaugh et al. tahun 1991)
  • Jacobson's Objectory (oleh Jacobson dan Linstrom 1992)
  • OOA (oleh shalaer dan Mellor tahun 1998) 





  
























































Comments

Popular posts from this blog

Siklus Pengembangan Perangkat Lunak atau Software Development Life Cycle (SDLC)

REKAYASA KEBUTUHAN

Mengenai Perangkat Lunak