Skip to content

Commit f44e1fe

Browse files
committed
change usecase
1 parent 4880e52 commit f44e1fe

1 file changed

Lines changed: 148 additions & 57 deletions

File tree

week3/LAB3_UseCaseExamples.md

Lines changed: 148 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,186 @@
1-
## UC-01: View Activity History
1+
## UC-XX: <ชื่อ Use Case>
22

3-
Primary Actor: Student
4-
Goal: ดูรายการกิจกรรมทั้งหมดที่เคยเข้าร่วมและชั่วโมงกิจกรรมที่ได้รับ
3+
**Primary Actor:** <Student / Instructor / TA>
4+
**Goal:** <เป้าหมายหลักที่ Actor ต้องการทำให้สำเร็จ>
55

66
### Preconditions
7-
- Student ต้องเข้าสู่ระบบ (Authenticated) สำเร็จแล้ว
8-
- ระบบมีข้อมูลกิจกรรมที่ Student เคยเข้าร่วมอย่างน้อย 1 กิจกรรม
7+
- เงื่อนไขที่ต้องเป็นจริงก่อนเริ่ม Use Case
98

109
### Postconditions
11-
- Student เห็นกิจกรรมที่เคยเข้าร่วมและชั่วโมงกิจกรรมที่ได้รับ พร้อมชั่วโมงสะสมรวม
10+
- เงื่อนไขที่ต้องเป็นจริงหลัง Use Case สำเร็จ
1211

1312
### Main Flow (Happy Path)
14-
1. Student เลือกเมนูหรือกดปุ่ม "ประวัติกิจกรรม / History"
15-
2. ระบบดึงข้อมูลกิจกรรมทั้งหมดที่ Student เข้าร่วมสำเร็จแล้ว
16-
3. ระบบแสดงตารางหรือรายการกิจกรรม พร้อมรายละเอียด: ชื่อกิจกรรม, วันที่เข้าร่วม, ชั่วโมงกิจกรรมที่ได้รับ
17-
4. ระบบคำนวณและแสดง ชั่วโมงกิจกรรมสะสมรวม ท้ายตาราง
18-
5. Use Case จบลง
13+
1. ...
14+
2. ...
15+
3. ...
16+
4. ...
1917

2018
### Alternative Flows / Exceptions
21-
- AF-1 – ไม่มีประวัติการเข้าร่วม**
22-
  1. ที่ขั้นตอน 2 ระบบไม่พบข้อมูลกิจกรรมที่ Student เคยเข้าร่วม
23-
  2. ระบบแสดงข้อความ **“คุณยังไม่เคยเข้าร่วมกิจกรรมใด ๆ”**
24-
  3. Use Case จบลง
19+
- **AF-1 – <ชื่อกรณีย่อย>**
20+
1. ...
21+
2. ...
22+
- **AF-2 – <ชื่อ error หรือกรณีพิเศษ>**
23+
1. ...
24+
2. ...
2525

26+
---
2627

28+
## UC-01: View Lab List
2729

30+
**Primary Actor:** Student
31+
**Goal:** ดูรายการ LAB ทั้งหมดของวิชา ENGCE301
2832

33+
### Preconditions
34+
- นักศึกษาเข้าหน้า Home ของ Portal ได้
35+
- มี LAB อย่างน้อย 1 รายการในระบบ
2936

37+
### Postconditions
38+
- นักศึกษาเห็นรายการ LAB ทุกตัว พร้อมข้อมูลสำคัญ
3039

40+
### Main Flow (Happy Path)
41+
1. นักศึกษาเปิดหน้า Home หรือหน้า Lab List
42+
2. ระบบโหลดรายการ LAB ของวิชา ENGCE301
43+
3. ระบบแสดง list/card ของ LAB แต่ละตัว
44+
4. แต่ละ LAB แสดงชื่อ, คำอธิบายสั้น ๆ, deadline, สถานะ (Open/Closed)
45+
5. นักศึกษาตรวจดู LAB ที่ต้องทำ และเลือก LAB ที่สนใจ
3146

32-
## UC-02: Propose New Activity
47+
### Alternative Flows / Exceptions
48+
- **AF-1 – ไม่มี LAB ในระบบ**
49+
1. ที่ขั้นตอน 2 ระบบไม่พบ LAB
50+
2. ระบบแสดงข้อความ “ยังไม่มี LAB สำหรับรายวิชานี้”
51+
3. Use Case จบลง
3352

