Jelaskan Prinsip dasar dari Pemodelan perangkat lunak

Jelaskan Prinsip dasar dari Pemodelan perangkat lunak

Assalamualaikum warahmatullahi wabarkaatuh, Alhamdulillah segala puji bagi Allah ta'ala yang telah melimpahkan rahmat dan rezekinya sehingga admin dapat kembali hadir memberikan artikel-artikel yang InsyaAllah bermanfaat.Kali ini admin ingin menulis prinsip-prinsip perangkat lunak yang ada pada pelajaran RPL (rekayas perangkat lunak).

Definisi Kebutuhan perangkat lunak

Pada dasarnya kebutuhan perangkat lunak adalah hal penting yang harus diperhatikan oleh pengembang. Karena, kebutuhan perangkat lunak inilah yang menjadi pokok utama permasalahan perangkat lunak yang akan dibangun. kebutuhan perangkat lunak pada dasarnya adalah kombinasi-kombinasi kebutuhan berbagai macam orang di suatu organisasi di mana perangkat lunak akan dioperasikan.

Kebutuhan perangkat lunak meliputi :

Elisitasi 

tahap elisitasi adalah tahap awal untuk memahami apa saja kebutuhan yang harus dipecahkan oleh perangkat lunak. Dengan fokus mecari asal-usul kebutuhan perangkat lunak. Salah satu prinsip dasar pada tahap ini adalah komunikasi yang efektif anatara berbagai stakeholder untuk merumuskan kebutuhan apa saja yang perlu dikembangkan dari sebuah perangkat lunak.
  1. Sumber kebutuhan, kebutuhan perangkat lunak muncul dari berbagai sumber diantaranya adalah :
    1. Tujuan, tujuan bisa memberikan motivasi terhadap perangkat lunak yang akan dibangun karena tujuan biasanya menyebutkan apa yang ingin diraih oleh sebuah organisasi/perusahaan tersbut. Meskipun begitu, tujuan masih samar dan perlu penjelasan-penjelasan yang lebih detail lainnya dari beragai stakeholder
    2. Pengetahuan akan domain (area), sudah menjadi kerahurasan bagi pengembang untuk mengetahui area dan batasan-batasan yang perlu diperhatikan oleh seorang programmer dalam mengembangkan suatu perangkat lunak
    3. Pihak yang berkepentingan (stakeholder), stakeholder adalah orang yang paling banyak memiliki informasi tentang kebutuhan suatu perangkat lunak. Jika kita mampu mendengarkan dan menanggapi kebutuhan mereka, maka aplikasi yang akan dibangun akan sesuai dengan kebutuhan mereka. Terkadang banyak aplikasi yang dibangun tapi hanya condong ke pihak-pihak lain, sehingga beberapa pihak yang memiliki kepentingan di dalamnya merasa dirugikan padahal pihak yang dirugikan tersebut termasuk ke dalam stakeholder dan wajib diperhatikan.
    4. lingkungan operasional, kebutuhan akan dibangun dimana perangkat lunak tersebut akan dijalankan. Apakah di lapangan ? atau di kantor atau di lingkungan-lingkungan lainnnya
    5. lingkungan organisasional, suatu perangkat lunak biasanya dibuat untuk menunjang bisnis, maka perlu diperhatikan kebutuhan-kebutuhan apa saja yang wajib dipenuhi oleh perangkat lunak bagi lingkungan oragniasi. Yang perlu diperhatikan adalah struktur , budaya, dan politik yang terdapat pada organisasi tersebut.
  2. Teknik Elisitasi, setelah kita tahu dari mana saja kebutuhan itu diperoleh, maka kita juga perlu tahu bagaimana informasi itu dapat disampaikan secara akurat. Karena dan sering kali, para pelanggan tidak dapat menggambarkan atau mendeskripsikan kebutuhan apa yang perlu ditangani oleh sebuah perangkat lunak. Maka perlu teknik-teknik pengumpulan data yang baik sehingga kebutuhan yang dikatakan dari pengguna dapata dikonversikan dengan benar
    • wawancara
    • Sekenario, sekenario semacam tahapan-tahapan dengan mengajukan beberapa pertanyaan seperti bagaimana jika, atau bagaimana ini dikerjakan, dsb
    • prototipe
    • pertemuan terfasilitasi
    • observasi

