2.6 KiB
2.6 KiB
Questionnaire
Aplikasi berbasis web untuk publikasi kuesioner pada lingkup Yayasan Widya Anindya (Perguruan Tinggi, SMK dan lainnya).
Latar Belakang
Guna melancarkan akreditasi Perguruan Tinggi LEPISI pada 2018, aplikasi ini dibuat untuk memenuhi kebutuhan akan dokumen-dokumen:
- dokumen #1
- dokumen #2
- ...
Kebutuhan Perangkat Lunak
- PHP 7.0
- nginx
Design
Use Case Diagram
UC Diagram pembuatan kuesioner
left to right direction
actor Admin
Admin -- (Membuat Kuesioner)
Admin -- (Mengubah Kuesioner)
Admin -- (Membuat Seksi)
Admin -- (Mengubah Seksi)
Admin -- (Membuat Pertanyaan)
Admin -- (Mengubah Pertanyaan)
Admin -- (Membuat Pilihan)
Admin -- (Mengubah Pilihan)
UC Diagram pengisian kuesioner
left to right direction
actor Responden
actor Admin
Responden -- (Mengisi identitas)
Responden -- (Mengisi kuesioner)
Responden -- (Menyelesaikan kuesioner)
(Menerima notifikasi pengisian) -- Admin
UC Diagram pencetakan laporan kuesioner
left to right direction
actor Admin
Admin -- (Mencetak rekap pengisian kuesioner)
Admin -- (Mencetak laporan hasil pengolahan kuesioner)
Class Diagram
class Questionnaire {
id : int
title : varchar (100)
descriptions : text
released_at : datetime
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Section {
id : int
questionnaire_id : int
title : varchar (100)
descriptions : text
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Question {
id : int
section_id : int
number : int
text : varchar (300)
descriptions : text
question_type : enum ('text', 'choice', 'number')
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class QuestionChoice {
id : int
question_id : int
number : int
text : varchar (300)
descriptions : text
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Respondent {
id : int
login : varchar (100)
name : varchar (100)
handphone : varchar (100)
email : varchar (100)
gender : enum ('m', 'f')
descriptions : text
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Answer {
id : int
respondent_id : int
question_id: int
text : text
choice : int
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
Questionnaire "1" -- "1..*" Section
Section "1" -- "1..*" Question
Question "1" -- "0..*" QuestionChoice
Respondent "1" -- "1..*" Answer
Question "1" - "1" Answer