34-
Primary Actor: Member (Student / Staff)
35-
Goal: เสนอแบบฟอร์มขอจัดกิจกรรมเพื่อรอการอนุมัติจากผู้มีอำนาจ
53+
---
54+
55+
## UC-02: View Lab Details
56+
57+
**Primary Actor:** Student
58+
**Goal:** ดูรายละเอียดทั้งหมดของ LAB แต่ละตัวก่อนเริ่มทำ
3659

3760
### Preconditions
38-
- Member ต้องเข้าสู่ระบบ (Authenticated ด้วยบัญชีมหาวิทยาลัย)
61+
- นักศึกษาเข้าถึงหน้ารายการ LAB (Lab List) ได้
62+
- LAB ที่เลือกต้องถูกเผยแพร่แล้วและมีรายละเอียดพร้อมแสดง
3963

4064
### Postconditions
41-
- ระบบบันทึกข้อเสนอจัดกิจกรรมพร้อมสถานะ "Pending Approval"
65+
- นักศึกษาเห็นรายละเอียดโจทย์ LAB ครบถ้วน รวมถึงไฟล์แนบและ deadline
4266

4367
### Main Flow (Happy Path)
44-
1. Member เลือกเมนูหรือกดปุ่ม **"เสนอจัดกิจกรรม / Access Event"**
45-
2. ระบบแสดงแบบฟอร์มให้กรอกรายละเอียดข้อเสนอ (ชื่อ, วันที่, เป้าหมาย, ผู้เข้าร่วมที่คาดหวัง, ฯลฯ)
46-
3. Member กรอกข้อมูลที่จำเป็นทั้งหมด
47-
4. Member กดปุ่ม **"Submit Proposal"**
48-
5. ระบบตรวจสอบความสมบูรณ์ของข้อมูล และบันทึกข้อเสนอ
49-
6. ระบบแสดงข้อความยืนยัน “เสนอกิจกรรมสำเร็จ รอการอนุมัติ”
50-
7. Use Case จบลง (รอ Primary Actor ใน UC-03 มาดำเนินการต่อ)
68+
1. นักศึกษาคลิกที่ชื่อ LAB หรือปุ่ม "Details" จากหน้า Lab List (UC-01)
69+
2. ระบบดึงข้อมูลรายละเอียดทั้งหมดของ LAB นั้นจากฐานข้อมูล
70+
3. ระบบแสดงหน้า Lab Details ซึ่งประกอบด้วย: ชื่อ LAB, จุดประสงค์, รายละเอียดโจทย์, deadline, ไฟล์แนบ
71+
4. ระบบแสดงสถานะการส่งงานของนักศึกษาคนนั้น (Not Submitted / Submitted / Graded)
72+
5. นักศึกษาดูรายละเอียดและจบ Use Case
5173

5274
### Alternative Flows / Exceptions
53-
- AF-1 – ข้อมูลฟอร์มไม่สมบูรณ์**
54-
  1. ที่ขั้นตอน 5, Member กรอกข้อมูลที่จำเป็น (Required Field) ไม่ครบถ้วน
55-
  2. ระบบแจ้งเตือนให้กรอกข้อมูลให้ครบถ้วน โดยเน้น Field ที่ขาดหายไป
56-
  3. กลับไปขั้นตอนที่ 3 เพื่อให้ Member แก้ไขข้อมูล
75+
- **AF-1 – Lab ไม่พร้อมใช้งาน**
76+
1. นักศึกษาพยายามเข้าถึงรายละเอียด LAB ที่ผู้สอนยังไม่ได้เผยแพร่
77+
2. ระบบแสดงข้อความปฏิเสธการเข้าถึง: “รายละเอียด LAB นี้ยังไม่พร้อมใช้งาน”
78+
3. Use Case จบลง
79+
80+
---
5781

82+
## UC-03: Submit Lab
5883

84+
**Primary Actor:** Student
85+
**Goal:** ส่งไฟล์งาน LAB ผ่านระบบ
5986

