Anda di halaman 1dari 3

FM-BINUS-AA-FPU-78/V2R0

BINUS University

Academic Career: Class Program:


Undergraduate / Master / Doctoral *) International/Regular/Smart Program/Global Class*)

 Mid Exam  Final Exam Term : Odd/Even/Short *)


 Short Term Exam  Others Exam : _____________

 Kemanggisan  Alam Sutera  Bekasi Academic Year :


 Senayan  Bandung  Malang 2020 / 2021

Faculty / Dept. : School of Computer Science Deadline Day / Date : Jumat / 6 Nov 2020
Time : 13:00
Code - Course : COMP6114 – Pattern Software Design Class : Kelas Khusus : LA01
Lecturer : Team Exam Type : Online

) Strikethrough the unnecessary items
The penalty for CHEATING is DROP OUT!!!

Kasus (100%)

Menanggapi kemajuan ilmu pendidikan di era teknologi informasi terkini, seorang entrepreneur
memiliki ide untuk membuat sebuah online community learning portal. Tujuan aplikasi ini adalah
memberikan platform bagi pengajar untuk memberikan materi pembelajaran secara bebas melalui
video dan streaming. Sementara itu, murid-murid dapat memilih pengajar dan topik mana yang ingin
mereka ikuti kapanpun dan dimanapun.

Aplikasi ini memberikan kemudahan bagi pengajar karena mereka dapat memberikan materi tanpa
terikat waktu dan lokasi. Selain itu, sistem ini juga bisa menjadi sumber pemasukan dimana murid-
murid dapat memberikan tips untuk pengajar yang mereka suka dalam bentuk virtual currency yang
dapat ditukarkan pengajar ke mata uang yang diinginkan melalui aplikasi.

Sebagai software engineer ternama, anda dan tim diminta untuk mengembangkan aplikasi ini.

Berikut adalah hasil requirement gathering anggota tim anda setelah berdiskusi dengan client dan
domain experts.

User Types
Aplikasi akan membagi tipe pengguna menjadi 3:
Student, yaitu user yang mengomsumsi materi baik dalam bentuk video atau mengikuti streaming
Mentor, yaitu user yang memberikan materi dengan mengupload video atau melakukan streaming
Administrator, yaitu user yang mengelola user lain dan materi melalui backend aplikasi

Student dan Mentor bergabung ke aplikasi melalui proses registrasi, sedangkan Administrator adalah
account yang dipegang oleh pihak client dan tidak dibuka ke publik.

Registrasi
Saat registrasi, pengguna memasukkan data diri, username, dan password yang diinginkan. Selain itu,
pengguna perlu memilih tipe account antara Student atau Mentor. Pengguna boleh memiliki lebih dari
satu account, tapi setiap account hanya bisa memiliki satu tipe.

Verified by,

Alvina Aulia (D4554) and sent to Program on Oct 20, 2020


Page 1 of 3
FM-BINUS-AA-FPU-78/V2R0
Pengguna juga memiliki pilihan untuk menghubungkan account mereka dengan authentication pihak
ketiga agar mereka dapat login menggunakan account pihak ketiga tersebut. Untuk saat ini, Client
meminta agar aplikasi dapat terhubung dengan account Google dan Facebook.

Home Page
Login yang sukses akan mengirim pengguna ke home page. Home page akan menampilkan video dan
streaming terbaru Mentor-Mentor yang telah di-subscribe oleh Student. Selain itu, home page juga
menampilkan daftar video dan streaming Mentor-Mentor paling popular di aplikasi.

Profile Page
Profile page milik Student akan menampilkan data diri publik pengguna dan daftar Mentor yang di-
subscribe oleh pengguna tersebut.

Profile page milik Mentor akan menampilkan data diri publik pengguna, link ke streaming yang sedang
berjalan, dan juga daftar video dan archived stream yang telah diupload oleh pengguna. Melalui
halaman ini, Student dapat subscribe ke Mentor tersebut untuk mendapatkan notifikasi saat Mentor
memulai streaming ataupun mengupload video baru. Selain itu, Student juga dapat memberikan Tips
melalui halaman ini tanpa perlu mengikuti stream.

