• Tidak ada hasil yang ditemukan

Dasar-Dasar Rekayasa Perangkat Lunak

N/A
N/A
Protected

Academic year: 2023

Membagikan "Dasar-Dasar Rekayasa Perangkat Lunak"

Copied!
127
0
0

Teks penuh

PENGENALAN REKAYASA PERANGKAT LUNAK

Definisi Perangkat Lunak

Definisi Klasik (1969)

Definisi IEEE (1993)

Untuk memahami perangkat lunak dengan jelas, kita perlu mengetahui beberapa fitur perangkat lunak. Artinya perangkat lunak tersebut tidak diproduksi secara masal, karena pembuatan perangkat lunak memerlukan desain yang baik.

Jenis-jenis Perangkat Lunak

Program digunakan untuk menerjemahkan instruksi yang ditulis dalam bahasa pemrograman ke dalam bahasa mesin agar dapat dipahami oleh komputer. Perangkat lunak ini berada dalam memori read-only dan digunakan untuk mengontrol produk dan sistem yang akan didistribusikan di pasar konsumen dan industri.

Mitos Perangkat Lunak

MODEL-MODEL PROSES DALAM REKAYASA PERANGKAT

Definisi Rekayasa Perangkat Lunak

Pengembangan dan penggunaan prinsip-prinsip teknik untuk memperoleh perangkat lunak ekonomi yang dapat diandalkan dan berjalan secara efisien pada komputer nyata (Fritz Bauer). Penerapan pendekatan sistematis, disiplin, terukur terhadap pengembangan, pengoperasian, pemeliharaan perangkat lunak, yaitu rekayasa aplikasi hingga perangkat lunak.

Definisi Proses Perangkat Lunak

Untuk perangkat lunak kecil yang diminta oleh satu orang, kumpulan tugasnya adalah. Setiap aktivitas rekayasa perangkat lunak akan mempunyai banyak tugas kerja dan produk kerja yang beragam.

Gambar 4. Alur Proses Evolutionare
Gambar 4. Alur Proses Evolutionare

Kumpulan Tugas (Task Set)

Selain itu, proses itu sendiri dapat dievaluasi untuk memastikan bahwa proses tersebut memenuhi serangkaian kriteria proses dasar yang telah terbukti sangat penting bagi keberhasilan rekayasa perangkat lunak. Berdasarkan Penilaian Peningkatan Proses Internal (CBA lPl), ini memberikan teknik diagnostik untuk menilai kematangan relatif perangkat lunak organisasi; menggunakan SEI CMM sebagai dasar evaluasi.

Penentuan Model Proses

PLANNING (PERENCANAAN)

Definisi Perencanaan (Planning)

Tujuan proyek juga mempengaruhi proses perencanaan, yang meliputi: Apa yang kita inginkan dari proyek?, Tolok ukur. Ruang lingkup proyek, dalam hal ini apa yang termasuk dan apa yang tidak termasuk dalam ruang lingkup, harus jelas untuk menghindari kesalahpahaman.

Gambar 11. Mind Map Perencanaan Proyek
Gambar 11. Mind Map Perencanaan Proyek

Perencanaan Proyek Perangkat Lunak

Tugas kedua dari perencanaan perangkat lunak adalah memperkirakan sumber daya yang dibutuhkan untuk menyelesaikan upaya pengembangan perangkat lunak. Jumlah orang yang dibutuhkan untuk suatu proyek perangkat lunak dapat ditentukan setelah memperkirakan upaya pengembangan (misalnya orang-bulan). Komponen pengalaman penuh: dikembangkan pada proyek sebelumnya yang serupa dengan perangkat lunak yang akan dibangun.

Komponen Baru: Komponen perangkat lunak yang perlu dibuat oleh tim Perangkat Lunak sesuai dengan kebutuhan proyek saat ini.

Model estimasi Biaya dalam perencanaan proyek