87+
### Preconditions
88+
- นักศึกษาเข้าถึงหน้ารายละเอียด LAB นั้นได้
89+
- LAB ยังเปิดรับส่ง (ไม่ว่าจะเป็นตรงเวลาหรือ Late Submission ตาม Policy)
90+
91+
### Postconditions
92+
- ระบบบันทึกไฟล์และเวลาส่งงานของนักศึกษา
93+
- สถานะ LAB ของนักศึกษาคนนี้อัปเดต (Submitted หรือ Late)
94+
95+
### Main Flow (ส่งตรงเวลา)
96+
1. นักศึกษาเปิดหน้า Lab Details (UC-02)
97+
2. ระบบแสดงส่วน “Submit Your Lab”
98+
3. นักศึกษากดเลือกไฟล์ (.pdf/.docx/.zip)
99+
4. ระบบตรวจสอบชนิดและขนาดไฟล์เบื้องต้น
100+
5. นักศึกษากดปุ่ม “Submit”
101+
6. ระบบบันทึกไฟล์และเวลาส่ง (timestamp)
102+
7. ระบบตรวจสอบว่า **ไม่เกิน deadline**
103+
8. ระบบอัปเดตสถานะเป็น **“Submitted”**
104+
9. ระบบแสดงข้อความ “ส่งงานเรียบร้อยแล้ว”
60105

106+
### Alternative Flows / Exceptions
107+
- **AF-1 – File Type ไม่ถูกต้อง**
108+
1. เกิดจากขั้นตอน 4 เมื่อไฟล์ไม่ใช่ชนิดที่รองรับ
109+
2. ระบบแจ้งเตือน “ชนิดไฟล์ไม่รองรับ”
110+
3. กลับไปที่ขั้นตอน 3 ให้เลือกไฟล์ใหม่
61111

112+
- **AF-2 – ส่งหลัง deadline (Late)**
113+
1. ที่ขั้นตอน 7 ระบบพบว่าเวลาส่ง **เกิน deadline**
114+
2. ถ้า policy อนุญาต Late:
115+
- ระบบบันทึกไฟล์
116+
- ตั้งสถานะเป็น **“Late”**
117+
- ระบบแสดงข้อความเตือน **"ส่งงานล่าช้า"**
118+
3. นักศึกษาเห็นสถานะ Late ในหน้า My Labs
62119

63-
## UC-03: Approve Activity Proposal
120+
- **AF-3 – ไม่อนุญาตส่งหลัง deadline**
121+
1. ที่ขั้นตอน 7 หาก policy ไม่รับหลัง deadline
122+
2. ระบบไม่บันทึก submission
123+
3. ระบบแสดงข้อความ **“หมดเขตส่งงานแล้ว”**
64124

65-
Primary Actor: Approver (University Official / Activity Chairman)
66-
Goal: ตรวจสอบข้อเสนอจัดกิจกรรมที่ถูกส่งเข้ามา และอนุมัติ/ปฏิเสธข้อเสนอนั้น
125+
---
126+
127+
## UC-04: View My Lab Status
128+
129+
**Primary Actor:** Student
130+
**Goal:** ดูภาพรวมสถานะ LAB ทั้งหมดของตัวเอง
67131

68132
### Preconditions
69-
- Approver ต้องเข้าสู่ระบบ (Authenticated) และมีสิทธิ์ในการอนุมัติกิจกรรม
70-
- มีข้อเสนอจัดกิจกรรมที่สถานะ "Pending Approval" อย่างน้อย 1 รายการ
133+
- นักศึกษาเข้าหน้า My Labs ได้
134+
- ระบบมีข้อมูล LAB ของวิชานี้สำหรับนักศึกษาคนนี้
71135

