Sunday, December 18, 2016

Perancangan Perangkat Lunak - Weather-O-Rama

Perangkat lunak yang akan dibahas kami bahasa adalah Aplikasi Pemantau Cuaca berbasis java, Weather-O-Rama. Aplikasi ini memiliki 3 elemen display, yakni kondisi saat ini (suhu, kelembaban, tekanan udara), statistik cuaca dan perkiran sederhana, semua diperbaharui secara real time sebagai objek data cuaca (WeaherData) untuk pengukuran terbaru.
















Tiga hal yang penting dalam apikasi ini adalah stasiun cuaca (perangkat fisik berupada sensor kelembaban, suhu, dan tekanan udara), objek WeatherData (mendapatkan data yang berasal dari stasiun cuaca dan meng-update tampilan) dan tampilan yang menunjukan  ke user kondisi saat ini.

Design pattern yang digunakan pada aplikasi ini adalah Observe Design Pattern. Observe Design Pattern adalah pola hubungan one -to-many antara suatu kumpulan objek, apabila terdapat salah satu objek yang berubah, maka semua objek yang berhubungan akan diberitahu dan akan diperbarui secara otomatis.

Implementasi Observe Design Pattern pada class diagram

pada observe design pattern dibagi menjadi 4 bagian, subject, observer, concrete subject
 dan concrete observer

SUBJECT
berisi class Subject, yakni interface dari aplikasi ini.

OBSERVER
berisi class Observer, yakni semua komponen cuaca akan diimplementasikan dengan observe interface. Hal ini memberikan subjek sebuah interface umum untuk terhubung ketika update observer.

CONCRETE SUBJECT
berisi class WearherData, yakni berisi informasi cuaca saat ini dan untuk mengimplementasikan subjek antarmuka aplikasi ini.

CONCRETE OBSERVER
berisi class CurrentCondititionDisplay, StatisticDisplay, ForecastDisplay dan HeatIndexDisplay, yakni bertugas untuk mendapatkan data akurat cuaca. terdapat fungsi update() yang akan otomatis berjalan ketika update() pada  class observer berfungsi.



Prototype Implementasi System

1. Use Case Diagram
2. CRC-card

3. Class Diagram

4. Sequence Diagram
  • Set measurements

  • Register Observer
5. Component Diagram
6. Deployment Diagram

7. Activity Diagram
  • Set measurements

  • Register Observer

8. Screenshot Program


9. Source Code program

https://github.com/salmanrameli/weather-station-design-pattern


referensi :
rpl.if.its.ac.id/design-pattern-observer/
Head First Design Pattern, Eric Freeman & Elisabeth Freeman