Skip to content

Commit a7e2bf4

Browse files
committed
add: useCase Example
1 parent b705f40 commit a7e2bf4

1 file changed

Lines changed: 64 additions & 136 deletions

File tree

week3/LAB3_UseCaseExamples.md

Lines changed: 64 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -1,167 +1,95 @@
1-
# ENGCE301 – LAB 3
2-
Use Case Examples (Short Version)
1+
## UC-01: View Activity History
32

4-
ใช้เป็นตัวอย่าง/แม่แบบให้นักศึกษาเขียน Use Case Scenario
5-
จาก User Stories ของระบบ Lab Submission Portal
6-
7-
---
8-
9-
## 1. Template – Use Case Scenario (สั้น)
10-
11-
ให้นักศึกษาคัดลอก template นี้แล้วกรอกของตัวเอง
12-
13-
```markdown
14-
## UC-XX: <ชื่อ Use Case>
15-
16-
**Primary Actor:** <Student / Instructor / TA>
17-
**Goal:** <เป้าหมายหลักที่ Actor ต้องการทำให้สำเร็จ>
3+
**Primary Actor:** Student
4+
**Goal:** ดูรายการกิจกรรมทั้งหมดที่เคยเข้าร่วมและชั่วโมงกิจกรรมที่ได้รับ
185

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

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

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

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

40-
---
4128

42-
## 2. Example UC-01 – View Lab List
4329

44-
**เชื่อมจาก:** US-01 View Lab List
4530

46-
```markdown
47-
## UC-01: View Lab List
4831

49-
**Primary Actor:** Student
50-
**Goal:** ดูรายการ LAB ทั้งหมดของวิชา ENGCE301
32+
## UC-02: Propose New Activity
33+
34+
**Primary Actor:** Member (Student / Staff)
35+
**Goal:** เสนอแบบฟอร์มขอจัดกิจกรรมเพื่อรอการอนุมัติจากผู้มีอำนาจ
5136

5237
### Preconditions
53-
- นักศึกษาเข้าหน้า Home ของ Portal ได้
54-
- มี LAB อย่างน้อย 1 รายการในระบบ
38+
- Member ต้องเข้าสู่ระบบ (Authenticated ด้วยบัญชีมหาวิทยาลัย)
5539

5640
### Postconditions
57-
- นักศึกษาเห็นรายการ LAB ทุกตัว พร้อมข้อมูลสำคัญ
41+
- ระบบบันทึกข้อเสนอจัดกิจกรรมพร้อมสถานะ **"Pending Approval"**
5842

59-
### Main Flow
60-
1. นักศึกษาเปิดหน้า Home
61-
2. ระบบโหลดรายการ LAB ของวิชา ENGCE301
62-
3. ระบบแสดง list/card ของ LAB แต่ละตัว
63-
4. แต่ละ LAB แสดงชื่อ, คำอธิบายสั้น ๆ, deadline, สถานะ (Open/Closed)
64-
5. นักศึกษาตรวจดู LAB ที่ต้องทำ และเลือก LAB ที่สนใจ
43+
### 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 มาดำเนินการต่อ)
6551

66-
### Alternative Flow
67-
- **AF-1 – ไม่มี LAB ในระบบ**
68-
1. ที่ขั้นตอน 2 ระบบไม่พบ LAB
69-
2. ระบบแสดงข้อความ “ยังไม่มี LAB สำหรับรายวิชานี้”
70-
3. Use Case จบลง
71-
```
52+
### Alternative Flows / Exceptions
53+
- **AF-1 – ข้อมูลฟอร์มไม่สมบูรณ์**
54+
  1. ที่ขั้นตอน 5, Member กรอกข้อมูลที่จำเป็น (Required Field) ไม่ครบถ้วน
55+
  2. ระบบแจ้งเตือนให้กรอกข้อมูลให้ครบถ้วน โดยเน้น Field ที่ขาดหายไป
56+
  3. กลับไปขั้นตอนที่ 3 เพื่อให้ Member แก้ไขข้อมูล
7257

73-
---
7458

75-
## 3. Example UC-03 – Submit Lab
7659

77-
**เชื่อมจาก:** US-03 Submit Lab File, US-05 Late Submission Notice
7860

79-
```markdown
80-
## UC-03: Submit Lab
8161

82-
**Primary Actor:** Student
83-
**Goal:** ส่งไฟล์งาน LAB ผ่านระบบ
8462

85-
### Preconditions
86-
- นักศึกษาเข้าถึงหน้ารายละเอียด LAB นั้นได้
87-
- LAB ยังเปิดรับส่ง (ตาม Policy ของรายวิชา)
63+
## UC-03: Approve Activity Proposal
8864

