Week 14 : Design Pattern
- Muhammad Burhan Sidqi
- May 18, 2017
- 2 min read
Halooo!
Pada kesempatan kali ini saya akan menjelaskan mengenai progress saya selama dua minggu ini. Dalam dua minggu ini saya mengerjakan login session. Login session ini kami implementasikan menggunakan shared preference.
DESIGN PATTERN
Design pattern merupakan pola yang dapat digunakan dalam mendesain perangkat lunak. Design pattern yang kami gunakan dalam mengembangkan proyek ini adalah singleton.
Dalam mendesain menggunakan singleton, kelas yang hanya dapat diinstansiasi menjadi 1 objek. Setiap yang membutuhkan layanan kelas ini akan mendapatkan instans objek yang sama. Kelas ini memiliki konstruktor yang hak aksesnya adalah private. Konstruktor hanya dapat dipanggil dari dalam kelas. Objek lain yang membutuhkan kelas ini dapat meminta instans kelas dengan memanggil method statik GetInstance.
Bagian proyek kami yang menggunakan design pattern singleton adalah
Kelas pemanggilan database sqlite (DatabaseController.java)
Kelas menjalankan request pada volley (Mysingleton.java)
Kelas untuk menyimpan session pada login (SessionManager.java)
AGILE PRINCIPLE
Dalam melakukan pengembangan menggunakan agile development, terdapat 12 prinsip-prinsip yang harus dipenuhi dalam mengembangkan.
1. Kepuasan klien merupakan prioritas utama dengan memberikan produk lebih awal dan terus menerus.
Contoh: Dalam pengembangan ini kelompok kami memberikan produk secara terus menerus dalam setiap sprint.
2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
Contoh: Perubahan juga kami lakukan pada akhir pengembangan dan dikerjakan pada branch coldfix.
3. Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa bulan.
Contoh: Penyerahan software kami lakukan dalam waktu empat minggu setiap sprintnya.
4. Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan.
Contoh: pihak bisnis dan pengembang terhubung dengan media slack. Setiap pertanyaan mengenai kebutuhan dan kebutuhan pihak bisnis diajukan pada slack.
5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
Contoh: Tim kami merupakan orang-orang yang memiliki motivasi tinggi dalam menyelesaikan fitur-fitur pada tiap sprint.
6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
Contoh: seminggu sekali kami melakukan pertemuan untuk mengerjakan proyek bersama dan seminggu dua kali bersama dengan scrum master menyampaikan progress, blocker, dan hal yang akan dilakukan.
7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek
Contoh: Kelompok kami dalam setiap sprint menyediakan fitur-fitur yang berfungsi untuk dapat menyelesaikan proses bisnis PT. Ruma
8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan
Contoh: Dukungan diberikan melalui kunjungan kami ke tempat klien dank lien mengutarakan proses bisnis yang mereka lakukan dan masalah yang mereka miliki.
9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
Contoh: Pemilihan framework maupun design pattern membantu kami dalam mengembangkan produk kami.
10. Kesederhanaan penting
11. Arsitektur, kebutuhan dan desain yang bagus muncul dari tim yang mengatur dirinya sendiri
12. Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.
Contoh: Setiap sprint retrospective kami mengemukakan masalah dalam mengerjakan proyek ini dan mencari solusi bersama-sama.
Selain itu hal yang saya lakukan dalam dua minggu kemarin adalah melakukan perubahan database server menjadi disesuaikan dengan kebutuhan.
Terima kasih atas perhatiannya.
Salam,
Muhammad Burhan Sidqi
Comments