๐งฉ ็ณป็ตฑๅๆ่้็ผๆต็จๅ จๆๅ
ๅพ้ๆฑ่จช่ซๅฐ็ณป็ตฑไธ็ท,่ป้ซ้็ผๆฏไธๅๅพชๅบๆผธ้ฒ็้็จ。ๆฌๆๅฐไปฅ SDLC(System Development Life Cycle) ็บๆ ธๅฟ,ไป็ดนๅ้ๆฎต็็ฎ็、ๆนๆณ่ๅธธ่ฆๅทฅๅ ท,ๅๅฉไฝ ๅปบ็ซๅฎๆด็็ณป็ตฑ้็ผๆ็ถญ。
๐ ไธ、ไป้บผๆฏ SDLC?
SDLC(System Development Life Cycle) ๆฏ่ป้ซ็ณป็ตฑ้็ผ็ๆจๆบๆต็จ,็จไพ็ขบไฟๅฐๆกๅ่ณช、ๆงๅถ้ขจ้ช่็ฎก็ๆ็จ。ๅ ธๅๆต็จๅ ๅซๅ ญๅไธป่ฆ้ๆฎต:
- ้ๆฑๅๆ(Requirement Analysis)
- ็ณป็ตฑ่จญ่จ(System Design)
- ้็ผ่ๅฏฆไฝ(Implementation)
- ๆธฌ่ฉฆ่้ฉ่ญ(Testing)
- ้จ็ฝฒ่ไธ็ท(Deployment)
- ็ถญ่ญท่ๆนๅ(Maintenance)
๐งญ ไบ、้ๆฑๅๆ(Requirement Analysis)
้ๆฑๅๆๆฏๆดๅ้็ผๆต็จ็่ตท้ป,้้ปๅจๆผๆ็ขบๅฎ็พฉ「็ณป็ตฑ่ฆๅไป้บผ」。
- ่ไฝฟ็จ่ ่จช่ซ,่้ๆฅญๅๆต็จ่็้ป。
- ๆฐๅฏซ้ๆฑ่ฆๆ ผๆธ(SRS)。
- ็ขบ่ชๅ่ฝ็ฏๅ、็ณป็ตฑ้็่่ณๆๆต。
# ้ๆฑๆไปถ็ฏไพ็ตๆง
1. ๅฐๆก็ฎๆจ
2. ็ณป็ตฑไฝฟ็จ่
่่ง่ฒ
3. ๅ่ฝ้ๆฑๆธ
ๅฎ
4. ้ๅ่ฝ้ๆฑ(ๅฎๅ
จๆง、ๆ่ฝ、ๅฏ็ถญ่ญทๆง)
5. ่ณๆๆต็จๅ(DFD)
6. ็ณป็ตฑ่ผธๅ
ฅ/่ผธๅบๅฎ็พฉ
๐️ ไธ、็ณป็ตฑ่จญ่จ(System Design)
ๅจๆ็ขบ้ๆฑๅพ,่จญ่จ้ๆฎต่ฒ ่ฒฌๅฐ้ๆฑ่ฝๅ็บๆ่กๆถๆง่ๆจก็ต่จญ่จ。
- ่ณๆๅบซ่จญ่จ(ER Diagram, Schema ่จญ่จ)。
- ็ณป็ตฑๆถๆงๅ(ๅๅพ็ซฏๅๅฑค、API ไป้ข)。
- UI/UX ๅๅ่ๆต็จๅ(Wireframe、Mockup)。
# ERD ๅฏฆไพ
User (user_id, name, email)
Order (order_id, user_id, total_amount)
→ ไธๅฐๅค้่ฏ:User.user_id = Order.user_id
๐ป ๅ、้็ผ่ๅฏฆไฝ(Implementation)
ๅทฅ็จๅธซๆ นๆ่จญ่จๆไปถ้ฒ่ก็จๅผๆฐๅฏซ,ไธฆ้ตๅฎ็ๆฌๆง็ฎก่ๅไฝ่ฆ็ฏ。
- ๆก็จ Git ๅๆฏ็ญ็ฅ(feature / dev / main)。
- ๆฐๅฏซๅฎๅ ๆธฌ่ฉฆ,็ขบไฟๅ่ฝ็จ็ซ้ฉ่ญ。
- ๆ็บๆดๅ(CI)่่ชๅๅๆธฌ่ฉฆ(Pipeline)。
# Git Flow ๅ
ธๅๆต็จ
git checkout -b feature/login
git commit -m "ๆฐๅข็ปๅ
ฅๅ่ฝ"
git push origin feature/login
# Merge ๅ dev,็ถๆธฌ่ฉฆๅพๅ้ฒ main
๐งช ไบ、ๆธฌ่ฉฆ่้ฉ่ญ(Testing)
็ขบไฟ็ณป็ตฑๅ่ฝ、ๆ่ฝ่ๅฎๅ จๆง็็ฌฆๅ้ ๆ。ไธป่ฆๅ ๅซไปฅไธ้กๅ:
- ๅฎๅ ๆธฌ่ฉฆ(Unit Test):้ฉ่ญๆจก็ตๆญฃ็ขบๆง。
- ๆดๅๆธฌ่ฉฆ(Integration Test):ๆธฌ่ฉฆๆจก็ต้่ณๆๆต。
- ็ณป็ตฑๆธฌ่ฉฆ(System Test):้ฉ่ญๆด้ซ้ไฝ。
- ไฝฟ็จ่ ้ฉๆถๆธฌ่ฉฆ(UAT):็ฑๅฏฆ้็จๆถ็ขบ่ช้ๆฑ้ๆ。
๐ ๅ ญ、้จ็ฝฒ่็ถญ่ญท(Deployment & Maintenance)
- ๆก็จ็ๆฌๆจ่จ(Tag)่ CI/CD ่ชๅ้จ็ฝฒ。
- ็ฃๆง็ณป็ตฑ้่ก(ๅฆ Zabbix、Prometheus)。
- ไพๆๅ้ฅๆ็บๅชๅ่้ค้ฏ。
# ่ชๅ้จ็ฝฒ็ฏไพ(GitHub Actions)
on: push
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: bash deploy.sh
๐ ไธ、็ต่ช
ๅฎๆด็็ณป็ตฑๅๆ่้็ผๆต็จ่ฝๆๅๅ้ๅไฝๆ็่็ณป็ตฑๅ่ณช。็ก่ซๆฏๅคงๅไผๆฅญๅฐๆกๆๅไบบๆ็จ,ๆๆก SDLC ๆ็ถญ้ฝๆฏ่ป้ซ้็ผ็ๅบ็ค。
๐ ๅปถไผธ้ฑ่ฎ
- ๐ง Linux systemctl ่ๆๅ็ฎก็ๅ จๆป็ฅ
- ๐ ๅพๅฐๆต้ๅๆ่ๆๅ็ญ็ฅๅ ฑๅ
- ๐ Blogger ๆ็ซ ๆฐๅฏซๅๅ V4.3
— WWFandy・็ณป็ตฑ้็ผ็ญ่จ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