From 668f87d887f77362fbee97c97b807a73999b3559 Mon Sep 17 00:00:00 2001 From: dbrw Date: Fri, 15 Sep 2017 16:25:20 +0700 Subject: [PATCH] adding use case description for pengisian kuesioner --- README.md | 130 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 99 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 52509cf..2395a02 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,16 @@ Anindya (Perguruan Tinggi, SMK dan lainnya). Guna melancarkan akreditasi Perguruan Tinggi LEPISI pada 2018, aplikasi ini dibuat untuk memenuhi kebutuhan akan dokumen-dokumen: -- dokumen #1 -- dokumen #2 -- ... +- instrumen kepuasan mahasiswa terhadap tenaga pengajar & staf perguruan tinggi +- instrumen evaluasi lulusan +- monitoring & evaluasi SDM +- trace studi alumni perguruan tinggi ### Kebutuhan Perangkat Lunak - PHP 7.0 - nginx +- mariadb ## Design @@ -225,9 +227,93 @@ Responden -- (Mengisi identitas) Responden -- (Mengisi kuesioner) Responden -- (Menyelesaikan kuesioner) (Menerima notifikasi pengisian) .> (Menyelesaikan kuesioner) : extends +(Mengisi kuesioner) .> (Mengisi identitas) : require +(Menyelesaikan kuesioner) .> (Mengisi kuesioner) : require (Menerima notifikasi pengisian) -- Admin +Responden -- (Menerima notifikasi pengisian) ``` +#### Mengisi Identitas + +skenario utama: + +1. responden memilih kuesioner yang akan diisinya +2. responden memilih tombol isi kuesioner +3. responden mengisi data diri pada halaman pendaftaran responden yang terdiri +dari `nama`, `email`, `gender`, `handphone`, dan `occupation` +4. responden mengklik tombol simpan +5. sistem menyimpan nilai form yang diisi dan menambahkan data `created_at`, +`updated_at` ke dalam table `respondents` +6. responden dibukakan tampilan pengisian kuesioner + +ekstensi: + +3. a. form tidak diisi lengkap: + - sistem mengembalikan responden ke halaman form pendaftaran dan + menampilkan pesan kesalahan + - responden dapat mencoba mengirim form kembali setelah memperbaiki + kesalahan +5. a. sistem tidak dapat menyimpan data ke database: + - responden dikembalikan ke halaman pengisian form dan diberi peringatan + kesalahan + +#### Mengisi Kuesioner + +skenario utama: + +1. responden telah berhasil mengisi identitas +2. sistem menampilkan pertanyaan sekaligus pilihan jawaban jika tersedia kepada +responden untuk diisi +3. responden mengisi/memilih pilihan jawaban atas pertanyaan yang diberikan +lalu mengklik tombol lanjut +4. sistem menampilkan pertanyaan selanjutnya dan berulang ke langkah no. 1 +hingga semua pertanyaan terisi + +ekstensi: + +3. a. form tidak diisi lengkap: + - sistem memberikan peringatan bahwa tiap pertanyaan wajib diisi dengan + lengkap + - responden dapat mencoba mengirim form kembali setelah memperbaiki + kesalahan + +#### Menyelesaikan Kuesioner + +skenario utama: + +1. responden telah menjawab seluruh pertanyaan dan berada pada halaman +pertanyaan terakhir +2. responden menekan tombol simpan jawaban pada pertanyaan terakhir +3. sistem menampilkan rekap jawaban responden sekaligus menanyakan konfirmasi +pengiriman jawaban +4. responden memberikan centang pada pernyataan mengisi dengan data sebenarnya +lalu menekan tombol simpan +5. sistem menyimpan data jawaban untuk tiap-tiap pertanyaan dan menambahkan +data `id`, `respondent_id`, `question_id`, `created_at` dan `updated_at` pada tabel +`answers` + +ekstensi: + +4. a. responden tidak memberikan centang pada pernyataan mengisi dengan data +sebenarnya: + - sistem memberika pesan kesalahan bahwa data yang diisi harus benar dan + responden wajib menyetujui pernyataan pada layar +5. a. sistem tidak dapat menyimpan data ke database: + - responden dikembalikan ke halaman pengisian kuesioner dan diberi + peringatan kesalahan untuk kemudian dapat mencoba mengirim kembali + +#### Menerima Notifikasi Pengisian + +skenario utama: + +1. sistem mengirimkan email berupa rekap jawaban responden + +ekstensi: + +1. a. sistem gagal mengirim email: + - sistem menyimpan rekap pada file teks yang kemudian dapat dikirimkan pada + responden nantinya + ### UC Diagram pencetakan laporan kuesioner ```plantuml @@ -243,7 +329,7 @@ Admin -- (Mencetak laporan hasil pengolahan kuesioner) ```plantuml class Questionnaire { id : int - title : varchar (100) + title : varchar [100] descriptions : text creator_id : int reviewer_by : int @@ -256,7 +342,7 @@ class Questionnaire { class Section { id : int questionnaire_id : int - title : varchar (100) + title : varchar [100] descriptions : text creator_id : int created_at : datetime @@ -268,9 +354,9 @@ class Question { id : int section_id : int number : int - text : varchar (300) + text : varchar [300] descriptions : text - question_type : enum ('text', 'choice', 'number') + question_type : enum ['text', 'choice', 'number'] creator_id : int created_at : datetime updated_at : datetime @@ -281,7 +367,7 @@ class QuestionChoice { id : int question_id : int number : int - text : varchar (300) + text : varchar [300] descriptions : text creator_id : int created_at : datetime @@ -291,12 +377,11 @@ class QuestionChoice { class Respondent { id : int - login : varchar (100) - name : varchar (100) - handphone : varchar (100) - email : varchar (100) - gender : enum ('m', 'f') - descriptions : text + name : varchar [100] + handphone : varchar [100] + email : varchar [100] + gender : enum ['m', 'f'] + occupation : varchar [100] created_at : datetime updated_at : datetime deleted_at : datetime @@ -320,20 +405,3 @@ Respondent "1" -- "1..*" Answer Question "1" - "1" Answer ``` - -### ER Diagram - -```dot -diagraph ER { - node [shape=box]; questionnaires; sections; questions; respondents; - answers; - node [shape=diamond,style=filled]; question_answers; - - questionnnaires -- sections; - sections -- questions; - questions -- questions_answers; - questions -- answers; - answers -- respondent; -} -``` -