72136
### Postconditions
73-
- สถานะกิจกรรมเปลี่ยนเป็น "Approved" หรือ "Rejected"
74-
- ระบบบันทึกการตัดสินใจพร้อมเหตุผล/Feedback (ถ้ามี)
75-
76-
### Main Flow
77-
1. Approver เลือกเมนู "ตรวจสอบข้อเสนอ / Event Submission"
78-
2. ระบบแสดงรายการข้อเสนอที่สถานะ "Pending Approval"
79-
3. Approver เลือกข้อเสนอที่ต้องการและดูรายละเอียดทั้งหมด
80-
4. Approver เลือกปุ่ม "Approve" (หรือ "Pass")
81-
5. ระบบบันทึกการอนุมัติและอัปเดตสถานะกิจกรรมเป็น "Approved"
82-
6. ระบบแจ้งเตือน/ส่งอีเมลไปยังผู้เสนอ
83-
7. Use Case จบลง
137+
- นักศึกษาเห็นสถานะ (Not Submitted / Submitted / Graded / Late) ของทุก LAB
138+
139+
### Main Flow (Happy Path)
140+
1. นักศึกษาเปิดหน้า “My Labs”
141+
2. ระบบดึงข้อมูล LAB และสถานะการส่งงานของนักศึกษาแต่ละ LAB
142+
3. ระบบแสดงตารางหรือ card ของ LAB ทั้งหมด
143+
4. แต่ละแถว/การ์ดแสดงชื่อ LAB, สถานะ, คะแนน (ถ้ามี) และ Feedback สั้น ๆ (ถ้าตรวจแล้ว)
144+
5. นักศึกษาดูว่า LAB ไหนเสร็จแล้ว และ LAB ไหนยังต้องทำ
145+
146+
### Alternative Flows / Exceptions
147+
- **AF-1 – มี LAB ที่ Late / Graded**
148+
1. ระบบพบ LAB บางตัวที่ Late (สถานะ Late) หรือตรวจแล้ว (สถานะ Graded)
149+
2. แสดงสถานะ Late/Graded ด้วยสี/ป้ายชัดเจน **(ต้องใช้ CSS Class ที่แตกต่าง)**
150+
3. แสดงคะแนนและ Feedback ในคอลัมน์ Score
151+
152+
- **AF-2 – ยังไม่เคยส่งงาน**
153+
1. ระบบพบว่า LAB ทั้งหมดเป็นสถานะ Not Submitted
154+
2. ระบบแสดงข้อความเสริม เช่น “คุณยังไม่ได้ส่ง LAB ใดเลย”
155+
156+
---
157+
158+
## UC-06: Grade Submission
159+
160+
**Primary Actor:** Instructor / TA
161+
**Goal:** บันทึกคะแนนและ Feedback สำหรับงาน LAB ที่นักศึกษาส่งมา
162+
163+
### Preconditions
164+
- Instructor/TA ต้องเข้าสู่ระบบ (Authenticated)
165+
- Student ต้องส่งงาน LAB มาแล้ว (สถานะ Submitted หรือ Late)
166+
- Instructor/TA เข้าถึงหน้า View Submissions ของ LAB นั้นได้
167+
168+
### Postconditions
169+
- ระบบบันทึกคะแนนและ Feedback เรียบร้อยแล้ว
170+
- สถานะ LAB ของนักศึกษาคนนั้นเปลี่ยนเป็น **“Graded”**
171+
- คะแนนและ Feedback พร้อมแสดงในหน้า My Labs ของ Student (UC-04)
172+
173+
### Main Flow (Happy Path)
174+
1. Instructor/TA เปิดหน้า View Submissions (UC-06 หรือเทียบเท่า)
175+
2. Instructor/TA เลือก Submission ของนักศึกษาที่ต้องการให้คะแนน
176+
3. ระบบแสดงหน้าจอสำหรับกรอกคะแนน (เช่น 0-100) และช่องกรอกข้อความ Feedback
177+
4. Instructor/TA กรอกคะแนนและข้อความ Feedback
178+
5. Instructor/TA กดปุ่ม **“Save Score”**
179+
6. ระบบบันทึกข้อมูลและอัปเดตสถานะเป็น **“Graded”**
180+
7. ระบบแสดงข้อความยืนยัน “บันทึกคะแนนเรียบร้อยแล้ว”
84181

85182
### Alternative Flows / Exceptions
86-
- AF-1 – ปฏิเสธพร้อม Feedback**
87-
  1. ที่ขั้นตอน 4, Approver เลือกปุ่ม "Reject" (หรือ "Not Pass")
88-
  2. ระบบบังคับให้ Approver กรอก Feedback/เหตุผล ในการปฏิเสธ
89-
  3. ระบบบันทึกการตัดสินใจและอัปเดตสถานะเป็น "Rejected"
90-
  4. ระบบแจ้งเตือนพร้อม Feedback ไปยังผู้เสนอ
91-
  5. Use Case จบลง
92-
- **AF-2 – ไม่มีสิทธิ์ในการอนุมัติ**
93-
  1. ที่ขั้นตอน 1, ผู้ใช้เข้าถึงเมนู "ตรวจสอบข้อเสนอ" แต่ระบบพบว่าไม่มีสิทธิ์ "Approver"
94-
  2. ระบบปฏิเสธการเข้าถึงและแสดงข้อความ "คุณไม่มีสิทธิ์ในการอนุมัติกิจกรรม"
95-
  3. Use Case จบลง
183+
- **AF-1 – คะแนนที่กรอกไม่อยู่ในช่วง**
184+
1. ที่ขั้นตอน 4, Instructor/TA กรอกคะแนนที่เกินขอบเขตสูงสุด (เช่น > 100)
185+
2. ระบบแจ้งเตือน “คะแนนที่กรอกต้องอยู่ในช่วงที่กำหนด”
186+
3. กลับไปที่ขั้นตอน 4 เพื่อแก้ไขคะแนน

0 commit comments

Comments
 (0)