หลักสูตร เรียน Software Engineering ปูพื้นฐานสำหรับวิศวกรซอฟต์แวร์ เรียนง่ายเป็นเร็ว Zero to Hero
สามารถเรียนได้ทุกคน ไม่จำเป็นต้องมีความรู้มาก่อน
เนื้อหาการเรียน Software Engineering ปูพื้นฐานสำหรับวิศวกรซอฟต์แวร์
แบ่งเป็น 15 ส่วน
ส่วนที่ 1: เริ่มต้นทำความเข้าใจศาสตร์วิศวกรรมซอฟต์แวร์ (Learn Software Engineering)
1. ความหมายของวิศวกรรมซอฟต์แวร์ What is Software Engineering?
2. ทักษะวิศวกรรมซอฟต์แวร์ที่ได้เมื่อเริ่มเรียนเป็น Student
3. ขั้นตอนการพัฒนาซอฟต์แวร์ Software Development Life Cycle (SDLC)
4. ทักษะวิศวกรรมซอฟต์แวร์ที่ได้หลังจากผ่านการฝึกงานเป็น Trainee
5. ทักษะวิศวกรรมซอฟต์แวร์ที่ได้เมื่อเป็น Software Engineer
6. เส้นทางของสายอาชีพวิศวกรซอฟต์แวร์ Software Engineering Careers
7. เส้นทางการเป็นวิศวกรซอฟต์แวร์ How to Become Software Engineers
8. ช่องทางการหางาน Software Engineer ทั้งในประเทศและต่างประเทศกลุ่ม FAAG
ส่วนที่ 2: เรียนรู้ศาสตร์ด้านวิศวกรรมซอฟต์แวร์ (Introduction to Software Engineering)
9. แนะนำวิศวกรรมซอฟต์แวร์
10. ประเภทของผลิตภัณฑ์ซอฟต์แวร์ Types of Software Products
11. ลักษณะของซอฟต์แวร์ที่ดี Good Software
12. ปัจจัยที่ส่งผลกับการพัฒนาซอฟต์แวร์
13. ผู้ที่เกี่ยวข้องกับการใช้งานซอฟต์แวร์ Clients Customers Users
14. ความเสี่ยงที่ส่งผลกับการพัฒนาซอฟต์แวร์
15. หน้าที่รับผิดชอบการพัฒนาซอฟต์แวร์
16. กระบวนการซอฟต์แวร์ Software Process
17. ขั้นตอนการพัฒนาซอฟต์แวร์ Software Development Process Steps
18. STEP 1: Feasibility and Planning
19. STEP 2: Requirements
20. STEP 3: User Interface Design
21. STEP 4: System and Program Design
22. STEP 5: Implementation (Coding)
23. STEP 6: Acceptance and Release
24. STEP 7: Operation and Maintenance
25. ขั้นตอนการควบคุมคุณภาพของการพัฒนาซอฟต์แวร์ Quality Control
26. หมวดหมู่การทดสอบซอฟต์แวร์
ส่วนที่ 3: แบบฝึกหัดและสรุปเนื้อหาส่วนเริ่มต้น Introduction to Software Engineering
27. 1. ข้อใดกล่าวถูกต้องเกี่ยวกับ Software Engineering
28. 2. รูปภาพดังกล่าว ต้องใช้หลักการทางวิศวกรรมด้านใด จึงจะถูกต้องที่สุด
29. 3. แนวทางการพัฒนา Software ที่ดี ควรเลือกพัฒนาแบบไหน ข้อใดตอบได้ถูกต้อง
30. 4. หลักการพัฒนา Software ที่ตรงกับแนวคิด Minimum Viable Product ข้อใดถูกต้อง
31. 5. ข้อใดเรียงลำดับกระบวนการพัฒนา Software ได้ถูกต้อง
32. 6. ข้อใดถูกต้องเกี่ยวกับความหมายของ Software Engineer
33. 7. ข้อใดเรียงลำดับเส้นทางสายงาน Software Engineer ได้ถูกต้อง
34. 8. Software Engineer ต้องมีความเกี่ยวข้องกับอาชีพใดบ้าง
35. 9. ข้อใดคือทักษะที่ Software Engineer ต้องมีในการทำงาน
36. 10. นอกจากทักษะเหล่านี้แล้ว Software Engineer ต้องมีทักษะอะไรเพิ่มอีกบ้าง
ส่วนที่ 4: กระบวนการพัฒนาซอฟต์แวร์สำหรับวิศวกรซอฟต์แวร์ SDCL & Software Process Models
37. Software Development Life Cycle (SDLC) Phases
38. แนะนำโมเดลกระบวนการพัฒนาซอฟต์แวร์ (Software Process Models)
39. Waterfall Model
40. V Model
41. Incremental Model
42. RAD Model
43. Iterative Model
44. Spiral Model
45. Prototype Model
46. Agile Model
47. DevOps Model
ส่วนที่ 5: ทบทวนเสริม กระบวนการและโมเดลการพัฒนาซอฟต์แวร์
48. พื้นฐานกระบวนการพัฒนาซอฟต์แวร์ (Basic Software Process)
49. รูปแบบการพัฒนาแบบ Heavyweight & Lightweight
50. ทบทวน Waterfall Model
51. ทบทวน Iterative Refinement
52. ทบทวน Spiral Development
53. ทบทวน Agile Development
54. โมเดลการพัฒนาซอฟต์แวร์แบบผสม Mixed Process
55. วิธีการเลือกใช้โมเดลการพัฒนาซอฟต์แวร์ (Choosing a Software Process)
ส่วนที่ 6: แบบฝึกหัดและสรุปเนื้อหาส่วน Software Development Life Cycle (SDLC)
56. 1. SDLC ย่อมจากคำว่าอะไร
57. 2. เรียงลำดับ SDLC Phases ให้ถูกต้อง
58. 3. ขั้นการ Planning ควรอยู่ใน Phase ใด
59. 4. Phase ใดที่ต้องใช้ความสามารถในการเขียนโปรแกรม Programming
60. 5. Phase ใดใช้เวลาในการพัฒนา Software มากที่สุด
61. 6. ขั้นการเก็บความต้องการ Requirement ของลูกค้า ควรอยู่ใน Phase ใด
62. 7. ขั้นเร่ิมต้นของ UX/UI ควรอยู่ใน Phase ใด
63. 8. ขั้นตอนการทำ User Training สอน User ใช้งาน Software ควรอยู่ใน Phase ใด
64. 9. Testing ใดที่ต้องไปทดสอบกับลูกค้าเพื่อให้ลูกค้ายอมรับ
65. 10. ข้อใดกล่าวได้ถูกต้องเกี่ยวกับ Automation Testing มากที่สุด
ส่วนที่ 7: แบบฝึกหัดและสรุปเนื้อหาส่วน SDLC & Software Process Models
66. 1. ข้อใดคือ SDLC Model หรือ Software Process Models
67. 2. Waterfall Model ไม่เหมาะสมกับการพัฒนา Software แบบใด
68. 3. V Model นำมาใช้ในการพัฒนา Software ที่ทุกขั้นตอนต้องเกี่ยวข้องกับ Phase ใด
69. 4. ข้อใดกล่าวถูกต้องเกี่ยวกับ Incremental Model มากที่สุด
70. 5. Phase ใดที่เป็นจุดเด่นของ RAD Model
71. 6. ข้อดีของการใช้ Iterative Model ในการพัฒนา Software คือข้อใด
72. 7. ข้อใดคือจุดเด่นของ Prototype Model ในการพัฒนา Software
73. 8. ข้อใดคือจุดเด่นของ Spiral Model ในการพัฒนา Software
74. 9. ข้อใดคือจุดเด่นของ Agile Model ในการพัฒนา Software
75. 10. ข้อใดกล่าวถึง DevOps Model ได้ถูกต้อง
ส่วนที่ 8: การพัฒนาซอฟต์แวร์แบบ Agile ด้วยวิธีการ Scrum Software Development พร้อมแบบฝึกหัด
76. กระบวนการพัฒนาซอฟต์แวร์แบบ Agile ด้วยวิธีการ Scrum
77. 1. ข้อใดคือวิธีการพัฒนาซอฟต์แวร์ตามหลักการของ Agile
78. 2. วิธีการ Scrum เกิดขึ้นจาก Agile Software Development เพื่อช่วยเรื่องใด
79. 3. ใครคือบทบาทหลักของ Scrum
80. 4. ข้อใดกล่าวถูกต้องมากที่สุดเกี่ยวกับบทบาทของคนใน Scrum
81. 5. ข้อใดคือการทำงานของ Product Backlog
82. 6. ข้อใดคือการทำงานของ Sprint Planning Meeting
83. 7. ข้อใดคือการทำงานของ Sprint Backlog
84. 8. ข้อใดคือการทำงานของ Daily Scrum Meeting
85. 9. ข้อใดคือการทำงานของ Sprint Review Meeting
86. 10. ข้อใดคือการทำงานของ Sprint Retrospective Meeting
ส่วนที่ 9: วิเคราะห์ความต้องการของลูกค้าด้วย Requirement & User Stories
87. การวิเคราะห์ Requirements & User Stories
88. ปัญหาความต้องการของลูกค้าที่พบ Requirement Problems
89. วิธีแก้ปัญหาความต้องการของลูกค้า Requirement Problems Solution
90. เข้าใจหลักการของ Requirements & User Stories เพื่อวิเคราะห์ความต้องการของลูกค้า
91. โครงสร้างการกำหนด Requirements & User Story Tasks ของโครงงานซอฟต์แวร์
92. ตัวอย่างสร้าง User Stories สำหรับสกัดความต้องการของลูกค้าในการพัฒนาซอฟต์แวร์
ส่วนที่ 10: แบบฝึกหัดและสรุปเนื้อหาส่วน Requirements & User Stories
93. 1. Requirement คืออะไร
94. 2. User Story คืออะไร
95. 3. ข้อใดคือหลักการเขียน User Story ที่ถูกต้อง
96. 4. ข้อใดคือปัญหาของ Requirement เรื่องนี้
97. 5. ปัญหานี้แก้ไขได้ด้วยวิธีการใด
98. 6. ใครที่ต้องเกี่ยวข้องกับ Requirements
99. 7. Functional Requirements vs Non-Functional Requirements ต่างกันอย่างไร
100. 8. ข้อใดคือ Developer-Specific Requirement
101. 9. ข้อใดเรียงลำดับได้ถูกต้อง
102. 10. Product Owner จัดอยู่ในฝั่งไหนของการบริหาร Project
ส่วนที่ 11: ออกแบบ UML Diagrams สำหรับการพัฒนาโครงงานซอฟต์แวร์
103. ฝึกปฏิบัติการเขียน Use Case Diagram ออกแบบระบบซื้อของ Online Shopping Part 1
104. ฝึกปฏิบัติการเขียน Use Case Diagram ออกแบบระบบซื้อของ Online Shopping Part 2
105. ฝึกปฏิบัติการเขียน Use Case Diagram ออกแบบระบบ IoT Hardware Smart Farm Part 1
106. ฝึกปฏิบัติการเขียน Use Case Diagram ออกแบบระบบ IoT Hardware Smart Farm Part 2
107. ฝึกปฏิบัติการเขียน Activity Diagram ออกแบบระบบ Online Shopping Part 1
108. ฝึกปฏิบัติการเขียน Activity Diagram ออกแบบระบบ Online Shopping Part 2
ส่วนที่ 12: แบบฝึกหัดและสรุปเนื้อหาส่วน UML Diagrams
109. 1. ข้อใดคือ UML Diagrams
110. 2. แผนภาพใดของ UML Diagram ที่ได้รับความนิยม
111. 3. ข้อใดคือ Class Diagram
112. 4. ข้อใดคือ Object Diagram
113. 5. ข้อใดคือ Component Diagram
114. 6. ข้อใดคือ Deployment Diagram
115. 7. ข้อใดคือ Use Case Diagram
116. 8. ข้อใดคือ Sequence Diagram
117. 9. ข้อใดคือ Activity Diagram
118. 10. ข้อใดคือ State Machine Diagram
ส่วนที่ 13: ออกแบบ User Experience & User Interface (UX & UI Design)
119. เข้าใจการออกแบบ UX/UI
120. เข้าใจ Full Stack Designer ทั้ง SD, CX, UX, IA, IxD และ UI
121. การออกแบบ User Experience (UX)
122. ความแตกต่างระหว่าง UX และ UI
123. ตัวอย่างอธิบายความเข้าใจการออกแบบ UX
124. สายอาชีพการออกแบบ UX/UI & Application & Graphic Designers and Developers
125. ทักษะที่ใช้ในการออกแบบทางด้าน UX และ UI
126. ตัวอย่างความเข้าใจของ UX และ UI
127. ขั้นตอนการออกแบบ UX เชิงจิตวิทยา
128. ตัวอย่างการออกแบบ UI ที่ดีสำหรับการออกแบบซอฟต์แวร์
129. สิ่งที่ต้องใช้ในการทำงานอาชีพนักออกแบบและพัฒนา UX & UI สำหรับโครงงานซอฟต์แวร์
130. UX/UI Designer Roadmap Part 1
131. UX/UI Designer Roadmap Part 2
132. UX/UI Designer Roadmap Part 3
ส่วนที่ 14: ออกแบบ User Experience & User Interface (UX & UI Design)
133. 1. ข้อใดคือ User Experience
134. 2. ข้อใดกล่าวถูกต้องเกี่ยวกับ UX และ UI
135. 3. ข้อใดคือผลลัพธ์ของการทำ User Experiecne
136. 4. ข้อใดคือหน้าที่ของ UX Designer และ UI Designer & Developer
137. 5. ข้อใดคือ UI หรือ User Interface
138. 6. ข้อใดคือ UX หรือ User Experience
139. 7. ข้อใดคือการออกแบบ UX/UI ที่ดี
140. 8. ข้อใดคือการออกแบบ UX/UI ที่ดี
141. 9. ข้อใดคือแนวทางการออกแบบ UX เพื่อโน้มน้าวใจผู้ใช้เชิงธุรกิจ
142. 10. ข้อใดคือเครื่องมือที่ใช้ในการทำงานด้าน UX/UI
ส่วนที่ 15: การทดสอบซอฟต์แวร์ (Software Testing)
143. เข้าใจการทดสอบซอฟต์แวร์
144. ประเภทของการทดสอบซอฟต์แวร์
145. การทดสอบซอฟต์แวร์แบบ Ice Cream Cone
146. การทดสอบซอฟต์แวร์แบบ Pyramid
147. การทดสอบซอฟต์แวร์แบบ Cup Cake
148. การทดสอบซอฟต์แวร์แบบ Mixed Pyramid & Cup Cake
149. สรุปการทดสอบซอฟต์แวร์
ส่วนที่ 16: จรรยาบรรณของวิศวกรซอฟต์แวร์ (Software Engineer Ethics)
150. จรรยาบรรณของวิศซกรซอฟต์แวร์และนักพัฒนาซอฟต์แวร์
151. จรรยาบรรณของของวิศวกรซอฟต์แวร์มีอะไรบ้าง
152. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Transparency & Honesty
153. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Privacy & Data Protection
154. แนะนำที่มาที่ไปของ PDPA พรบ.คุ้มครองข้อมูลส่วนบุคคล
155. ความหมายของ PDPA คืออะไร
156. ข้อมูลส่วนบุคคล Personal Data คืออะไร
157. บุคคลที่เกี่ยวข้องกับ PDPA
158. บทลงโทษถ้าละเมิดสิทธิของ PDPA
159. สิทธิของเจ้าของข้อมูลส่วนบุคคลที่ทำได้ตาม PDPA
160. สิทธิของผู้ประกอบการที่ต้องปฏิบัติตาม PDPA
161. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Safety & Security
162. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Accessibility
163. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Fairness & Non-discrimination
164. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Professionalism
165. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Intellectual Property
166. จรรยาบรรณของวิศวกรซอฟต์แวร์ด้าน Social Responsibility