EAS - KPPL E

Ahmad Hafiz Mahardika
5025201196
KPPL E


1.

> Analisis : Pada fase analisis, pengembang perangkat lunak mengumpulkan kebutuhan-kebutuhan perangkat lunak yang akan dikembangkan dari informasi client. Contoh kebutuhan tersebut adalah kebutuhan fungsional dan non-fungsional.

Desain : Pada fase desain, kebutuhan-kebutuhan yang telah dikumpulkan pada fase analisis akan digunakan untuk membuat desain perangkat lunak yang akan dikembangkan. Desain tersebut dapat berupa desain user interface, desain arsitektur sistem, dll.

> Output dari fase analisis adalah daftar kebutuhan (fungsional dan non-fungsional), dokumen SRS, Use-Case diagram. Berperan sebagai bahan dari desain perangkat lunak yang akan dibuat di fase desain.

Output dari fase desain berperan sebagai panduan untuk pengembang perangkat lunak dalam implementasi kode atau pada fase implementasi.

2. Model Waterfall

Analysis : Pada tahap ini, pengembang perangkat lunak mengumpulkan kebutuhan-kebutuhan dari perangkat lunak. Pengembang dapat mengumpulkan kebutuhan ini dari client.

Design : Berdasarkan pada kebutuhan yang telah diperoleh, pengembang mulai membuat design dari perangkat lunak yang akan dibuat. Design tersebut dapat berupa desain user interface, desain arsitektur sistem, dll.

Impelementation : Pengembang mulai membuat perangkat lunak dengan panduan dari design yang telah dibuat pada tahap design.

Testing : Pada tahap ini, pengembang akan menguji perangkat lunak yang telah dibuat untuk memastikan bahwa perangkat lunak berfungsi sesuai dengan design dan kebutuhan dari client. Pengujian yang dilakukan pada tahap ini dapat berupa functional testing, non-functional testing, blackbox texting, dan lain-lain.

Deployment dan maintenance : Pada tahap ini, perangkat lunak telah digunakan oleh pengguna/client. Pengembang akan melakukan maintenance pada perangkat lunak seperti, memperbaiki bug dan memperbarui perangkat lunak dengan komponen terbaru. 

Kelebihan : 
- Karena persyaratan tetap, jadi pengembang tidak perlu melakukan revisi yang dikarenakan oleh perubah persyaratan.
- Mudah dalam estimasi waktu pada setiap tahap.
- Dokumentasi yang dihasilkan lebih mudah dan jelas.

Kekurangan :
- Waktu yang dibutuhkan lama karena tahap pengembangan linear. Semakin besar proyeknya, semakin lama juga waktunya
- Tidak efektif. Contoh : Pengembang yang bertugas di bagian implementasi harus menunggu design dari semua bagian perangkat lunak dan tidak bisa mengerjakan bagian yang telah selesai pada tahap sebelumnya.
- Jika terjadi kesalahan pada tahap sebelumnya dan tim pengembang telat menyadari kesalahan tersebut, maka harus melakukan perubahan yang besar. Semakin besar proyeknya, kemungkinan terjadi kesalahan akan semakin besar.

3. 

Architectural design adalah jenis design untuk mengidentifikasi bagian dari sistem (sub-sistem) dan bagaimana cara bagian-bagian tersebut berkomunikasi. Architectural design yang baik dapat memudahkan pengembang untuk mengetahui apakah aplikasi dapat memenuhi non-functional requirement. Contoh dari architectural design adalah layered architecture, server-client architecture.

Detailed design adalah jenis design adalah design untuk memecah/mendetailkan komponen-komponen dari komponen besar dari sebuah perangkat lunak. Detailed design mencakup, data structure, algoritma yang digunakan dan bagaimana data berinteraksi pada perangkat lunak. Detailed design melengkapi output dari architectural design.

Kedua design tersebut diperlukan untuk menjadi panduan implentasi dari perangkat lunak yang dikerjakan.

4. 

Sebuah perusahaan membutuhkan sistem e-commerce untuk menjual produk digital seperti foto, video, desain poster, ebook. Saat ini transaksi dihandle dengan WhatsApp. Namun seiring dengan perkembangan bisnis tools tersebut tidak mampu menangani lonjakan transaksi. Buatkan sistem / aplikasi yang mampu menangani lonjakan transaksi pada musim tertentu.

Proses model yang digunakan yaitu Proses Model Waterfall.

Analysis :
Berdasarkan kasus user story diatas, dapat diketahui kebutuhan untuk aplikasi yang dibutuhkan oleh client. Seperti server untuk menyimpan produk, keamanan akun, dan ketahanan sistem dalam menangani lonjakan user.

Design :
Dari kebutuhan yang dikumpulkan, akan dibuat design dari aplikasi diatas. Seperti architectural design untuk membagi sistem menjadi sub-sistem seperti : Back-end, Front-end

Implementasi :
Pada tahap ini design yang dihasilkan pada tahap Design akan di implementasikan dengan bahasa pemrograman yang ditentukan pada kebutuhan sistem. Memastikan agar semua kebutuhan sistem dapat terpenuhi.

Testing : 
Pengujian dari aplikasi sistem e-commerce yang dihasilkan agar dapat berjalan dengan baik dan memenuhi semua kebutuhan client.

Deployment dan Maintenance :
Aplikasi diberikan ke client dan jika terdapat masalah saat deployment maka akan di perbaiki. Jika komponen sistem ada yang dapat diperbarui, maka sistem akan di update.

Comments

Popular posts from this blog

Tugas 6 - KPPL

Tugas 11 - KPPL

Tugas 10 - KPPL