KEBUTUHAN PERANGKAT LUNAK

Kebutuhan (Requirement)

Ini adalah kondisi, kriteria, persyaratan atau kemampuan yang harus dimiliki perangkat lunak untuk memenuhi kebutuhan atau keinginan pengguna. Disebut juga persyaratan operasional, yaitu persyaratan mengenai fungsi atau proses transformasi yang harus dapat dilakukan oleh perangkat lunak. Kebutuhan akan antarmuka yang menghubungkan perangkat lunak dengan perangkat keras, perangkat lunak, atau elemen basis data.

Proses mendefinisikan fungsi dan kinerja perangkat lunak, mengidentifikasi antarmuka perangkat lunak dengan elemen sistem lainnya, dan menentukan batasan yang dihadapi perangkat lunak [PRE01].

Prinsip-prinsip Pemodelan Kebutuhan

Memahami permasalahan secara keseluruhan (overarching) yang ada pada perangkat lunak yang akan dikembangkan, seperti ruang lingkup produk perangkat lunak (product space) dan pengguna yang akan menggunakannya. Kemudian seluruh persyaratan yang telah ditetapkan didokumentasikan yaitu Spesifikasi Kebutuhan Perangkat Lunak (SKPL) atau Spesifikasi Kebutuhan Perangkat Lunak (SRS). Metode atau teknik dalam melakukan analisis kebutuhan perangkat lunak dapat dikelompokkan berdasarkan pendekatan yang dilakukan ketika melakukan kegiatan ini.

Berbeda dengan pendekatan-pendekatan sebelumnya, pendekatan berorientasi objek memandang sistem yang akan dikembangkan sebagai kumpulan objek-objek yang bersesuaian dengan objek-objek dunia nyata.

Spesifikasi Kebutuhan Perangkat Lunak/Software

PEMODELAN PERANGKAT LUNAK TERSTRUR

Data Flow Diagram

Pemodelan perangkat lunak terstruktur merupakan perancangan sistem yang berorientasi pada aliran data dengan konsep dekomposisi. Pendekatan terstruktur dilengkapi dengan alat dan teknik yang diperlukan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan adalah sistem yang strukturnya terdefinisi dengan baik dan jelas. Dengan kata lain DFD merupakan alat pemodelan yang hanya menekankan fungsi sistem.

DFD ini merupakan alat perancangan sistem yang berorientasi pada aliran data dengan konsep dekomposisi yang dapat digunakan untuk menggambarkan analisis dan perancangan sistem, mudah dikomunikasikan oleh pakar sistem kepada pengguna dan pemrogram.

Komponen/Elemen Data Flow Diagram

  • Komponen/Elemen Terminator/Eksternal
  • Komponen/Elemen Proses
  • Komponen/Elemen Data Store
  • Komponen/Elemen Data Flow/Alur Data

Penyimpanan data dikaitkan dengan aliran data hanya dalam komponen proses, bukan komponen DFD. Dengan kata lain, proses aliran data bertanggung jawab atas perubahan yang terjadi pada penyimpanan data. Aliran data digambarkan dengan panah yang menunjukkan arah ke dan dari suatu proses.

Aliran data ini digunakan untuk menjelaskan perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian sistem lainnya.

Gambar 12. Jenis Terminator.
Gambar 12. Jenis Terminator.

Bentuk Data Flow Diagram

Diagram Alur Data Fisik (DADF)

Nama aliran data harus berisi informasi yang cukup rinci untuk menunjukkan bagaimana pengguna sistem memahami pengoperasian sistem. Proses harus menampilkan nama prosesor, yaitu orang, departemen, sistem komputer, atau nama program komputer yang mengakses proses tersebut.

Diagram Alur Data Logika (DADL)