89-
### Postconditions
90-
- ระบบบันทึกไฟล์และเวลาส่งงานของนักศึกษา
91-
- สถานะ LAB ของนักศึกษาคนนี้อัปเดต (Submitted หรือ Late)
92-
93-
### Main Flow (ส่งตรงเวลา)
94-
1. นักศึกษาเปิดหน้า Lab Details
95-
2. ระบบแสดงส่วน “Submit Your Lab”
96-
3. นักศึกษากดเลือกไฟล์ (.pdf/.docx/.zip)
97-
4. ระบบตรวจสอบชนิดและขนาดไฟล์เบื้องต้น
98-
5. นักศึกษากดปุ่ม “Submit”
99-
6. ระบบบันทึกไฟล์และเวลาส่ง (timestamp)
100-
7. ระบบตรวจสอบว่าไม่เกิน deadline
101-
8. ระบบอัปเดตสถานะเป็น “Submitted”
102-
9. ระบบแสดงข้อความ “ส่งงานเรียบร้อยแล้ว”
103-
104-
### Alternative Flows
105-
- **AF-1 – File Type ไม่ถูกต้อง**
106-
1. เกิดจากขั้นตอน 4 เมื่อไฟล์ไม่ใช่ชนิดที่รองรับ
107-
2. ระบบแจ้งเตือน “ชนิดไฟล์ไม่รองรับ”
108-
3. กลับไปที่ขั้นตอน 3 ให้เลือกไฟล์ใหม่
109-
110-
- **AF-2 – ส่งหลัง deadline (Late)**
111-
1. ที่ขั้นตอน 7 ระบบพบว่าเวลาส่งเกิน deadline
112-
2. ถ้า policy อนุญาต Late:
113-
- ระบบบันทึกไฟล์
114-
- ตั้งสถานะเป็น “Late”
115-
3. นักศึกษาเห็นสถานะ Late ในหน้า My Labs
116-
117-
- **AF-3 – ไม่อนุญาตส่งหลัง deadline**
118-
1. ที่ขั้นตอน 7 หาก policy ไม่รับหลัง deadline
119-
2. ระบบไม่บันทึก submission
120-
3. ระบบแสดงข้อความ “หมดเขตส่งงานแล้ว”
121-
```
122-
123-
---
124-
125-
## 4. Example UC-04 – View My Lab Status
126-
127-
**เชื่อมจาก:** US-04 View My Lab Status
128-
129-
```markdown
130-
## UC-04: View My Lab Status
131-
132-
**Primary Actor:** Student
133-
**Goal:** ดูภาพรวมสถานะ LAB ทั้งหมดของตัวเอง
65+
**Primary Actor:** Approver (University Official / Activity Chairman)
66+
**Goal:** ตรวจสอบข้อเสนอจัดกิจกรรมที่ถูกส่งเข้ามา และอนุมัติ/ปฏิเสธข้อเสนอนั้น
13467

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

13972
### Postconditions
140-
- นักศึกษาเห็นสถานะ (Not Submitted / Submitted / Graded / Late) ของทุก LAB
141-
142-
### Main Flow
143-
1. นักศึกษาเปิดหน้า “My Labs”
144-
2. ระบบดึงข้อมูล LAB และสถานะของนักศึกษาแต่ละ LAB
145-
3. ระบบแสดงตารางหรือ card ของ LAB ทั้งหมด
146-
4. แต่ละแถว/การ์ดแสดงชื่อ LAB, สถานะ, คะแนน (ถ้ามี)
147-
5. นักศึกษาดูว่า LAB ไหนเสร็จแล้ว และ LAB ไหนยังต้องทำ
148-
149-
### Alternative Flows
150-
- **AF-1 – ยังไม่เคยส่งงาน**
151-
1. ระบบพบว่า LAB ทั้งหมดเป็นสถานะ Not Submitted
152-
2. ระบบแสดงข้อความเสริม เช่น “คุณยังไม่ได้ส่ง LAB ใดเลย”
153-
154-
- **AF-2 – มี LAB ที่ Late**
155-
1. ระบบพบ LAB บางตัวที่ Late
156-
2. แสดงสถานะ Late ด้วยสี/ป้ายชัดเจน (เช่น สีแดง)
157-
```
158-
159-
---
160-
161-
## 5. งานที่นักศึกษาต้องทำต่อ
162-
163-
1. เลือก Use Case ของกลุ่มเองอย่างน้อย 2–3 ตัว
164-
(อาจใช้ UC-01, UC-03, UC-04 เป็นฐาน แล้วเพิ่ม UC อื่น)
165-
2. คัดลอก Template ในหัวข้อ 1 ไปใช้เขียน Use Case Scenario ของกลุ่ม
166-
3. ตรวจว่า Use Case ที่เขียนสอดคล้องกับ User Stories ในไฟล์ `LAB3_UserStories.md`
167-
4. นำ Main Flow + Alternative Flows ไปช่วยออกแบบโครงหน้า HTML/CSS
73+
- สถานะกิจกรรมเปลี่ยนเป็น **"Approved"** หรือ **"Rejected"**
74+
- ระบบบันทึกการตัดสินใจพร้อมเหตุผล/Feedback (ถ้ามี)
75+
76+
### Main Flow (Happy Path: อนุมัติ)
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 จบลง
84+
85+
### 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 จบลง

0 commit comments

Comments
 (0)