adding use case description for creating questionnaire diagram

This commit is contained in:
dbrw 2017-09-15 10:47:38 +07:00
parent 0bd2441395
commit 0e3456cdc6

199
README.md
View File

@ -18,9 +18,7 @@ dibuat untuk memenuhi kebutuhan akan dokumen-dokumen:
## Design ## Design
### Use Case Diagram ### UC Diagram pembuatan kuesioner
#### UC Diagram pembuatan kuesioner
```plantuml ```plantuml
left to right direction left to right direction
@ -36,20 +34,20 @@ Admin -- (Membuat Pilihan)
Admin -- (Mengubah Pilihan) Admin -- (Mengubah Pilihan)
``` ```
##### Membuat Kuesioner #### Membuat Kuesioner
Skenario utama: Skenario utama:
1. Admin login ke dalam sistem 1. Admin telah login ke dalam sistem
2. Admin mengisi form pembuatan kuesioner baru yang terdiri dari title, 2. Admin mengisi form pembuatan kuesioner baru yang terdiri dari `title`,
descriptions, released_at `descriptions`, `released_at`
3. sistem menyimpan nilai form yang diisi dan menambahkan data id, created_at, 3. sistem menyimpan nilai form yang diisi dan menambahkan data `id`, `created_at`,
updated_at dan creator_id ke dalam database `updated_at` dan `creator_id` ke dalam database
4. sistem mengembalikan Admin ke tampilan daftar kuesioner 4. sistem mengembalikan Admin ke tampilan daftar kuesioner
Ekstensi: Ekstensi:
2. a. form tidak diisi semuanya: 2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan kuesioner baru dan - sistem mengembalikan admin ke halaman form pembuatan kuesioner baru dan
menampilkan pesan kesalahan menampilkan pesan kesalahan
- Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap - Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
@ -57,7 +55,166 @@ Ekstensi:
- Admin dikembalikan ke halaman pengisian form dan diberi peringatan - Admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan kesalahan
#### UC Diagram pengisian kuesioner #### Mengubah Kuesioner
Skenario utama:
1. Admin telah login ke dalam sistem
2. Admin mengisi form edit kuesioner yang terdiri dari `title`, `descriptions`, dan
`released_at`
3. sistem menyimpan nilai form yang diisi sesuai dengan `id` dari kuesioner yang
sedang diedit ke dalam database
4. sistem mengembalikan Admin ke tampilan daftar kuesioner
Ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan kuesioner baru dan
menampilkan pesan kesalahan
- Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
2. b. tanggal `released_at` telah lewat dari tanggal hari mengubah
- sistem menampilkan pesan bahwa tanggal `released_at` tidak dapat diubah
lagi
3. a. sistem tidak dapat menyimpan data ke database:
- Admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
#### Membuat Seksi
Skenario utama:
1. Admin telah login ke dalam sistem dan memilih kuesioner yang akan dibuatkan
seksinya
2. Admin mengisi form pembuatan seksi baru yang terdiri dari `title`,
`descriptions`
3. sistem menyimpan nilai form yang diisi dan menambahkan data `id`, `created_at`,
`updated_at`, `questionnaire_id` dan `creator_id` ke dalam table `sections`
4. sistem mengembalikan Admin ke tampilan daftar seksi dari kuesioner yang
sedang diedit
Ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan seksi baru dan
menampilkan pesan kesalahan
- Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
3. a. sistem tidak dapat menyimpan data ke database:
- Admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
#### Mengubah Seksi
Skenario utama:
1. Admin telah login ke dalam sistem dan memilih kuesioner yang akan diedit
seksinya
2. Admin mengisi form edit seksi yang terdiri dari `title`, `descriptions`
3. sistem menyimpan nilai form yang diisi sesuai dengan `id` dari seksi yang
sedang diedit ke dalam database
4. sistem mengembalikan Admin ke tampilan daftar seksi kuesioner
Ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form mengubah seksi dan
menampilkan pesan kesalahan
- Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
3. a. sistem tidak dapat menyimpan data ke database:
- Admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
#### Membuat Pertanyaan
skenario utama:
1. admin telah login ke dalam sistem dan memilih kuesioner dan seksi yang akan
dibuatkan pertanyaan
2. admin mengisi form pembuatan pertanyaan baru yang terdiri dari `title`,
`descriptions`, `question_type`, `text`, `number`
3. sistem menyimpan nilai form yang diisi dan menambahkan data `id`, `created_at`,
`updated_at`, `section_id` dan `creator_id` ke dalam table `questions`
4. sistem mengembalikan admin ke tampilan daftar pertanyaan dari kuesioner dan
seksi yang sedang diedit
ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan seksi baru dan
menampilkan pesan kesalahan
- admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
3. a. sistem tidak dapat menyimpan data ke database:
- admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
#### Mengubah Pertanyaan
Skenario utama:
1. Admin telah login ke dalam sistem dan memilih kuesioner dan seksi yang akan
diedit pertanyaannya
2. Admin mengisi form edit pertanyaan yang terdiri dari `title`, `descriptions`,
`question_type`, `text`, dan `number`
3. sistem menyimpan nilai form yang diisi sesuai dengan `id` dari pertanyaan yang
sedang diedit ke dalam database
4. sistem mengembalikan Admin ke tampilan daftar pertanyaan kuesioner
Ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan pertanyaan baru dan
menampilkan pesan kesalahan
- Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
3. a. sistem tidak dapat menyimpan data ke database:
- Admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
#### Membuat Pilihan
skenario utama:
1. admin telah login ke dalam sistem dan memilih pertanyaan yang akan dibuatkan
pilihan
2. admin mengisi form pembuatan pilihan baru yang terdiri dari `descriptions`,
`text`, `number`
3. sistem menyimpan nilai form yang diisi dan menambahkan data `id`, `created_at`,
`updated_at`, `questions_id` dan `creator_id` ke dalam table `question_choices`
4. sistem mengembalikan admin ke tampilan daftar pilihan dari pertanyaan yang
sedang diedit
ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan pilihan baru dan
menampilkan pesan kesalahan
- admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
3. a. sistem tidak dapat menyimpan data ke database:
- admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
#### Mengubah Pilihan
Skenario utama:
1. Admin telah login ke dalam sistem dan memilih pilihan pertanyaan yang
akan diedit
2. Admin mengisi form edit pilihan yang terdiri dari `title`, `descriptions`,
`question_type`, `text`, dan `number`
3. sistem menyimpan nilai form yang diisi sesuai dengan `id` dari pertanyaan yang
sedang diedit ke dalam database
4. sistem mengembalikan Admin ke tampilan daftar pertanyaan kuesioner
Ekstensi:
2. a. form tidak diisi lengkap:
- sistem mengembalikan admin ke halaman form pembuatan pertanyaan baru dan
menampilkan pesan kesalahan
- Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
3. a. sistem tidak dapat menyimpan data ke database:
- Admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
### UC Diagram pengisian kuesioner
```plantuml ```plantuml
left to right direction left to right direction
@ -71,7 +228,7 @@ Responden -- (Menyelesaikan kuesioner)
(Menerima notifikasi pengisian) -- Admin (Menerima notifikasi pengisian) -- Admin
``` ```
#### UC Diagram pencetakan laporan kuesioner ### UC Diagram pencetakan laporan kuesioner
```plantuml ```plantuml
left to right direction left to right direction
@ -89,6 +246,7 @@ class Questionnaire {
title : varchar (100) title : varchar (100)
descriptions : text descriptions : text
creator_id : int creator_id : int
reviewer_by : int
released_at : datetime released_at : datetime
created_at : datetime created_at : datetime
updated_at : datetime updated_at : datetime
@ -162,3 +320,20 @@ Respondent "1" -- "1..*" Answer
Question "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;
}
```