Syarat-syarat Membuat Data Flow Diagram

  • Pemberian Nama untuk Tiap Komponen DFD
  • Pemberian Nomor Pada Komponen Proses
  • Penggambaran DFD Sesering Mungkin
  • Hindari Penggambaran DFD yang Rumit
  • Penggambaran DFD secara Konsisten
  • Penggambaran DFD
  • PEMODELAN PERANGKAT LUNAK BERORIENTASI

Karena aliran data ini menunjukkan data dan informasi yang dibutuhkan dan dikeluarkan oleh sistem dalam menjalankan tugasnya. Persimpangan aliran data ini dapat dihindari dengan mendeskripsikan DFD secara bertahap (DFD leveling), atau dengan menggunakan duplikat untuk komponen DFD. Jadi dalam penyeimbangan DFD yang perlu diperhatikan adalah jumlah aliran data global pada satu level harus sama pada level berikutnya.

Menyeimbangkan DFD artinya keseimbangan antara aliran data yang masuk/keluar dari satu level harus sama dengan aliran data yang masuk/keluar pada level berikutnya (lihat gambar Levelisasi DFD).

Gambar 21. Contoh Pemberian Nomor Komponen Proses
Gambar 21. Contoh Pemberian Nomor Komponen Proses

UML (Unified Modeling Language)

Model merupakan penyederhanaan dari sistem yang sebenarnya sehingga rancangan suatu sistem dapat dipahami oleh pihak lain. Keuntungan pendekatan ini adalah model dapat digunakan untuk menghasilkan kode untuk berbagai lingkungan. Pendekatan yang akan digunakan tergantung pada jenis aplikasi dan metode dalam proses pengembangan perangkat lunak yang digunakan (misalnya: air terjun, interaksi, dll).

Seperti disebutkan, metode yang digunakan dalam proses pengembangan perangkat lunak juga mempengaruhi pendekatan yang akan digunakan dalam UML.

Iconix Process

ICONIX Process merekomendasikan pembuatan User Interface Design atau GUI Story Board untuk membantu memfasilitasi pemodelan Use Case. Langkah analisis ketahanan merupakan jembatan antara use case yang menggambarkan apa yang dapat dilakukan dengan perangkat lunak yang dibangun dan bagaimana desain dirancang untuk setiap skenario fungsi aplikasi. Pada langkah ini, pastikan bahwa desain ketahanan dan diagram urutan menunjukkan objek baru atau objek yang hilang.

Diagram kelas mempunyai informasi yang lebih detail karena mempunyai atribut dan operasi yang dapat diperoleh setelah menggambar diagram sequence untuk setiap use case.

Gambar 26. Block Diagram Iconix Process pada Use Case Driven Object
Gambar 26. Block Diagram Iconix Process pada Use Case Driven Object

Domain Model Diagram

GUI Story Board

Use Case Model Diagram

Primary Use Case

Use case primer digunakan untuk menggambarkan interaksi antara aktor dengan sistem secara keseluruhan dan hubungan atau hubungan antar use case. Use case primer dibuat untuk menggambarkan keseluruhan sistem yang dibuat, sehingga dapat melihat alur proses antar aktor dan masing-masing use case serta alur proses antar use case.

Tabel 11. Simbol-simbol Use Case Diagram
Tabel 11. Simbol-simbol Use Case Diagram

Use Case Narasi

Kursus Alternatif/Arus Alternatif, menjelaskan bagaimana proses/interaksi alternatif dimungkinkan antara aktor dan GUI (Sistem).

Robustness Analysis Diagram

Diagram konsistensi juga mempunyai aturan pembuatannya dimana aktor hanya boleh bersentuhan langsung dengan batasan, batasan dengan pengontrol, pengontrol dengan pengontrol, pengontrol dengan entitas.

Tabel 12. Simbol-simbol Robustness Diagram
Tabel 12. Simbol-simbol Robustness Diagram

Sequence Model Diagram

