Anda di halaman 1dari 22

Software Architecture and Design

PERPUS.ID

Developed by
1302194062 - M. Rizqan Nur Adjie
1302194055 - Akhbar Putra Nur Ariyadi
1302194017 - I Komang Danda P.
1302194098 - Rizky Naufal A.
1302194105 – Ihsan Asfari H.

School of Computing
Telkom University
December, 2020
1. Description of the Apps
Pengenalan App
Kelompok kami akan membuat aplikasi yang bernama Perpus.id. Perpustakaan merupakan
suatu lembaga yang mengelola dan mengumpulkan informasi baik berupa buku atau
bukan buku. Aplikasi ini seperti layaknya perpustakaan online yang bisa memudahkan
pengguna dalam melakukan kegiatan seperti di perpustakaan hanya saja pengguna
berinterkasi secara online. Tujuan aplikasi ini untuk memudahkan pengguna
melakukan peminjaman buku, menambah waktu peminjaman, melihat ketersediaan
buku, membaca e-book, dan melihat lokasi buku secara online.
Pemecahan Masalah
Pada zaman sekarang, internet sangatlah penting. Karena hampir semua bisa dilakukan
menggunakan internet. Bahkan pembayaran atau pembelian pun dapat dilakukan secara
online. Tidak terkecuali untuk reservasi online buku perpustakaan. Peminjaman buku secara
online memberikan kemudahan pengguna dan pembaca untuk meminjam buku yang mereka
inginkan.Aplikasi ini bertujuan untuk para pengguna dan pembaca agar melakukan
peminjaman buku dengan sangat mudah, serta tidak melupakan bahwa diaplikasi ini juga
memperhatikan jangka waktu peminjaman, sehingga para peminjam juga harus disiplin pada
saat meminjam karena pada saat peminjaman melewati jangka waktu pinjam, maka akan
dikenakan denda dengan tarif yang sudah ditentukan.
Stakeholders and functional requirement
Berikut adalah hasil interview dengan stakeholders terkait aplikasi Perpus.id beserta hasil
requirement analysis yang mengasilkan functional requirement dan feature/menu yang
dapat di akses link dibawah:
https://docs.google.com/forms/d/1K97PPRJRtmMV-c7-ROw_0TDfN0XoVkpOS-
NJeZ0y7JM/edit#responses

Berikut hasil analisa:


a. Konsumen
- Login
- Daftar
- Mencari buku
- Mengecek ketersediaan buku
- Riwayat peminjaman
- Meminjam buku
- Membayar denda
- Bukti peminjaman

b. Pustakawan
- Login
- Daftar
- Mengecek ketersediaan buku
- Melihat daftar peminjam
- Riwayat peminjam

c. Administrator
- Login khusus admin
- Daftar
- Mengecek ketersediaan buku
- Melihat daftar peminjam
- Riwayat peminjam
- Konfirmasi peminjaman
- Konfirmasi pengambilan buku

2. Quality Attributes (non-functional requirement)


Berikan juga rationale dan justifikasi untuk setiap pemilihan quality attributes
1. Maintainability
Maintainability adalah suatu proses memperbaiki suatu hal yang masih belum sempurna
dengan mudah, bisa dengan memperbaiki, dan juga mengganti bagian yang rusak tanpa
mengganti atau mengganggu gugat bagian yang masih bekerja dengan baik. Aplikasi yang
kami rancang, yaitu Perpus.id mudah dalam pemeliharaannya, sehingga saat penambahan
fitur baru ataupun saat memperbaiki kerusakan yang ada akan sangat mudah prosesnya.
2. Usability
Aplikasi Perpus.id dapat digunakan oleh seluruh orang yang ingin meminjam buku, tidak
dibatasi oleh umur, sehingga setiap konsumen yang memiliki device android maka dapat
menggunakan aplikasi ini. Langkah ini juga berfungsi mencegah adanya suatu fitur yang
dapat membingungkan pengguna saat menggunakan aplikasi ini.
3. Security
Security melingkupi keamanan data pengguna saat menggunakan aplikasi ini. Aplikasi ini
melindungi data pribadi konsumen seperti email, password dan juga nama konsumen,
sehingga aplikasi ini akan sangat aman pada saat digunakan, sehingga para pengguna tidak
perlu khawatir akan bocornya data pengguna.
4. Availability
Availability mencakup ketersediaan aplikasi pada platform mana, dan juga waktu
ketersediaan aplikasi ini. Aplikasi Perpus.id tersedia pada device android dan dapat digunakan
24 jam, sehingga akan mudah digunakan dimana saja, karena pengguna hanya memerluka
device android, dan juga akses aplikasi selama 24 jam.

3. Additional non-functional requirement


- Aplikasi dapat mendukung dan digunakan pada sistem android versi 4.00 ke atas
- Pengguna yang melebihi batas waktu peminjaman buku dikenakan denda sesuai
ketentuan perpustakaan.
- Kelengkapan buku pada aplikasi mengikuti perkembangan dari perpustakaan.
- Dalam aplikasi ini juga terdapat e-book.
- Bisa digunakan device dengan ram min 1gb
- Sistem berfungsi 24jam
- Verifikasi melalui email
- Mendapatkan invoice peminjaman
4. Utility Tree
Quality Attribute – Attribute Refinement – Architecturally Significant Requirement
(ASR)

