EAS KPPL


 Bayza Nawaz Axata (5025221241)


1. Fase Analisis dan Desain dalam Pengembangan Perangkat Lunak

a. Aktivitas dalam Fase Analisis:

  1. Pengumpulan Kebutuhan: Mengumpulkan informasi dari stakeholder untuk memahami kebutuhan bisnis dan teknis.
  2. Analisis Kebutuhan: Mengidentifikasi dan mendefinisikan kebutuhan sistem, termasuk fungsional dan non-fungsional.
  3. Modeling Kebutuhan: Membuat model seperti diagram alur data (DFD), use case, atau diagram aktivitas untuk merepresentasikan kebutuhan.

b. Aktivitas dalam Fase Desain:

  1. Perancangan Arsitektur: Menentukan struktur utama sistem, seperti modul, komponen, dan alur komunikasi.
  2. Perancangan Database: Merancang struktur data dan relasi antar tabel yang mendukung kebutuhan aplikasi.
  3. Perancangan Antarmuka Pengguna: Merancang tata letak dan elemen antarmuka pengguna.
  4. Perancangan Detail: Menentukan algoritma, logika program, dan struktur data spesifik untuk setiap modul.

c. Output:

  1. Fase Analisis: Dokumen Spesifikasi Kebutuhan Perangkat Lunak (SRS).
  2. Fase Desain:
    • Diagram arsitektur sistem.
    • Desain basis data.
    • Mockup atau prototipe antarmuka pengguna.
    • Desain modul dan algoritma.

2. Lima Tahap Utama dalam Model Waterfall

  1. Requirement Analysis: Mengumpulkan dan mendokumentasikan kebutuhan sistem.
  2. System Design: Merancang struktur dan komponen sistem berdasarkan kebutuhan.
  3. Implementation: Membuat kode program sesuai desain.
  4. Integration and Testing: Mengintegrasikan komponen dan menguji sistem untuk memastikan tidak ada bug.
  5. Deployment and Maintenance: Merilis sistem ke lingkungan produksi dan melakukan pemeliharaan.

Kelebihan:

  1. Struktur yang terorganisasi dan mudah dipahami.
  2. Cocok untuk proyek dengan persyaratan yang tetap dan jelas.
  3. Dokumentasi yang lengkap mempermudah pengembangan lebih lanjut.

Kekurangan:

  1. Kurang fleksibel terhadap perubahan persyaratan.
  2. Risiko tinggi karena pengujian dilakukan di akhir.
  3. Tidak ideal untuk proyek dengan ketidakpastian tinggi atau pengembangan iteratif.

3. Perbedaan antara Architectural Design dan Detailed Design

  1. Architectural Design:

    • Fokus pada struktur utama sistem, hubungan antar modul, dan teknologi yang digunakan.
    • Contoh: Diagram arsitektur, definisi komponen utama.
  2. Detailed Design:

    • Fokus pada implementasi detail dari setiap modul atau komponen.
    • Contoh: Algoritma spesifik, desain antarmuka kelas, dan logika program.

Alasan Kedua Desain Diperlukan:

  • Architectural Design memberikan kerangka dasar sistem, memastikan konsistensi dan skalabilitas.
  • Detailed Design memungkinkan pengembang untuk bekerja secara efisien pada bagian spesifik tanpa kehilangan konteks keseluruhan.

4. Studi Kasus: Sistem E-Commerce untuk Produk Digital

Pendekatan Rekayasa Perangkat Lunak:

  1. Pengumpulan Kebutuhan (Requirement Analysis):

    • Temui stakeholder untuk mendefinisikan kebutuhan fungsional seperti katalog produk, checkout, dan integrasi pembayaran.
    • Kebutuhan non-fungsional seperti skalabilitas dan performa.
  2. Pemilihan Metode Pengembangan:

    • Gunakan Metode Agile untuk iterasi cepat, memudahkan perubahan kebutuhan.
    • Buat backlog fitur yang disusun berdasarkan prioritas.
  3. Perancangan Sistem:

    • Arsitektur Mikroservices: Setiap layanan (auth, pembayaran, katalog, dll.) terpisah untuk skalabilitas.
    • Cloud-Based Deployment: Gunakan layanan cloud seperti AWS atau GCP untuk mengatasi lonjakan musim.
    • Desain database relasional dan cache untuk performa optimal.
  4. Pengembangan dan Implementasi:

    • Bangun backend dengan framework seperti Node.js atau Django.
    • Gunakan React atau Vue.js untuk front-end.
    • Integrasi dengan API pembayaran seperti Stripe atau Midtrans.
  5. Pengujian:

    • Unit Testing: Menguji setiap modul.
    • Load Testing: Simulasikan lonjakan pengguna.
    • Integration Testing: Pastikan setiap komponen berfungsi bersama.
  6. Deployment:

    • Rilis sistem secara bertahap (phased deployment) untuk meminimalkan risiko.
    • Gunakan CI/CD untuk pembaruan otomatis.

Output yang Diharapkan:

  • Sistem yang handal: Menangani lonjakan transaksi dengan latensi minimal.
  • Antarmuka yang user-friendly: Memudahkan pengguna untuk membeli produk digital.
  • Integrasi lengkap: Dengan metode pembayaran dan fitur analitik untuk pelaporan.


Komentar

Postingan populer dari blog ini

ETS BOOKSPORT