questionnaire/README.md
2017-09-11 16:24:31 +07:00

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