Identifikasi 1. Pengguna harus registrasi dengan menginput datadiri


beserta upload foto wajah dan KTP.(M)(H)
2. Pengguna harus login dengan email & password. (M)
(H)
3. Pengguna harus membuat Kartu perpustakaan secara
Security Authentication
daring ataupun asyncronous. (M)(H)
4. Uang dari setiap transaksi denda akan diteruskan ke
Perpus.id.(M)(H).
Authorization 5. User hanya bisa login sebagai 1 role yaitu,
Konsumen , Pustakawan, atau pelanggan. (M)(M)
Run time 1. waktu up time 24 jam (M)(M)
availability
Money liquidity 2. user dapat membayar denda (H)(H)
1. Perpus.id akan membuat tampilan simple
danseefisien mungkin sehingga setiap User dengan role
apapun harus langsung bisa adaptasi dengan menu di
Perpus.id (M)(H)
2. Setiap button harus disertai dengan icon/gambar dan
User friendly
label yang self-descriptive. (L)(H)
Usability 3. ukuran button dan font tidak terlalu kecil / besar (L)
(M)
4. si setiap laman, ada judul atau panduan lokasi
pathway saat ini (L)(M) di bawah laman
theme 5. warna antara ikon, tombol2, serta gambar2 harus
sesuai theme Perpus.id yaitu dominan Putih bercorak
emas (L)(H)
Pemeliharaan 1.Aplikasi Perpus.id sangat mudah dalam
perawatannya, sehingga sangat efisien dalam waktu
Maintanabilit
y
2. Aplikasi ini juga sangat mudah dalam memperbaiki
kerusakan yang ada
5. Proses Desain (Attribute-Driven Design)
a. Deployment / Layer diagram

b. Component Diagram
c. Use case Diagram (ini hanya contoh simple)
d. Sequence Diagram (bikin minimal 3 sequence diagram)

Sequence Diagram Login Aplikasi Perpus.id


Sequence Diagram Memilih Buku Aplikasi Perpus.id
Sequence Diagram Booking Buku Aplikasi Perpus.id
Sequence Diagram Melihat Lokasi Buku Perpus.id
Sequence Diagram Menambah Waktu Peminjaman Buku Perpus.id
Sequence Diagram Membayar Denda Aplikasi Perpus.id
Sequence Diagram Mengembalikan Buku Aplikasi Perpus.id
6. Proses Evaluasi dgn Architectural Trade-Off Analysis Method (ATAM) (slide week 9)

*Disini adalah proses trade-off ASR pada utility tree yang pertama. Hasil dari ATAM adalah
keputusan tradeoff yang diambil dan menghasilkan Utility Tree yang baru. Jelaskan 9 langkah dari
ATAM Ketika kalian mengevaluasi ASR kalian.

1. Step 1 – Present the ATAM


a. Pada step pertama, kami mempresentasikan proses ATAM pada utility tree yang
telah dibuat, lalu kami meninjau evaluasi, ekspetasi, prosedur, dan ouput yang
diinginkan berdasarkan ASR yang telah kami dapatkan.
2. Step 2 – Present the Business Drivers
a. Pada step kedua, kami mempresentasikan tujuan sistem dan bisnis yang terkait
dengan aplikasi yang akan dibuat. Untuk memudahkan dalam penyampain sistem,
kamu juga mempresentasikan fitur dan requirement, batasan sistem serta ruang
lingkup yang berhubungan dengan aplikasi ini.
3. Step 3 – Present the Architecture
a. Pada step ketiga, kami dihadapkan kendala seperti waktu pengerjaan, terbatasnya
tatap muka antar tim, pandemi covid-19, dan juga ekspetasi kualitas. Sehingga, kami
harus menyesuaikan arsitektur sistem ini dengan kendala yang kami hadapi.
4. Step 4 – Identify the architectural approaches
a. Pada step keempat, kami melakukan analisis terhadap dokumentasi dari sistem yang
telah digunakan, dan memeriksa pola arsitektur yang telah digunakan. Untuk
mempertajam analisis, kami juga menganalisis catatan dari presentasi yang dilakukan
pada step sebelumnya, dan membuat kuisioner tentang sistem kami.
5. Step 5 – Create a quality attribute tree
a. Pada step kelima, kami mendeskripsikan requirement pada setiap quality attribute
menggunakan utility tree agar kami lebih mudah memahami sistem secara detail.
Setealah itu, kami mengidentifikasi prioritas kualitas guna menyempurnakan utility
tree sebelumnya.
6. Step 6 – Analyze the Architectural Approaches
a. Pada step keenam, kami mengevaluasi kembali ASR yang terdapat pada utility tree
sebelumnya untuk menentukan perubahan – perubahan yang ada dalam quality
attribute. Dengan begitu, kami dapat mengidentifikasi skenario risiko dan non-risiko,
poin sensitivitas, dan trade off.
7. Step 7 – Brainstrom and Prioritize Scenario
a. Pada step ketujuh, kami melakukan brainstorming dengan membuat quality attribute
scenario yang kami harapkan saat menggunakan sistem, lalu kami mempresentasikan
skenario tersebut. Setelah itu, kami mendiskusikan hasil brainstorm tersebut dan
meninjau skenario yang menjadi prioritas.
8. Step 8 – Re-analyze the architectural approaches
a. Pada step kedelapan, kami melakukan analisis kembali terhadap hasil dari step
sebelumnya. Setelah itu, kami mendapatkan beberapa prioritas skenario yang akan
kami gunakan untuk utility tree baru.
9. Step 9 – Present the result
a. Pada step terakhir ini, menyajikan hasil analisis dan evaluasi dari step sebelumnya
yang menghasilkan utility tree baru. Berikut merupakan utility tree hasil proses ATAM
:
Utility tree baru 