Tujuan utama pembuatan sequence diagram adalah untuk menemukan urutan kejadian yang dapat memberikan hasil yang diinginkan. Aktor Komponen ini menggambarkan pengguna yang berada di luar sistem dan berinteraksi dengan sistem. Checkbox Komponen checkbox ini mewakili waktu yang diperlukan suatu objek untuk menyelesaikan tugasnya.

Semakin lama maka otomatis kolom aktivasinya juga semakin panjang.

Tabel 13. Simbol-simbol Sequence Diagram
Tabel 13. Simbol-simbol Sequence Diagram

Updated Domain Model

Class Model Diagram

  • USER INTERFACE DAN USER EXPERIENCE

Bersifat statis, dalam artian diagram kelas tidak menjelaskan apa yang terjadi jika kelas-kelas tersebut berelasi, melainkan menjelaskan hubungan apa saja yang terjadi. Setiap kelas pasti mempunyai nama yang berbeda-beda, nama lain dari nama ini adalah nama sederhana. Komponen ini memuat ciri-ciri kelas, komponen ini digunakan untuk menjelaskan kualitas suatu kelas.

Union adalah hubungan antara dua kelas dimana satu kelas menjadi bagian dari kelas lain, namun kedua kelas tersebut dapat berdiri sendiri-sendiri.

Diagram kelas memiliki tiga komponen penyusun. Berikut ini  adalah komponen-komponennya:
Diagram kelas memiliki tiga komponen penyusun. Berikut ini adalah komponen-komponennya:

Definisi User Interface (UI)

Definisi User Experience (UX)

Ketika Anda membuka Instagram berjam-jam tanpa merasa bosan, terus-terusan ngobrol di WhatApp, lama mencari barang untuk dijual di toko online, berarti Anda sudah menikmati pengalaman pengguna Instagram, WhatsApp, dan juga toko online. untuk menyediakan. Hal ini dikarenakan penerapan pengalaman pengguna pada smartphone sangat baik, program dirancang sedemikian rupa sehingga memudahkan pengguna dalam menggunakannya.

Perbedaan Antara UI dan UX

“Pengalaman pengguna” di Indonesia adalah pengalaman yang diberikan suatu situs web atau perangkat lunak kepada penggunanya sehingga interaksi yang dilakukan menarik dan menyenangkan. Itu sebabnya desainer UI dan UX sering kali berada dalam tim yang sama saat merancang sebuah program. Sebab, dengan kombinasi keduanya, sebuah program aplikasi web atau mobile menjadi sangat mudah digunakan oleh pengguna tanpa harus membaca buku manual.

Memahami perbedaan UI Design dan UX Design bukan sekedar teori saja, namun akan berdampak pada proses desainnya.

Gambar 42. Gambaran Perbedaan UI Dengan UX
Gambar 42. Gambaran Perbedaan UI Dengan UX

Desain UI

Jadi, semakin sering Anda menelusuri suatu desain, Anda akan semakin memahami ukuran setiap elemen UI. Desain yang dibuat, komponen-komponen yang dibuat harus mempunyai alasan yang kuat mengapa ditempatkan atau dibentuk sedemikian rupa. Tapi, bayangkan jika Anda menggunakan format isian paling bawah, berapa kali Anda harus mengklik tombol kembali untuk menuju ke bulan Maret 1980.

Namun, ketika pengguna memilih tanggal, kalender untuk bulan tersebut akan terbuka dengan tanggal hari ini disorot dengan warna biru.

Gambar 43. Contoh Desain UI Modifikasi dari Dua UI Jiplakan
Gambar 43. Contoh Desain UI Modifikasi dari Dua UI Jiplakan

Pentingnya UX (User Experience)

Jika Anda benar-benar memperhatikan pengalaman pengguna dalam aplikasi, maka akan menghasilkan desain UI yang bagus. Walaupun barang yang dijual sama, namun harganya mungkin lebih mahal, namun pengalaman yang ditawarkan tidak terdapat di toko konvensional. Menurut penelitian dari lembaga penelitian HubSpot: pengguna seluler 5 kali lebih mungkin meninggalkan situs web jika situs web tidak dioptimalkan untuk perangkat yang mereka miliki.