Analisis

Setelah kita berhasil mendapatkan data-data tentang kebutuhan perangkat lunak yang akan dibangun, saatnya kita menganalisa kebutuhan tersebut. Di dalam tahap ini terdapat beberapa hal yang perlu diuraikan. data yang kita dapatkan dari tahap analisis kita klasifikasikan kembali menjadi 
  • Kebutuhan fungsional dan non-fungsional
  • Kebutuhan emergent property
  • Kebutuhan produk dan proses
  • Prioritas
  • Cakupan perangkat lunak
  • Stabilitas
Spesifikasi dan validasi kebutuhan perangkat lunak

  1. Menyiapkan 3 dokumen yang perlu dibuat
    • Dokumen definisi sistem
    • Spesifikasi kebuthan sistem
    • Spesifikasi kebutuhan perangkat lunak
  2. Validasi kebutuhan, 3 dokumen yang telah kita siapkan selanjutnya divalidasi. pada tahap validasi ini apakah kebutuhan-kebutuhan yang telah ditentukan telah disesuaikan dengan kebutuhan standard suatu perusahaan, mudah dipahami, konsisten, dan lengkap
    • review kebutuhan
    • prototyping
    • Validasi model
    • Uji kelayakan

Menajemen kebutuhan selama siklus hidup perangkat lunak

Pada tahap ini organisasi perlu mendokumentasikan dan mengatur kebutuhan-kebutuhan perangkat lunak. 

  1. Pertumbuhan kebutuhan, Kebanyakan proyek didesak oleh lingkungannya, dan banyak perubahan, atau revisi, dari software yang ada. Sehingga, selalu tidak bisa melakukan implementasi kebutuhan proses secaralinear. Hampir tidak pernah ada kebutuhan perangkat lunak dalam skala besar yang dipahami dan dispesifikasi dengan sempurna.
  2. manajemen perubahan, Manajemen prubahan adalah pusat untuk mengatur kebutuhan perangkat lunak. Topik ini menggambarkan peran dari manajemen perubahan, prosedur yang diperlukan, dan analisa yang seharusnya digunakan untuk usulan pengubahan
  3. Atribut kebutuhan, Kebutuhan perangkat lunak sebaiknya tidak hanya terdiri dari perincian dari apa yang dibutuhkan, tapi juga dari informasi tambahan yang membantu mengatur dan menafsirkan kebutuhan tersebut. Mungkin juga memasukkan informasi tambahan seperti kesimpulan serta sumber daya dari masing-masing kebutuhan, dan perubahan sejarah. Atribut kebutuhan yang paling penting adalah sebuah pengenal yang membuat kebutuhan tersebut unik dan jelas.
  4. Penelusuran kebutuhan, Penelusuran kebutuhan fokus pada menelusuri sumber kebutuhan dan memprediksi efek dari kebutuhan tersebut. Prinsip dari penelusuran kebutuhan yaitu melakukan analisis dampak bila dilakukan perubahan. Kebutuhan perangkat lunak harus mampu telusur ke belakang dan siapa stakeholder yang mengajukannya.  Kebutuhan perangkat lunak harus mampu telusur ke depan yaitu kesesuaiannya dengan desain.

Perangkat lunak merupakan program komputer yang berfungsi menghubungkan antara pengguna dan komputer yang digunakan. Dapat dibilang perangkat lunak merupakan sebagai media penerjemah perintah yang diberikan oleh pengguna kepada komputer untuk selanjutnya diproses melalui perangkat keras komputer tersebut. Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras yang biasa disebut sebagai device driver, melakukan proses penghitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya, seperti sistem operasi dan bahasa pemrograman.

Secara umum ada tiga jenis perangkat lunak yang diketahui hingga saat ini yaitu sistem operasi yang merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Kedua yaitu perangkat lunak bahasa pemrograman seperti java. Dan yang ketiga yaitu perangkat lunak aplikasi yang merupakan perangkat yang digunakan untuk membantu dan memudahkan pekerjaan seseorang misalnya saja Microsoft Excel, Word, dan Power Point.

