Learning by Project I - Software Development Plan

featured-image

Software Development Plan adalah dokumen perencanaan yang menjelaskan seluruh gambaran sistem. Dalam hal ini akan kita bahas secara garis besar tentang perencanaan tersebut. Berikut adalah tahapan-tahapan yang akan kita laksanakan dalam project pembuatan website organisasi kemahasiswaan : 

  1. Scope (Ruang Lingkup)
  2. Software Requirements
  3. Analysis & Design
  4. Development & Testing
  5. Deployment

1. Scope (Ruang Lingkup)

Tujuan Proyek 

Membuat website yang efektif dan efisien untuk organisasi kemahasiswaan, sehingga dapat memfasilitasi informasi, dan pengelolaan kegiatan organisasi.

Fungsi dan Fitur

  1. Ada 2 aplikasi yang akan kita bangun, yaitu kita sebut sebagai Backend dan Frontend.
  2. Beranda: Menampilkan informasi tentang organisasi, visi, misi, dan kegiatan terbaru dan informasi lainnya.
  3. Profil Organisasi: Menampilkan informasi tentang sejarah, struktur organisasi, dan anggota.
  4. Berita dan Kegiatan: Menampilkan berita dan kegiatan terbaru organisasi.
  5. Karya Ilmiah: Menampilkan karya-karya ilmiah yang dihasilkan mahasiswa yang terhimpun dalam organisasi.
  6. Partner: Memungkinkan pengelola organisasi untuk membuat, mengedit, dan menghapus kegiatan.
  7. Pengelolaan Website (Bakcend): Memungkinkan pengelola organisasi untuk membuat, mengedit, dan menghapus data-data website.

Batasan Proyek

  1. Waktu: Proyek harus selesai dalam waktu 1 bulan.
  2. Biaya: -
  3. Sumber Daya: Proyek hanya menggunakan sumber daya yang tersedia di organisasi.

Asumsi dan Ketergantungan

  1. Teknologi: Proyek menggunakan teknologi web PHP, HTML, CSS, dan JavaScript, Laravel, Filament dan lain sebagainya.
  2. Ketersediaan Sumber Daya: Proyek memerlukan ketersediaan sumber daya seperti server, domain, dan hosting.

Kriteria Keberhasilan

  1. Website dapat diakses dengan lancar: Website dapat diakses dengan lancar dan tidak ada masalah teknis.
  2. Fungsi dan fitur berjalan dengan lancar: Fungsi dan fitur website berjalan dengan lancar dan tidak ada masalah teknis.
  3. Desain website sesuai dengan kebutuhan organisasi: Desain website sesuai dengan kebutuhan organisasi dan memiliki tampilan yang profesional.

2. Software Requirements

Framework

  1. Laravel 11 : https://laravel.com/docs/11.x/releases#versioning-scheme
  2. Filament 3.2 : https://filamentphp.com/docs/3.x/panels/installation

Software (Download dan Install jika belum ada)

  1. Laragon : https://laragon.org/download/
  2. Visual Studio Code : https://code.visualstudio.com/download
  3. Node.js : https://nodejs.org/en/download
  4. Composer : https://getcomposer.org/download/

PHP 8.2

MySQL 8

Apache 2.4

Visual Studio Code Extension

  1. PHP Intelephense
  2. PHP Namespace Resolver
  3. Laravel Snippets
  4. Laravel goto view
  5. Laravel Extra Intellisense
  6. Laravel Blade Snippets 
  7. Laravel Blade Spacer
  8. Filament Snippets 

3. Analysis & Design 

Konsep pemrograman yang akan kita gunakan dan juga bersesuaian dengan framework laravel adalah MVC (Model, View Controller). MVC adalah pola arsitektur dalam pengembangan aplikasi berbasis web yang membagi aplikasi menjadi tiga bagian, yaitu model, view, dan controller.

Komponen MVC

  • Model: Mengatur, menyiapkan, memanipulasi, dan mengorganisasikan data dari database 
  • View: Menyajikan informasi kepada pengguna dalam bentuk Graphical User Interface (GUI) 
  • Controller: Menghubungkan model dan view dalam setiap proses request dari user 

Manfaat MVC 

  • Mengefektifkan proses membuat website
  • Error atau bug lebih mudah ditangani
  • Proses testing jadi lebih mudah
  • Mengembangkan website menjadi lebih efisien
  • Maintenance jadi mudah
  • Mendukung pemrograman asinkron
  • Mengembangkan web agar SEO friendly

Entity Relationship Diagram (ERD)

ERD adalah diagram yang digunakan untuk perancangan suatu database dan menunjukan relasi antar objek atau entitas beserta atribut-atributnya secara detail. Dalam project ini kita akan membangun database relasional dengan terlebih dahulu membuat perancangan menggunakan ERD.

Data Flow Diagram (DFD)

Data Flow Diagram(DFD) adalah diagram yang menggambarkan aliran data dari sebuah proses atau sistem informasi. Pada DFD, terdapat informasi terkait input dan output dari setiap proses tersebut. DFD juga memiliki berbagai fungsi, seperti menyampaikan rancangan sistem, menggambarkan sistem, dan perancangan model. Dalam project ini juga kita akan menggunakan model perancangan sistem informasi Data Flow Diagram.

Backend

Bakcend disini memiliki artian adalah bagian belakang layar tempat terjadinya proses input dan output data menggunakan form-form yang biasa disebut dengan istilah CRUD (Create, Read, Update, Delete) yang hanya bisa diakses oleh user-user tertentu yang biasa disebut sebagai admin. Dalam project ini kita akan menggunakan Filament (https://filamentphp.com)

Laravel Filament is an open-source package that helps developers build admin panels and dashboards for Laravel applications. It includes components that can be used right away. 

Frontend

Frontend dalam project ini adalah bagian yang akan tampil dan dilihat oleh umum, yang memiliki interaksi langsung terhadap public tanpa harus login atau melewati tahap otorisasi maupun autentikasi. Sebagai dasar untuk pembuatan frontend kita menggunakan template website yang ada dan sangat banyak jenisnya, yang dapat dipergunakan secara gratis. Template ini nanti yang akan dikembangkan sesuai dengan kebutuhan kita.

4. Development & Testing

Development software is the process of creating applications by designing, coding, testing, and maintaining software. It uses computer science and math to create programs that solve problems and meet user needs. 

Tahapan inilah yang menentukan apakah project akan berhasil atau tidak. Dan kemungkinan ditahapan ini nantinya kita akan meluangkan waktu lebih banyak dibandingkan pada tahapan-tahapan lainnya.

5. Deployment

Deployment adalah proses memindahkan aplikasi atau sistem dari lingkungan pengembangan ke lingkungan produksi. Proses ini dilakukan setelah aplikasi selesai dikembangkan, diuji, dan disetujui. Tujuan deployment adalah agar aplikasi atau sistem dapat digunakan oleh pengguna akhir. Proses ini melibatkan berbagai langkah teknis dan IT management. Dalam project ini, karena kita membuat aplikasi website, maka aplikasi akan kita deploy ke sebuah server agar website menjadi online dan dapat diakses oleh siapapun. Ada 2 pilihan server, server hosting dan VPS server. 

Sekian uraian singkat yang dapat saya sampaikan mudah-mudahan dapat dipahami sehingga kita memiliki gambaran atau perencanaan terhadap apa yang akan kita kerjakan.

Terimakasih wassalaaam...

32 views
11