Streaming
Streaming materi adalah fitur utama aplikasi ini. Streaming dimulai oleh Mentor, dan Student dapat
masuk dan mengikuti streaming menggunakan link URL yang dibuat saat streaming pertama dimulai.
Selama durasi streaming, Student dapat bergabung dalam chat diskusi dengan Student lain, dan juga
memberikan Tips ke Mentor menggunakan virtual currency melalui kolom chat.

Saat memulai streaming, Mentor dapat mengatur agar streaming akan diubah menjadi video archive
setelah streaming berakhir. Fitur ini bersifat opsional dan Mentor dapat menonaktifkannya jika
diinginkan.

Video Material
Selain streaming, Mentor juga dapat mengupload video material melalui profile page. Video material
tidak memiliki fitur chatting secara real-time seperti dalam streaming, tetapi Student yang menonton
video tersebut dapat menaruh comment yang dapat dibaca dan di-reply oleh Student lain.

Archived video yang dibuat setelah streaming selesai akan dianggap sama dengan video material oleh
aplikasi.

Virtual Shop
Virtual shop adalah bagian aplikasi dimana Student dapat membeli virtual currency menggunakan
mata uang asli. Virtual currency ini akan digunakan oleh Student untuk memberikan Tips ke Mentor
yang mereka sukai baik saat mengikuti streaming ataupun melalui profile page Mentor tersebut.

Dari pihak Mentor, virtual shop digunakan untuk menukarkan virtual currency yang mereka dapatkan
menjadi mata uang asli sebagai sumber pendapatan mereka.

Untuk saat ini, Client meminta agar proses pertukaran virtual currency menjadi uang asli dan
sebaliknya akan diarahkan ke aplikasi third party yaitu Paypal.

Verified by,

Alvina Aulia (D4554) and sent to Program on Oct 20, 2020


Page 2 of 3
FM-BINUS-AA-FPU-78/V2R0
Soal Kasus
Berdasarkan requirement di atas, tim anda diminta untuk membuat design aplikasi.
1. Tentukan Bounded Context untuk aplikasi di atas dan gambarkan dalam bentuk diagram.
Jabarkan setiap Bounded Context menjadi component-component yang lebih kecil sesuai
kebutuhan agar diagram kalian dapat menggambarkan aplikasi tersebut sedetail mungkin.
Berikan juga penjelasan mengapa kalian mengelompokkan component-component tadi ke
dalam Bounded Context tersebut. (30%)
2. Tentukan metode integrasi untuk setiap Bounded Context yang telah kalian tentukan di atas,
dan tambahkan ke diagram kalian. Selain itu, dokumentasikan alasan kalian memilih metode-
metode integrasi tersebut untuk tiap Bounded Context. (20%)
3. Jabarkan Entities, Value Objects, dan Domain Services (jika ada) dalam desain kalian. Berikan
penjelasan singkat mengapa kalian memilih object-object tersebut untuk kalian gunakan dalam
aplikasi kalian. (20%)

Selain design, kalian juga diminta membuat prototype code. Sebagai team leader, kalian tidak perlu
membuat keseluruhan aplikasi. Kalian hanya diminta untuk:
1. Pilih minimal 3 Entities dan 3 Value Objects yang telah kalian buat di atas, dan buat code untuk
class-class tersebut menggunakan bahasa pemrograman OOP (disarankan menggunakan C#).
Apabila kalian membuat Domain Service dalam desain kalian, tambahkan juga minimal 1
Domain Service. Kalian boleh menggunakan dummy value saat membuat code-code tersebut.
(30%)

Detail yang dijabarkan di requirement di atas harus ada dalam jawaban kalian, tetapi kalian bebas
menambahkan detail-detail di luar requirement apabila dirasa perlu untuk membuat desain kalian
lebih bagus. Apabila kalian menambahkan detail baru, kalian wajib menjelaskan apa yang ditambahkan
dan alasan kalian menambahkan detail tersebut dalam jawaban kalian.

-- Selamat Mengerjakan --

Verified by,

Alvina Aulia (D4554) and sent to Program on Oct 20, 2020


Page 3 of 3

Anda mungkin juga menyukai