Rekayasa atau teknik merupakan penerapan ilmu dan teknologi untuk menyelesaikan permasalahan manusia. Hal ni diselesaikan lewat pengetahuan, matematika, dan pengalaman praktis yang diterapkan untuk mendesain objek atau proses yang berguna. Para praktisi teknik professional disebut perekayasa.

Rekayasa perangkat lunak atau Software engineering dalam bahasa inggris merupakan bidang ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti  cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen kualitas perangkat lunak.

Rekayasa perangkat lunak juga merupakan disiplin rekayasa dengan perangkat lunak yang dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien, menyusunnya didalam daftar kebutuhan, merangcang arsitektur yang mampu mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan pengintegrasian bagian yang terpisah, menguju keseluruhan, penyebaran, dan pemeliharaan perangkat lunak.

Komponen Perangkat Lunak

Merupakan komponen utama perangkat lunak system. Sistem Operasi (disebut juga platform software) terdiri dari program utama dan program low-level yang mengatur operasi dasar komputer. Memungkinkan perangkat lunak aplikasi untuk berinteraksi dengan komputer dan Membantu komputer untuk mengelola sumber daya baik itu internal maupun eksternal. Secara khusus, sistem operasi menangani control dan penggunaan sumber daya perangkat keras, termasuk ruang disk, memori, alokasi CPU time, dan perangkat peripheral.

Membantu komputer mengontrol perangkat peripheral. Driver artinya adalah pemacu yang maksudnya adalah dengan dipasangnya suatu device ke komputer sementara operating sistem kita atau komputer tidak mengenalinya maka driver tadi yang akan memperkenalkan bahwa device yang dipasang itu adalah benar adanya dan bisa digunakan karena Device Driver adalah program komputer yang mengawal jenis-jenis peranti yang dipasangkan (install) pada komputer. Program ini adalah spesifik untuk peranti yang tertentu saja dan tidak boleh digunakan pada peranti yang lain , contoh: mesin pencetak (printer) memerlukan driver untuk berfungsi

Adalah sebuah program yang digunakan untuk Meningkatkan kapabilitas program komputer yang telah ada pada computer. Perangkat lunak utilitas merupakan perangkat lunak komputer yang didisain untuk membantu proses analisis, konfigurasi, optimasi, dan membantu pengelolaan sebuah komputer ataupun sistem. Perangkat lunak utilitas harus dibedakan dengan perangkat lunak aplikasi yang memungkinkan pengguna melakukan berbagai hal dengan komputer seperti mengetik, melakukan permainan, merancang gambar, dan lain-lain. Perangkat lunak utilitas lebih memfokuskan penggunaannya pada pengoptimasian fungsi dari infrastruktur yang terdapat dalam sebuah komputer. Karena fungsinya, perangkat lunak utilitas umumnya tidak ditujukan untuk pengguna secara umum, melainkan ditujukan untuk pengguna yang memiliki pemahaman atas cara kerja sistem komputer yang cukup baik.

Kebanyakan perangkat keras utilitas ini dibuat secara khusus untuk melakukan fungsi tertentu pada suatu area komputasi secara spesifik, seperti memformat harddisk, atau melakukan pengecekan konektifitas jaringan. Namun dalam perkembangannya sejumlah perangkat lunak utilitas terkadang pula dipaketkan dalam satu paket utilitas yang ditujukan untuk beragam kebutuhan.

Karakteristik Perangkat Lunak

Karakteristik Proses Perangkat Lunak terdiri dari:

  1. Understandability, membuat proses secara eksplisit didefinisikan dan bagaimana sehingga mudah untuk mengerti definisi proses

  2. Visibility, Aktifitas proses menghasilkan hasil yang jelas sehingga tahapan proses yang dilakukan terlihat

  3. Supportability, Aktifitas Proses dapat didukung atas CASE tools

  4. Acceptability, Penerimaan atas proses yang terdefinisi dan yang digunakan oleh Engineer selama pembangunan Produk Perangkat Lunak.

  5. Reliability, Proses didesain dalam suatu metode untuk dihindarkan dari kesalahan

  6. Robustness, Proses dapat meneruskan dalam masalah yang tidak diharapkan terjadi

  7. Maintainability, Proses yang merefleksi atas perubahan terhadap permintaan atau perbaikan proses yang diidentifikasi

  8. Rapidity, bagaimana cepat dapat berjalan atas proses pengiriman atau implementasi sebuah sistem dari Spesifikasi yang ada sampai selesai