Jika mereka mempunyai pengalaman buruk, misalnya calon pembeli tidak dapat menemukan apa yang mereka butuhkan.

Dasar-dasar User Experience (UX)

Tak hanya itu, toko tersebut juga mungkin tidak berhasil menjangkau calon pembeli, sehingga calon pembeli tersebut pasti akan pergi dan tidak akan pernah kembali lagi.

Menyiapkan Langkah

Memperbarui Pernyataan Tantangan

Memvalidasi Masalah

Wawancara Internal

Presentasi Kilat

Wawancara Pengguna

Meskipun demikian, hal ini dapat menghasilkan informasi bagus tentang pelanggan dan tantangan desain yang mungkin terlewatkan oleh pemangku kepentingan. Misalnya, jika Anda ingin menyelesaikan tantangan aplikasi keuangan di atas, Anda bisa bertanya kepada mereka “bagaimana cara membeli saham dan sekuritas sekarang?”. Ide melakukan wawancara adalah agar pengguna membicarakan tantangan yang mereka alami, bukan poin pembicaraan.

Penelitian Bidang Etnografi

Catatlah seluruh percakapan dan jika mungkin rekamlah percakapan tersebut untuk membantu Anda menangkap apa pun yang mungkin Anda lewatkan. Observasi pada dasarnya tidak mencolok, mencatat hal-hal yang tampak mudah atau sulit bagi mereka dan hal-hal yang mungkin terlewatkan. Tujuannya adalah untuk membenamkan diri Anda dalam lingkungan pengguna dan lebih berempati dengan masalah mereka.

Namun mungkin yang paling informatif karena dapat melihat sekelompok orang yang sedang diteliti di lingkungan alaminya.

Mengumpulkan Semuanya

Pemetaan Proyek

34;dokter yang merawat kaki pengkor" tujuannya adalah "menyembuhkan pasien yang menderita kaki pengkor", jadi langkah-langkahnya adalah "mendaftarkan pasien dalam sistem, memulai rencana kesehatan, membuat siklus penilaian kesehatan medis" dan. Namun untuk saat ini, pemetaan menyediakan proyek rincian tingkat tinggi tentang langkah-langkah yang harus diambil pengguna untuk mencapai tujuan akhir mereka.

Wireframing dan Storyboarding

  • Crazy 8s
  • Menyaring Desain
  • Membuat Ide Storyboard
  • Membuat Prototipe
  • Pengujian-Kegunaan Desain
  • Yang Perlu ditanyakan
  • Mengunjungi Kembali Desain dan Rentetan

Ini mungkin terdengar aneh untuk dilakukan, tetapi mengetahui apa yang mereka pikirkan akan membantu. Cobalah untuk tidak menyela atau memberi tahu mereka apa yang harus dilakukan ketika mereka mengalami kebuntuan. Faktanya, tidak, waktu pengembangan mungkin akan memakan waktu lebih sedikit dibandingkan jika Anda sudah membuat desain dan mengetahui lebih banyak tentang apa yang benar-benar disukai pengguna.

Sekarang Anda seharusnya sudah mempunyai gagasan yang jelas tentang apa yang perlu dilakukan dan apa prioritas dari pengalaman ini.

Gambar

Gambar 4. Alur Proses Evolutionare
Gambar 6. Waterfall Model
Gambar 7. Prototyping Model
Tabel 7. Kelebihan dan Kekurangan Incremental Model
+7

Referensi

Dokumen terkait

Sebuah distribusi Linux, yang umum disebut dengan "distro", adalah sebuah proyek yang bertujuan untuk mengatur sebuah kumpulan perangkat lunak berbasis Linux dan memfasilitasi instalasi