Identifikasi 1. Pengguna harus registrasi dengan menginput


datadiri beserta upload foto wajah dan KTP, serta
menginput nomor kartu perpustakaan dan memilih role
sebagai peminjam, pustakwan.(M)(H)
2. Pengguna harus login dengan email & password.
(M)(H)
Security
3. Pengguna harus membuat Kartu perpustakaan
Authentication
secara daring ataupun asyncronous. (M)(H)
4. Uang dari setiap transaksi denda akan diteruskan ke
Perpus.id.(M)(H).
Authorization 5. User hanya bisa login sebagai 1 role yaitu,
Peminjam buku , Pustakawan, atau pelanggan. (M)(M)
Run time 1. waktu up time 24 jam (M)(M)
availability Money 2. user dapat membayar denda melalui ATM,E-money
liquidity atau secara langsung (H)(H)
1. Perpus.id akan membuat tampilan simple
danseefisien mungkin sehingga setiap User dengan
role apapun harus langsung bisa adaptasi dengan menu
di Perpus.id (M)(H)
2. Setiap button harus disertai dengan icon/gambar dan
User friendly
label yang self-descriptive. (L)(H)
3. ukuran button dan font tidak terlalu kecil / besar (L)
(M)
Usability
4. si setiap laman, ada judul atau panduan lokasi
pathway saat ini (L)(M) di bawah laman
theme 5. warna antara ikon, tombol2, serta gambar2 harus
sesuai theme Perpus.id yaitu dominan Putih bercorak
emas (L)(H)
5. Warna ikon mengikuti tema aplikasi yaitu putih dan
orange, dan tampilan tunggu atau loading mayoritas
menggunakan illustration 2D vector
1. Aplikasi Perpus.id sangat mudah dalam
perawatannya, sehingga sangat efisien dalam waktu

2. Aplikasi ini juga sangat mudah dalam memperbaiki


Maintainability
kerusakan yang ada
Perawatan
3. Aplikasi mengganti bagian yang rusak tanpa
mengganti bagian yang masih bekerja dengan baik
7. Ui/Ux (User Interface) {bersifat optional dan cukup wireframe low fidelity}
8. Architectural Tactics and Patterns (isikan Tactic and patterns berdasarkan project kalian;
disarankan jika memungkinkan digambarkan)
System
9. Buatkan 1 General Scenario pada masing2 Quality Attribute

Maintainability
Ping/Echo
Scenario
Values
Add to system Ping flood Performance Overhead
Overhead
system flood
Sumber Pengguna overhead
Increase Available Resources
Stimulus Ress
Ketika terjadi maintenance

Lingkungan Dalam operasiResource


normal Utilization
Cost Utilization
Scheduling Policy
Artefak Sistem
Policy

Respons Transaksi dapat diproses


Add to system Modify Policy
system policy
Ukuran Proses memakan waktu sesingkat-singkatnya
Response

Usability

Scenario
Values

Sumber Pengguna Terakhir

Stimulus Kenyamanan pengguna; Meminimalisir kesalahan;


Penggunaan sistem secara efisien dan mudah;

Lingkungan Saat runtime atau waktu konfigurasi, dan proses


menjalankan aplikasi

Artefak Sistem

Ukuran Waktu tugas, jumlah kesalahan, perolehan


Response pengetahuan pengguna, rasio operasi yang berhasil
terhadap total operasi, jumlah waktu,
ketidaknyamanan.

Security

Scenario
Values

Sumber User/Pengguna

Stimulus Pengisian data pengguna

Lingkungan Saat penginputan data pengguna

Artefak Sistem

Respons Sistem menyimpan data pengguna ke


database yang aman

Ukuran Response Data pengguna, Keamanan tinggi

Availibility

Scenario
Values

Sumber Device

Stimulus Operating System dan Waktu

Lingkungan Dalam operasi normal

Artefak Sistem

Ukuran Response Operating system memumpuni, dan


waktu penggunaan pada saat tidak terjadi
maintenancce

Anda mungkin juga menyukai