From 0e3456cdc6dd59a588099e3e24775f2101c34c8e Mon Sep 17 00:00:00 2001 From: dbrw Date: Fri, 15 Sep 2017 10:47:38 +0700 Subject: [PATCH] adding use case description for creating questionnaire diagram --- README.md | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 187 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 2670253..52509cf 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,7 @@ dibuat untuk memenuhi kebutuhan akan dokumen-dokumen: ## Design -### Use Case Diagram - -#### UC Diagram pembuatan kuesioner +### UC Diagram pembuatan kuesioner ```plantuml left to right direction @@ -36,20 +34,20 @@ Admin -- (Membuat Pilihan) Admin -- (Mengubah Pilihan) ``` -##### Membuat Kuesioner +#### Membuat Kuesioner Skenario utama: -1. Admin login ke dalam sistem -2. Admin mengisi form pembuatan kuesioner baru yang terdiri dari title, -descriptions, released_at -3. sistem menyimpan nilai form yang diisi dan menambahkan data id, created_at, -updated_at dan creator_id ke dalam database +1. Admin telah login ke dalam sistem +2. Admin mengisi form pembuatan kuesioner baru yang terdiri dari `title`, +`descriptions`, `released_at` +3. sistem menyimpan nilai form yang diisi dan menambahkan data `id`, `created_at`, +`updated_at` dan `creator_id` ke dalam database 4. sistem mengembalikan Admin ke tampilan daftar kuesioner Ekstensi: -2. a. form tidak diisi semuanya: +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 @@ -57,7 +55,166 @@ Ekstensi: - Admin dikembalikan ke halaman pengisian form dan diberi peringatan 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 left to right direction @@ -71,7 +228,7 @@ Responden -- (Menyelesaikan kuesioner) (Menerima notifikasi pengisian) -- Admin ``` -#### UC Diagram pencetakan laporan kuesioner +### UC Diagram pencetakan laporan kuesioner ```plantuml left to right direction @@ -89,6 +246,7 @@ class Questionnaire { title : varchar (100) descriptions : text creator_id : int + reviewer_by : int released_at : datetime created_at : datetime updated_at : datetime @@ -162,3 +320,20 @@ 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; +} +``` +