Dalam Buku Software Engineering Ian Sommerville, Perangkat Lunak mempunyai Karakteristik sebagai berikut:

  1. Maintanability (Dapat Dirawat), Perangkat Lunak harus dapat memenuhi perubahan kebutuhan
  2. Dependability, Perangkat Lunak harus dapat dipercaya
  3. Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource
  4. Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang direncanakan

Prinsip dan Desain

Masing-masing metode analisis memiliki titik pandang yang unik. Tetapi semua metode analisis dihubungkan oleh serangkaian prinsip operasional:

  1. Domain informasi dari suatu masalah harus direpresentasikan dan dipahami.

  2. Fungsi-fungsi yang akan dilakukan oleh perangkat lunak harus didefinisikan.

  3. Tingkah laku perangkat lunak (sebagai suatu urutan kejadian eksternal) harus diwakilkan.

  4. Model-model yang menggambarkan informasi, fungsi, dan tingkah laku harus dipecah-pecah dalam suatu cara yang membongkar suatu detail dalam bentuk lapisan.

  5. Proses analisis harus bergerak dari informasi dasar ke detail implementasi.

Dengan mengaplikasikan prinsip-prinsip tersebut, analis mendekati suatu masalah secara sistematis. Domain informasi diuji sehingga fungsi itu dapat dipahami secara lebih lengkap. Model-model digunakan sehingga karakteristik fungsi dan tingkah laku dapat dikomunikasikan dengan cara yang rapi. Pembagian diterapkan untuk mengurangi keruwetan. Pandangan esensial dan implementasi dari perangkat lunak diperlukan untuk mengakomodasi batasan logis yang dibebankan oleh persyaratan pemrosesan dan batasan fisik yang dibebankan oleh elemen sistem yang lain. Perekayasa perangkat lunak yang mempercayai prinsip tersebut akan dapat lebih mengembangkan spesifikasi perangkat lunak yang kemudian akan menjadi dasar yang kuat bagi desain.

Model dalam perangkat lunak harus dapat memodelkan informasi yang ditransformasikan oleh perangkat lunak, fungsi (dan subfungsi) yang memungkinkan transformasi terjadi, dan tingkah laku sistem pada saat transformasi terjadi.

Ragam Pemodelan Perangkat Lunak

Model proses perangkat lunak merupakan cara untuk memproses sebuah perangkat lunak dari nol menjadi sebuah perangkat lunak yang siap untuk digunakan. Berikut merupakan beberapa contoh model proses perangkat lunak yang biasa digunakan

  1. Model air terjun ini merupakan model klasik yang bersifat sistematis dalam membuat suatu perangkat lunak dan juga paling sering digunakan.

    Pada fase analisis fungsi, kemampuan operasi perangkat lunak yang akan dibuat harus diketahui terlebih dahulu. Kemudian apabila analisi telah selesai dilakukan maka didesainlah perangkat lunak yang akan dibuat. Setelah desain selesai lalu desain tersebut diterjemahkan kedalam kode-kode dengan bahasa pemrograman yang diinginkan, misalnya saja C++. Setelah kode selesai dibuat diadakanlah proses pengetesan terhadap perangkat lunak yang baru dibuat agar diketahui apakah perangkat yang dibuat bisa berjalan dengan benar atau tidak.

    Jelaskan Prinsip dasar dari Pemodelan perangkat lunak

  2. 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.

    Jelaskan Prinsip dasar dari Pemodelan perangkat lunak

  3. 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.

    Jelaskan Prinsip dasar dari Pemodelan perangkat lunak

  4. 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.

    Jelaskan Prinsip dasar dari Pemodelan perangkat lunak

  5. Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.

    Jelaskan Prinsip dasar dari Pemodelan perangkat lunak