Tampilkan postingan dengan label #week12. Tampilkan semua postingan
Tampilkan postingan dengan label #week12. Tampilkan semua postingan

Minggu, 15 Mei 2016

Weekly Report 15/5/2016 - Muhammad Farhan Dzikri

Progress minggu ini yang saya lakukan masih fokus ke dalam klaim mandatory sehingga saya brwosing untuk memahami lebih lanjut makna dari sub-competences.

Saya mencoba memahami lebih dalam mengenai Functional dan Non-Functional requirement. Berdasarkan penjelasan dari situs ReQtest.com (http://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/), ini adalah pemahaman yg saya dapatkan:

The official definition of ‘a functional requirement’ is that it essentially specifies something the system should do

Some of the more typical functional requirements include:
  • Business Rules
  • Transaction corrections, adjustments and cancellations
  • Administrative functions
  • Authentication
  • Authorization levels
  • Audit Tracking
  • External Interfaces
  • Certification Requirements
  • Reporting Requirements
  • Historical Data
  • Legal or Regulatory Requirements

The definition for a non-functional requirement is that it essentially specifies how the system should behave and that it is a constraint upon the systems behaviour. One could also think of non-functional requirements as quality attributes for of a system
Some typical non-functional requirements are:
  • Performance – for example Response Time, Throughput, Utilization, Static Volumetric
  • Scalability
  • Capacity
  • Availability
  • Reliability
  • Recoverability
  • Maintainability
  • Serviceability
  • Security
  • Regulatory
  • Manageability
  • Environmental
  • Data Integrity
  • Usability
  • Interoperability
Kelompok kami sudah melakukan Functional and Non-functional requirement gathering. Hasilnya dapat dilihat di link berikut

https://docs.google.com/document/d/1_1jKWwduZNymr7lRABWJkWZV5-MkPoeE10dZWArh26U/edit?usp=sharing



Selain itu saya juga mencoba memahami sub-competence Verification and Validation, berdasarkan hasil browsing saya, inilah yang saya pahami. Sumber dari wikipedia.

Validation. The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers. Contrast with verification."

Verification. The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process. Contrast with validation."

Hal ini juga sudah kami kerjakan bersama, proses Validation kami lakukan dengan Pak Yuono sebagai stakeholder setiap kali fitur baru selesai dikerjakan. Verification kami lakukan bersama setiap kali fitur baru selesai dibuat.

Selain itu saya juga mencoba memahami Product Roadmap, sumbernya dari http://www.aha.io/roadmapping/guide/product-roadmap.

A product roadmap is a plan that matches short-term and long-term business goals with specific technology solutions to help meet those goals. Roadmapping is the exercise of building a product roadmap. Roadmaps can apply to new products or services or existing offerings

Dari pemahaman yang saya dapatkan saya mencoba membuat product roadmap kelompok kami. Hasilnya seperti berikut



Saya juga mempelajari Performance Profiling Tools, diajarkan oleh Luthfi dan mendalaminya lebih lanjut.


Jadi Performance analysis tools pada android terdapat 4 bagian, yaitu Memory Analysis, Rendering, Battery, serta Compute Analysis. Kemudian saya mencoba mempraktekkan Profiling GPU Rendering Walktrough,





Garis hijau datar menunjukkan target 16miliseconds, Bar menunjukan proses rendering. Jika proses rendering melewati garis hijau maka gambar yang ditampilkan terlambat datang.

Saya juga melakukan design review dari hasil fitur-fitur baru. Fitur yang saya review designnya adalah halaman berikut

Halaman Amalan pada Evaluasi Ibadah

Halaman schedule dari Google Calendar.

Halaman diatas sudah benar designnya secara garis besar, namun masih ada bberapa yang kurang. Karena design mengacu pada layoutting Material Design, maka saya mencontoh halaman google calendar. Yang perlu diperbaiki adalah:
1. Ukuran font amalan terlalu besar, harusnya 48sp.
2. Ada tombol pensil (edit) sejajar dengan ikon-ikon dibawahnya.
3. Ukuran icon adalah 24dp
4. Title halaman harusnya sejajar dengan icon.

Halaman lain yang saya review, halaman edit amalan.
Sebelumnya halaman edit amalan memiliki 2 tombol, menu dan delete. Mengacu kepada design aplikasi lain (Twitter dan Todoist) saya merasa 2 tombol tersebut redundant.
Tombol delete seharusnya dimasukkan kedalam menu seperti screenshoot dibawah ini.







Weekly Report 15/5/2016 - Reyhan Razaby

Saya telah mereview apa yang sudah di-push oleh Luthfi pada link ini
Dan hasilnya ternyata terdapat logic error pada perhitungan pencapaian di class "StatisticsActivity".

Pada case: Al-Kahfi (target 1 kali perminggu), jika di-check 2x dalam seminggu maka harusnya memiliki pencapaian 200%. Sedangkan kondisi yang sekarang masih 100% (seperti gambar di bawah kiri). Begitupun terjadi pada amalan lainnya seperti puasa senin kamis
Case berikutnya, pada amalan Puasa Ayyamul Bidh (target 3x sebulan) masih memiliki pencapaian 33,33% jika dilakukan sebanyak 3x, padahal seharusnya sudah 100% (seperti gambar di bawah kanan)


Review ini saya tulis juga di fitur "Create Issues" pada GIT

Kemudian saya mencoba push dengan ".gitlab-ci.yml" yang bersebelahan dengan folder Evaluasi Ibadah (folder project kami). ".gitlab-ci.yml" berguna supaya project kami dapat di-build di website Gitlab itu sehingga "publik" bisa mengetahui apakah program kami bisa dijalankan atau tidak.
pada gambar di atas terdapat tulisan "build: passed" yang menunjukkan apa yang saya push berhasil di-build tanpa ada error.

Saya juga sudah merancang class diagram untuk aplikasi ini di link ini
class diagram tersebut juga bisa dilihat di bawah ini



Amalan hanya ada jika kategorinya ada sehingga Amalan dan Category memiliki hubungan composition. Tetapi AmalanManager hanya untuk menyimpan kumpulan Amalan dan Category sehingga mereka hanya memiliki hubungan agregation.

Amalan memiliki bagian khusus, yaitu AmalanWeekly yang memiliki atribut khusus bernama "dayList" (berisi daftar hari apa saja) dan AmalanMonthly yang memiliki atribut "dateList" (berisi daftar tanggal berapa saja).

Setiap amalan bisa memiliki Reminder. Dan Reminder tersebut hanya ada jika Amalan-nya ada (composition).

Ada juga class CalendarManager sebagai modul untuk membantu mengatur penanggalan. Dan LocalStorage sebagai perantara dalam penyimpanan data ke memori internal pada device.

Kemudian dalam kegiatan programming, kelompok kami memiliki standar code dengan bahasa inggris supaya project pada GIT kami bisa dimengerti oleh umum.

untuk penulisan nama pada Java, kami mengikuti Best Practice dari Oracle, di antaranya:
- Penulisan class diawali dengan huruf besar setiap kata (contoh: Amalan, LocalStorage, EvaluasiIbadah, dll)
- Penulisan variable diawali huruf kecil, namun huruf awal pada kata selanjutnya kapital (contoh: name, dayBefore, category, dateList, dll)
- Penulisan untuk konstanta huruf besar semua (contoh: DAILY_POSITION, REPEAT_DAILY, dll)

untuk penulisan pada xml masih diperbincangkan

Weekly Report 21/5/2016 - Muhamad Iqbal

Di minggu ini ada beberapa hal yang saya lakukan diantaranya adalah mengerjakan beberapa mandatory yang belum diklaim dan juga ada hal yang sudah berminggu-minggu menjadi masalah dan akhirnya masalah yang sudah lama tidak terselesaikan akhirnya bisa diselesaikan yaitu mehubungkan antara aplikasi dan server.

Pertama yang saya kerjakan adalah wireframe yang belum saya klaim. Saya mencoba untuk membuat wireframe sederhana yang menampilkan fitur Tentang Aplikasi. Fitur tersebut adalah fitur yang menampilkan penjelasan tentang aplikasi tersebut. Saya membuatnya di balsamiq yang bisa dilihat disini. Berikut gambarnya

Berikutnya adalah saya mencoba mengimplementasikan continuous integration dalam gitlab yang berisi RestAPI laravel yang berada di server dengan cara menambahkan file .gitlab-ci.yml namun masih terdapat error yaitu gitlab belum dapat mengakses servernya saat migrating. Link gitlab RestAPI dapat dilihat disini.

Selanjutnya adalah masalah menghubungkan server dengan aplikasi yang sudah lama menjadi masalah. Kemarin hari jumat saya bersama hardi pergi ke badr untuk bertanya langsung ke engineer di badr tenteng masalah kami. Disana kita dipertemukan oleh Pa Yuwono dengan salah satu engineer yang fasih dengan library volley. Sebelumnya kami menggunakan volley untuk me request perintah POST ke dalam server dengan class map namun ternyata terjadi error 400 bad request lalu pihak badr menyarankan untuk menggantinya menggunakan json dan Alhamdulillah setelah beberapa lama mencoba akhirnya berhasil. Selanjutnya kita tinggal mencoba mengimplementasikan perintah get, update, dan delete.