📋 แผนการทำโครงงาน
Project-Based Learning Plan
88744065: Software Development Process
เป้าหมาย: นิสิตทำโครงงานตลอดภาคเรียน
โดยประยุกต์ใช้เนื้อหาที่เรียน พร้อมนำเสนอในสัปดาห์ที่ 15
👥 โครงสร้างและบทบาทของทีม
ขนาดทีมแนะนำ: 4 คน - Balanced สำหรับ Development,
Testing, Quality, Management
บทบาท 4 ตำแหน่ง
1️⃣ Product Owner (PO) - 1 คน
หน้าที่หลัก:
- สร้างและจัดลำดับ Product Backlog
- กำหนด User Stories และ Acceptance Criteria
- ติดต่อ "ลูกค้า" หรือ "ผู้ใช้" (อาจารย์/ที่ปรึกษา)
- ตัดสินใจความสำคัญของ Feature
- ยอมรับการทำงานที่เสร็จ (Definition of Done)
งานในแต่ละ Phase:
-
Phase 1: สร้าง User Stories, SRS, กำหนด
Requirements ชัดเจน
-
Phase 2-5: ติดชม Sprint Progress, ปรับลำดับ Backlog
- Phase 6: นำเสนอ Executive Summary
2️⃣ Scrum Master (SM) - 1 คน
หน้าที่หลัก:
- ปกป้องทีม (Servant Leader)
- ลบสิ่งกีดขวาง (Impediments)
-
ดำเนินการประชุม Scrum (Sprint Planning, Standup, Retrospective)
- ช่วยทีมปฏิบัติ Agile/Scrum
งานในแต่ละ Phase:
-
Phase 1: ช่วยสร้าง Project Charter, Risk Management
Plan
-
Phase 2-5: ดำเนินการ Sprint Planning, Daily
Standup, Retrospective
- Throughout: Track Velocity, Remove Blockers
-
Phase 6: ประสานงานการนำเสนอ, Retrospective สุดท้าย
3️⃣ Lead Developer - 1 คน
หน้าที่หลัก:
- ออกแบบ Architecture ของระบบ
- นำทีมในด้าน Technical Decisions
- Code Review Lead
- ตรวจสอบ Code Quality & Standards
- Mentor รุ่นน้องในทีม
งานในแต่ละ Phase:
- Phase 1: ร่วม SRS, คิด Technical Constraints
-
Phase 2: Design Architecture, Design Patterns, API
Specs
- Phase 3: Code Skeleton, Coding Standards
-
Phase 4-5: Lead Implementation, Code Review, CI/CD
Support
- Phase 6: Demo System Architecture
4️⃣ QA/DevOps Engineer - 1 คน
หน้าที่หลัก:
- สร้าง Test Plan และ Test Cases
- การทดสอบทั้งหมด (Unit, Integration, E2E)
- ตั้งค่า CI/CD Pipeline
- Performance Testing & Monitoring
- Documentation ทั้งหมด
งานในแต่ละ Phase:
-
Phase 1: Risk Management & Test Strategy Planning
- Phase 2: Prepare Testing Environment
- Phase 3: Write Test Plan & Test Cases
- Phase 4: Implement Unit Tests, Setup CI/CD
-
Phase 5: Performance Testing, Security Testing
- Phase 6: Present Testing & CI/CD Results
Time Allocation per Week
| Meeting |
Duration |
Frequency |
| Daily Standup |
15 นาที |
Every day (Mon-Fri) |
| Sprint Planning |
2 ชั่วโมง |
Every 2 weeks |
| Sprint Review + Retrospective |
3.5 ชั่วโมง |
Every 2 weeks |
| Code Review |
1 ชั่วโมง |
2-3 times/week |
Flexible Adjustment: สามารถปรับเป็น 4-6
คนได้ตามสถานการณ์ โดยรวมบทบาทบางส่วน
📊 ภาพรวมโครงงาน (5 Deliverables)
| Milestone |
สัปดาห์ |
Deliverable |
เนื้อหาที่ใช้ |
ผลลัพธ์ |
| D1 |
1-5 |
Project Charter & Requirements |
SDLC, Agile, Risk Mgmt, Requirements Eng |
Project Charter, User Stories, SRS |
| D2 |
6-7 |
System Design Document |
Design Patterns, Architecture, Code Quality |
Architecture Doc, Design Patterns Doc, Code Skeleton |
| D3 |
8-10 |
Testing & CI/CD Setup |
Testing, CI/CD Pipeline |
Test Plan, Test Cases, CI/CD Pipeline Config |
| D4 |
11-13 |
Quality & Security Report |
Metrics, QA, Security, Performance |
Quality Report, Security Assessment, Performance Report |
| D5 |
14-15 |
Final Presentation & Deployment Plan |
ทั้งหมด |
Presentation + Demo + All Documentation |
🎯 Phase 1: Planning & Requirements (สัปดาห์ 1-5)
วัตถุประสงค์: เลือก Project ที่เหมาะสม เขียน
Requirements และ Plan ชัดเจน
สัปดาห์ 1-2: Project Setup & Charter
กิจกรรมชั้นเรียน:
- บรรยายเกี่ยวกับ SDLC Models
- เลือก SDLC ที่เหมาะสม (Agile แนะนำสำหรับคอร์สนี้)
- Scrum Simulation Hands-on
งานที่ต้องทำ:
- เลือก Project Topic หรือรับ Problem Statement
-
สร้าง Project Charter ที่ประกอบด้วย:
- Project Overview: ชื่อ, ลักษณะ, ระยะเวลา
-
Team: ชื่อสมาชิก, บทบาท (Product Owner, Scrum
Master, Developers)
- Goals & Success Criteria
-
Risks: Identify 5-10 ความเสี่ยง และ Mitigation
strategies
- Communication Plan
✓ Deliverable: Project Charter Document (2-3 หน้า)
สัปดาห์ 3-5: Requirements Analysis
กิจกรรมชั้นเรียน:
- Team Communication & Stakeholder Management Workshop
- User Stories ฟอร์แม็ต และเขียนร่วมกัน
- Use Case Diagram & Activity Diagram
- SRS (Software Requirements Specification) Structure
งานที่ต้องทำ:
-
เขียน User Stories (10-15 ตัว):
-
Format: "As a [role], I want [feature], so that [benefit]"
- Acceptance Criteria สำหรับแต่ละ User Story
-
สร้าง Diagrams:
- Use Case Diagram (Show actors, use cases, relationships)
- Activity Diagram (สำหรับ main flows)
- ER Diagram (Database schema)
-
เขียน SRS Document:
- 1. Introduction (Purpose, Scope)
- 2. Overall Description (User profiles, constraints)
- 3. Functional Requirements (Numbered requirements)
-
4. Non-Functional Requirements (Performance, security, etc.)
- 5. Business Rules
✓ Deliverable D1:
- Project Charter (Final)
- User Stories & Acceptance Criteria
- SRS Document (5-10 หน้า)
- Diagrams: Use Case, Activity, ER
🎯 Phase 2: Design (สัปดาห์ 6-7)
วัตถุประสงค์: ออกแบบสถาปัตยกรรมและโครงสร้างโค้ด
สัปดาห์ 6: Architecture & Design Patterns
กิจกรรมชั้นเรียน:
- Architectural Patterns (MVC, Layered, Microservices)
- Design Patterns (GOF: Singleton, Factory, Observer, etc.)
- SOLID Principles
- Case Study Analysis
งานที่ต้องทำ:
-
สร้าง Architecture Diagram:
- Layers (Presentation, Business Logic, Data Access)
- Components & Relationships
- Technology Stack Selection
-
เลือก Design Patterns:
- Justify ทำไมเลือก patterns เหล่านี้
- Diagram implementation ของ patterns
-
API Specifications:
- RESTful API endpoints (if applicable)
- Request/Response examples
-
Database Design:
- Refined ER Diagram
- Table definitions
✓ Deliverable: Architecture & Design Document (5-8
หน้า)
สัปดาห์ 7: Code Standards & Project Management Setup
กิจกรรมชั้นเรียน:
- Sprint Planning Workshop (สำหรับโครงงาน)
- Coding Standards & Review Process
- Git Workflows
- Live Code Review Session
งานที่ต้องทำ:
-
เขียน Coding Standards Document:
- Naming Conventions
- Code Organization
- Documentation Requirements
- Code Review Checklist
-
เตรียมโครงสร้าง Git Repository:
- Branch Strategy (main, develop, feature branches)
- Commit Message Standards
-
สร้าง Code Skeleton:
- Folder structure
- Key classes/modules
- Interface definitions
-
Sprint Planning ครั้งแรก:
- Divide User Stories เป็น Tasks
- Estimate effort (Story Points)
- Plan 2-3 sprints แรก
✓ Deliverable D2:
- Architecture & Design Document
- Coding Standards
- Code Skeleton + Git Structure
- Sprint Plan
🎯 Phase 3: Exam & Implementation Start (สัปดาห์ 8)
🎓 สัปดาห์ที่ 8: สอบกลางภาค
เนื้อหา: สัปดาห์ที่ 1-7 (รวมถึง D1 & D2 ที่ได้ส่งไป)
เนื้อหาสอบ: SDLC, Agile, Team Roles, Requirements Engineering,
Design Patterns, Architecture
🎯 Phase 4: Testing & CI/CD (สัปดาห์ 9-10)
วัตถุประสงค์: สร้าง Testing Strategy และตั้งค่า CI/CD
Pipeline
สัปดาห์ 9: Testing Framework & Strategy
กิจกรรมชั้นเรียน:
- Unit Testing Framework (JUnit/Pytest/Jest)
- Test-Driven Development (TDD)
- Test Case Design Techniques
- เขียน Unit Tests ร่วมกัน
งานที่ต้องทำ:
-
เขียน Test Plan:
- Testing Strategy (Unit, Integration, E2E)
- Test Scope & Schedule
- Tools & Environment
-
สร้าง Test Cases:
- ต่อ 30-50 test cases
-
Format: Test ID, Description, Precondition, Steps, Expected
Result
- Positive & Negative Cases
-
เขียน Unit Tests:
- Implement 20-30 unit tests
- Target Coverage: ≥ 70%
- ใช้ Mock/Stub หากจำเป็น
-
Integration Test Strategy:
- API Testing (if applicable)
- Database Integration
✓ Deliverable: Test Plan & Test Cases Document
สัปดาห์ 10: CI/CD Pipeline Setup
กิจกรรมชั้นเรียน:
- Git Workflows & Pull Request Process
- Build Automation (Jenkins/GitHub Actions/GitLab CI)
- Automated Testing Pipeline
- Deployment Strategies (Blue-Green, Canary)
งานที่ต้องทำ:
-
ตั้งค่า CI/CD Pipeline:
- Source Control: GitHub/GitLab
- Build Stage: Automated Build
- Test Stage: Run Unit Tests + Code Coverage
- Deploy Stage: Deploy to Staging/Demo Environment
-
Automated Testing Integration:
- Run tests อัตโนมัติ ทุกครั้งที่ push
- Generate Coverage Report
-
Git Workflow Implementation:
- Feature Branch creation
- Pull Request ด้วย Code Review
- Merge Standards
-
Demo Environment:
- Deploy working version
- Accessibility for testing
✓ Deliverable D3:
- Test Plan & Test Cases (Updated)
- CI/CD Pipeline Configuration
- Coverage Report
🎯 Phase 5: Quality, Security & Finalization (สัปดาห์ 11-14)
วัตถุประสงค์: ประเมินคุณภาพ ตรวจสอบความปลอดภัย
ปรับปรุง
สัปดาห์ 11: Quality Metrics & QA
กิจกรรมชั้นเรียน:
- Code Coverage & Complexity Metrics
- QA vs QC
- Static Analysis Tools (SonarQube)
- Peer Code Review Best Practices
งานที่ต้องทำ:
-
รัน Static Analysis:
- ใช้ SonarQube / Code Climate / ESLint
- Fix Code Smells
- Reduce Cyclomatic Complexity
-
Measure Code Coverage:
- Target: ≥ 80% coverage
- Document Coverage Report
-
Peer Code Review:
- Review 100% of code
- Document findings
- Create checklist
-
Quality Metrics Document:
- Coverage: X%
- Cyclomatic Complexity: Average Y
- Code Smells Found: Z
- Test Execution Summary
✓ Deliverable: Quality Report (3-5 หน้า)
สัปดาห์ 12: Security Assessment
กิจกรรมชั้นเรียน:
- OWASP Top 10 Vulnerabilities
- Secure Coding Practices
- Security Testing (SAST, manual testing)
- Risk Management Review
งานที่ต้องทำ:
-
Security Code Review:
- Check OWASP Top 10
- Input Validation
- Authentication/Authorization
- Data Protection
-
Security Testing:
- Vulnerability Scanning
- Manual penetration testing (basics)
- SQL Injection tests (if applicable)
-
Security Assessment Report:
- Vulnerabilities Found
- Severity Levels
- Fix Recommendations
-
Update Risk Management:
- Review initial risks
- Add new risks identified
- Update mitigation strategies
✓ Deliverable: Security Assessment Report (3 หน้า)
สัปดาห์ 13: Performance Testing & Deployment
กิจกรรมชั้นเรียน:
- Performance Testing Techniques
- Load Testing Basics
- Deployment Strategies
- Monitoring & Logging
งานที่ต้องทำ:
-
Performance Testing:
- Measure Response Time
- Test Load Capacity
- Identify Bottlenecks
- Performance Optimization
-
Deployment Plan:
- Deployment Strategy (Blue-Green, Canary, etc.)
- Deployment Steps
- Rollback Plan
- Monitoring Strategy
-
Performance Report:
- Baseline Performance
- Test Results
- Optimization Recommendations
✓ Deliverable: Performance & Deployment Plan Report
✓ Deliverable D4 (สัปดาห์ 13):
- Quality Report
- Security Assessment
- Performance & Deployment Plan
สัปดาห์ 14: Release Management & Retrospective
กิจกรรมชั้นเรียน:
- Release Management
- Configuration Management & CCB
- Git Tag & Release Notes
- Retrospective & Lessons Learned
งานที่ต้องทำ:
-
Release Preparation:
- Version Numbering
- Release Notes
- Git Tag/Release
- Documentation Finalization
-
Git Configuration:
- Final Branch Cleanup
- Merge to Main/Production
- Tag Release Version
-
Create Release Documentation:
- Installation Guide
- User Guide (if applicable)
- Known Issues & Workarounds
- Maintenance Plan
-
Team Retrospective:
- What went well?
- What could improve?
- Process improvements
- Lessons learned document
✓ Deliverable D5 (สัปดาห์ 14):
- Release Notes
- Release Documentation
- Retrospective Report
🎯 Phase 6: Final Presentation (สัปดาห์ 15)
นำเสนอโครงงานและ Demo ต่ออาจารย์/ที่ปรึกษา
Presentation Structure (15-20 นาที):
-
Executive Summary (2 นาที)
- Project Name & Objectives
- Problem Statement
- Solution Overview
-
Requirements & Analysis (2 นาที)
- Key Requirements
- Use Cases
- System Scope
-
Design & Architecture (2 นาที)
- Architecture Overview
- Key Design Patterns
- Technology Stack
-
Implementation & Code Quality (2 นาที)
- Development Approach (Agile Sprint)
- Code Quality Metrics
- Key Achievements
-
Testing & Quality Assurance (2 นาที)
- Test Coverage
- Quality Results
- Security Assessment Summary
-
CI/CD & DevOps (1.5 นาที)
- Pipeline Overview
- Deployment Strategy
- Automation Benefits
-
Live Demo (2-3 นาที)
- Run the application
- Show key features
- Demo testing/CI-CD if possible
-
Lessons Learned & Retrospective (1.5 นาที)
- What worked well
- Challenges & Solutions
- Future Improvements
Presentation Materials:
- PowerPoint/Google Slides (12-15 slides)
- Live Demo Setup
- Quick Reference Document
- All Source Code & Documentation in GitHub
📋 Grading Rubric (30% of total grade)
| Criteria |
Weight |
Points |
| D1: Requirements Planning |
5% |
5 |
| D2: Design & Architecture |
5% |
5 |
| D3: Testing & CI/CD |
5% |
5 |
| D4: Quality & Security |
5% |
5 |
| D5: Final Presentation & Demo |
5% |
5 |
| Code Quality & Standards |
2.5% |
2.5 |
| Documentation |
2.5% |
2.5 |
| Total Project |
30% |
30 |
Rubric Details:
Requirements Planning (5 pts)
- Project Charter completeness: 1 pt
- User Stories clarity: 1.5 pts
- SRS completeness: 1.5 pts
- Risk Management: 1 pt
Design & Architecture (5 pts)
- Architecture clarity: 1.5 pts
- Design Patterns appropriateness: 1.5 pts
- Code skeleton quality: 1 pt
- Documentation: 1 pt
Testing & CI/CD (5 pts)
- Test coverage: 1.5 pts
- Test quality: 1.5 pts
- CI/CD setup: 1 pt
- Automated testing integration: 1 pt
Quality & Security (5 pts)
- Code quality metrics: 1.5 pts
- Security assessment: 1.5 pts
- Performance testing: 1 pt
- Risk management update: 1 pt
Final Presentation (5 pts)
- Presentation clarity: 1 pt
- Demo functionality: 2 pts
- Q&A handling: 1 pt
- Time management: 1 pt
🔧 Tools & Technologies Recommended
Version Control:
- GitHub, GitLab, or Bitbucket
Testing Frameworks:
- Java: JUnit, Mockito
- Python: Pytest, unittest
- JavaScript: Jest, Mocha
CI/CD:
- Jenkins, GitHub Actions, GitLab CI
Code Quality:
- SonarQube, Code Climate, ESLint
Project Management:
- Jira, GitHub Projects, Trello
Documentation:
- Markdown, Google Docs, Confluence
📅 Important Dates
| Event |
Date |
Details |
| Project Selection |
Week 1 |
Choose project topic |
| D1 Due |
Week 5 |
Project Charter + Requirements |
| Midterm Exam |
Week 8 |
Written exam on Weeks 1-7 content |
| D2 Due |
Week 7 |
Design & Architecture |
| D3 Due |
Week 10 |
Testing & CI/CD Setup |
| D4 Due |
Week 13 |
Quality & Security Report |
| D5 Final |
Week 14 |
All Documentation |
| Final Presentation |
Week 15 |
Live Demo & Presentation |
| Final Exam |
Week 16 |
Written exam on Weeks 9-14 content |
✅ Checklist for Success
Before Starting:
- Form team (3-4 members recommended)
- Select meaningful project topic
- Create GitHub repository
- Set up communication channel (Slack/Discord/Teams)
Requirements Phase:
- Complete Project Charter
- Write 10+ User Stories with Acceptance Criteria
- Create Use Case & ER Diagrams
- Finalize SRS Document
Design Phase:
- Design System Architecture
- Document Design Patterns
- Create Code Skeleton
- Establish Coding Standards
Testing Phase:
- Write Test Plan
- Create 30+ Test Cases
- Implement Unit Tests (70%+ coverage)
- Setup CI/CD Pipeline
Quality Phase:
- Run Static Analysis
- Perform Security Assessment
- Execute Performance Tests
- Document All Findings
Presentation Phase:
- Prepare 12-15 slides
- Practice demo thoroughly
- Test all equipment
- Prepare Q&A answers
📞 Support & Resources
ติดต่อในกรณี:
- ติดขัดในการเลือก Project
- ปัญหาทางเทคนิค
- ข้อสงสัยเกี่ยวกับการทำโครงงาน
สอบถาม:
Email: wittawas@buu.ac.th
Last Updated: November 2025
Course: 88744065 - Software Development Process