docs(sdlc): reformat work products to audited reference layout

This commit is contained in:
Thanakorn
2026-09-09 08:09:54 +07:00
parent f2da2f51b5
commit 9553d94ec6
209 changed files with 8063 additions and 5762 deletions
@@ -0,0 +1,106 @@
# Software Components
<!-- footer: SCom -->
| Document No | Software Components | Release, Version, By: | 25690817 V1.0 ThS |
| Project Name | โครงการพัฒนาระบบบริหารจัดการคลังสินค้า (BRN WMS) บริษัท บี.อาร์.เอ็น เอ็นเตอร์ไพรส์ จำกัด |
| Project Code | 200-WMS-26-001-00 |
| Title | เอกสารแสดงส่วนประกอบต่าง ๆ ของโปรแกรมแต่ละเวอร์ชัน (Compiled Program, Source Code, Database) |
| Project Period | 5 มกราคม 2569 – 24 สิงหาคม 2569 |
| Organizer | คุณอภิรัชช์ สุภัทรประทีป (Project Manager) |
| Recorder | คุณเยาวลักษณ์ บางชมภู (Document Control) |
## ส่วนประกอบของซอฟต์แวร์ที่ส่งมอบ
| ลำดับ | ประเภทส่วนประกอบ | รายการ | ที่จัดเก็บ | เวอร์ชัน / Baseline |
| :---: | --- | --- | --- | --- |
| 1 | Source Code (PHP) | แอปพลิเคชันหลักและ Manager Classes ทั้งหมด | `app/` | `6c39700` |
| 2 | Source Code (Node.js) | บริการแจ้งเตือน Real-time และงานตามกำหนดเวลา | `nodejs/` | `6c39700` |
| 3 | Database Schema | สคริปต์สร้างฐานข้อมูล `wms` และ `wms2` | `setup.php`, `docker/mariadb/init-wms2.sql` | `6c39700` |
| 4 | Deployment Package | ชุดติดตั้ง Docker Compose (php-apache, mariadb, node/pm2) | `docker-compose.yml`, `docker/` | `6c39700` |
| 5 | Configuration Template | แม่แบบค่าตั้งค่าและสคริปต์สร้าง `.env` | `.env.example`, `docker/init-env.sh` | `6c39700` |
| 6 | Demo Data | สคริปต์สร้างข้อมูลสาธิตสำหรับตรวจรับ | `demo_seed*.php` | `dd48a8b` |
| 7 | Document Package | เอกสาร Work Products และชุด PDF ที่ส่งมอบ | `sdlc/`, `sdlc-delivery/` | Tag `sdlc-v1.0-final` |
## รายการ Software Unit ที่พัฒนาแล้ว
| Module | Unit ID | Description | สถานะ |
| --- | :---: | --- | :---: |
| ผู้ใช้งานและสิทธิ์ (Identity & Access) | UN01.001 | Identity – Register & Onboarding | พัฒนาแล้ว |
| ผู้ใช้งานและสิทธิ์ (Identity & Access) | UN01.002 | Identity – Login & Role Guard | พัฒนาแล้ว |
| ผู้ใช้งานและสิทธิ์ (Identity & Access) | UN01.003 | Identity – Password Recovery / OTP / Session | พัฒนาแล้ว |
| ผู้ใช้งานและสิทธิ์ (Identity & Access) | UN01.004 | Identity – User & App-Access Administration | พัฒนาแล้ว |
| ตั้งค่าบริษัท (Company Settings) | UN02.001 | Company – Profile & System Settings | พัฒนาแล้ว |
| ตั้งค่าบริษัท (Company Settings) | UN02.002 | Company – SMTP & Mail Dispatch | พัฒนาแล้ว |
| ข้อมูลหลัก (Master Data) | UN03.001 | Master – Warehouse / Storage / Bin | พัฒนาแล้ว |
| ข้อมูลหลัก (Master Data) | UN03.002 | Master – Product & Category | พัฒนาแล้ว |
| ข้อมูลหลัก (Master Data) | UN03.003 | Master – Contact | พัฒนาแล้ว |
| ข้อมูลหลัก (Master Data) | UN03.004 | Master – Warehouse Layer Configuration | พัฒนาแล้ว |
| ควบคุมสินค้าคงคลัง (Inventory Control) | UN04.001 | ICS – Stock-in | พัฒนาแล้ว |
| ควบคุมสินค้าคงคลัง (Inventory Control) | UN04.002 | ICS – Stock-out | พัฒนาแล้ว |
| ควบคุมสินค้าคงคลัง (Inventory Control) | UN04.003 | ICS – Stock Transfer | พัฒนาแล้ว |
| ควบคุมสินค้าคงคลัง (Inventory Control) | UN04.004 | ICS – Lot / Serial / Expiry | พัฒนาแล้ว |
| ควบคุมสินค้าคงคลัง (Inventory Control) | UN04.005 | ICS – Barcode Label & Scan | พัฒนาแล้ว |
| ควบคุมสินค้าคงคลัง (Inventory Control) | UN04.006 | ICS – File Attachment | พัฒนาแล้ว |
| ขาย (Sales) | UN05.001 | Sales – Quotation | พัฒนาแล้ว |
| ขาย (Sales) | UN05.002 | Sales – Sales Order | พัฒนาแล้ว |
| ขาย (Sales) | UN05.003 | Sales – Invoice | พัฒนาแล้ว |
| ขาย (Sales) | UN05.004 | Sales – Return / Credit Note | พัฒนาแล้ว |
| จัดซื้อ (Purchasing) | UN06.001 | Purchasing – Purchase Request | พัฒนาแล้ว |
| จัดซื้อ (Purchasing) | UN06.002 | Purchasing – Purchase Order | พัฒนาแล้ว |
| จัดซื้อ (Purchasing) | UN06.003 | Purchasing – Purchase Invoice | พัฒนาแล้ว |
| จัดซื้อ (Purchasing) | UN06.004 | Purchasing – Supplier Return | พัฒนาแล้ว |
| การเงิน (Finance) | UN07.001 | Finance – Receipt Billing & Receipt | พัฒนาแล้ว |
| การเงิน (Finance) | UN07.002 | Finance – Payment Billing & Payment | พัฒนาแล้ว |
| บัญชี (Accounting) | UN08.001 | Accounting – Chart of Accounts / Departments / Formulas | พัฒนาแล้ว |
| บัญชี (Accounting) | UN08.002 | Accounting – Journal & GL Posting | พัฒนาแล้ว |
| รายงานและแดชบอร์ด (Reports & Dashboard) | UN09.001 | Reports – Dashboard & Aggregates | พัฒนาแล้ว |
| รายงานและแดชบอร์ด (Reports & Dashboard) | UN09.002 | Reports – Stock Reports | พัฒนาแล้ว |
| รายงานและแดชบอร์ด (Reports & Dashboard) | UN09.003 | Reports – Financial Reports | พัฒนาแล้ว |
| รายงานและแดชบอร์ด (Reports & Dashboard) | UN09.004 | Reports – Filter / Print / Export | พัฒนาแล้ว |
| ควบคุมเอกสาร (Document Control) | UN10.001 | Document – Numbering | พัฒนาแล้ว |
| ควบคุมเอกสาร (Document Control) | UN10.002 | Document – Lifecycle & Status | พัฒนาแล้ว |
| ควบคุมเอกสาร (Document Control) | UN10.003 | Document – Audit Fields & History | พัฒนาแล้ว |
| แจ้งเตือนและงานตามกำหนดเวลา (Notification & Scheduler) | UN11.001 | Node – Socket.IO Notification Server | พัฒนาแล้ว |
| แจ้งเตือนและงานตามกำหนดเวลา (Notification & Scheduler) | UN11.002 | Node – Scheduler (ETL & Alerts) | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.001 | Security – Tenant Scope Guard | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.002 | Security – Server-side Validation | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.003 | Security – Operation Lock & Usage Guard | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.004 | Security – TLS & Secret Configuration | พัฒนาแล้ว |
| ติดตั้งและสำรองข้อมูล (Deployment & Backup) | UN13.001 | Deploy – setup.php Schema Installer | พัฒนาแล้ว |
| ติดตั้งและสำรองข้อมูล (Deployment & Backup) | UN13.002 | Deploy – Docker Compose Stack | พัฒนาแล้ว |
| ติดตั้งและสำรองข้อมูล (Deployment & Backup) | UN13.003 | Deploy – .env Generator | พัฒนาแล้ว |
| ติดตั้งและสำรองข้อมูล (Deployment & Backup) | UN13.004 | Deploy – Backup & Restore | พัฒนาแล้ว |
## สรุปจำนวนส่วนประกอบ
| รายการ | จำนวน |
| --- | ---: |
| กลุ่มโมดูล (Module Group) | 13 |
| Software Unit | 45 |
| ฐานข้อมูลที่ใช้ | 2 |
| บริการที่ทำงานเบื้องหลัง (Node.js) | 2 |
## การควบคุมส่วนประกอบ
- ส่วนประกอบทั้งหมดควบคุมเวอร์ชันด้วย Git โดยมี Baseline ของระบบที่ส่งมอบคือ `6c39700`
- สำรองไปยัง Remote สำรอง `git@github.com:thanakorninbox-dev/wms-app.git` ตามที่ระบุใน Project Repository (Backup)
- การเพิ่มหรือแก้ไขส่วนประกอบต้องผ่าน Change Report หรือบันทึกใน Correction Register แล้วแต่กรณี
## ผู้จัดทำเอกสาร (Secretary)
| ชื่อ | ตำแหน่ง | ลายเซ็น | วันที่ |
| --- | --- | --- | --- |
| คุณธนกร สถิตวิทยากุล | Developer | | |
## ผู้ตรวจสอบเอกสาร (Reviewer)
| ชื่อ | ตำแหน่ง | ลายเซ็น | วันที่ |
| --- | --- | --- | --- |
| คุณนพพงษ์ เจริญสุข | System Analyst | | |
## ผู้อนุมัติ (Approval)
| ชื่อ | ตำแหน่ง | ลายเซ็น | วันที่ |
| --- | --- | --- | --- |
| คุณเสรี วิริยะสกุลธรณ์ | Project Sponsor | | |
@@ -1,109 +0,0 @@
# Software Components
| Document field | Value |
|---|---|
| Document | Software Components |
| Project | BRN WMS |
| Project code | 200-WMS-26-001-00 |
| Title | Record of Delivered Software Components |
| Project period | 05/01/26–24/08/26 |
| Release | 17/08/26 V1.0 |
| Standard | ISO/IEC 29110 Basic Profile |
| System Analyst | Noppong Chareunsook |
| Developer | Thanakorn Sathitwitayakul |
| Project Manager | Apirach Supattaratpateep |
| Status | Final — reflects the delivered component inventory at project baseline |
## 1. Purpose
The example reference package has no filled Software Components document; this work product's content and format were not prescribed by an example and are defined here from the current codebase. This record lists the delivered software components (business-logic classes, real-time/scheduled services, and application areas) as the inventory referenced by the Traceability Record and Software Configuration. Unit IDs match the Software Unit table in the Software Design document.
## 2. Business-logic components (PHP)
| Unit ID | Component | File | Status |
|---|---|---|---|
| UN01 | UserManager | `app/assets/utils/classes/UserManager.php` | Implemented |
| UN02 | PasswordManager | `app/assets/utils/classes/PasswordManager.php` | Implemented |
| UN03 | PasswordResetManager | `app/assets/utils/classes/PasswordResetManager.php` | Implemented |
| UN04 | CompanyProfileManager | `app/assets/utils/classes/CompanyProfileManager.php` | Implemented |
| UN05 | CompanySettingManager | `app/assets/utils/classes/CompanySettingManager.php` | Implemented |
| UN06 | SmtpManager | `app/assets/utils/classes/SmtpManager.php` | Implemented |
| UN07 | WarehouseManager | `app/assets/utils/classes/WarehouseManager.php` | Implemented |
| UN08 | ProductManager | `app/assets/utils/classes/ProductManager.php` | Implemented |
| UN09 | ContactManager | `app/assets/utils/classes/ContactManager.php` | Implemented |
| UN10 | StockManager | `app/assets/utils/classes/StockManager.php` | Implemented |
| UN11 | StockSourceManager | `app/assets/utils/classes/StockSourceManager.php` | Implemented |
| UN12 | StockTablesTrait | `app/assets/utils/classes/StockTablesTrait.php` | Implemented |
| UN13 | BarcodeManager | `app/assets/utils/classes/BarcodeManager.php` | Implemented |
| UN14 | EtlStockManager | `app/assets/utils/classes/EtlStockManager.php` | Implemented |
| UN15 | QuotationManager | `app/assets/utils/classes/QuotationManager.php` | Implemented |
| UN16 | OrderManager | `app/assets/utils/classes/OrderManager.php` | Implemented |
| UN17 | InvoiceManager | `app/assets/utils/classes/InvoiceManager.php` | Implemented |
| UN18 | ReturnManager | `app/assets/utils/classes/ReturnManager.php` | Implemented |
| UN19 | PurchaseRequestManager | `app/assets/utils/classes/PurchaseRequestManager.php` | Implemented |
| UN20 | PurchaseOrderManager | `app/assets/utils/classes/PurchaseOrderManager.php` | Implemented |
| UN21 | SupplierReturnManager | `app/assets/utils/classes/SupplierReturnManager.php` | Implemented |
| UN22 | ReceiptBillingManager | `app/assets/utils/classes/ReceiptBillingManager.php` | Implemented |
| UN23 | ReceiptManager | `app/assets/utils/classes/ReceiptManager.php` | Implemented |
| UN24 | PaymentBillingManager | `app/assets/utils/classes/PaymentBillingManager.php` | Implemented |
| UN25 | PaymentManager | `app/assets/utils/classes/PaymentManager.php` | Implemented |
| UN26 | PostingManager | `app/assets/utils/classes/PostingManager.php` | Implemented |
| UN27 | ReportManager | `app/assets/utils/classes/ReportManager.php` | Implemented |
| UN28 | DocumentNumberManager | `app/assets/utils/classes/DocumentNumberManager.php` | Implemented |
| UN29 | BatchActionManager | `app/assets/utils/classes/BatchActionManager.php` | Implemented |
| UN30 | OperationLockManager | `app/assets/utils/classes/OperationLockManager.php` | Implemented |
| UN31 | UsageGuard | `app/assets/utils/classes/UsageGuard.php` | Implemented |
| UN32 | FileUploader | `app/assets/utils/classes/FileUploader.php` | Implemented |
## 3. Real-time and scheduled service components (Node.js)
| Unit ID | Component | File | Status |
|---|---|---|---|
| UN33 | Socket.IO notification server | `nodejs/server.js` | Implemented |
| UN34 | Scheduled aggregate/alert jobs | `nodejs/scheduler.js` | Implemented |
| — | Process manager configuration | `nodejs/ecosystem.config.js` | Implemented |
## 4. Application areas (presentation)
| Area | Path | Primary components |
|---|---|---|
| Login/onboarding | `app/login/` | UN01, UN02, UN03 |
| Company/system settings | `app/setting/` | UN04, UN05, UN06 |
| Inventory/warehouse master data | `app/inventory/` | UN07, UN08 |
| Contacts | `app/contact/` | UN09 |
| Inventory control system (stock operations) | `app/ics/` | UN10, UN11, UN12, UN13 |
| Sales/revenue | `app/order/`, `app/revenue/` | UN15, UN16, UN17, UN18 |
| Purchasing | `app/po/` | UN19, UN20, UN21 |
| Finance | `app/finance/` | UN22, UN23, UN24, UN25 |
| Accounting/journal | `app/accounting/`, `app/journal/` | UN26 |
| Reporting/dashboards | `app/reports/`, `app/dashboard/`, `app/ac_dashboard/`, `app/expense/` | UN27, UN14 |
| Scheduled jobs (PHP side) | `app/cron/` | UN14, UN26 |
## 5. Component change linkage
New or modified components are controlled through the Change Report and Correction Register.
## 6. Approval
### Prepared by
Name: Thanakorn Sathitwitayakul
Role: Developer
Signature: ______________________________________________
Date: ___________________________________________________
### Reviewed by
Name: Apirach Supattaratpateep
Role: Project Manager
Signature: ______________________________________________
Date: ___________________________________________________
### Reviewed and authorized by
Name: Seri Viriyasakultorn
Project roles: Project Sponsor / Customer Representative / Authorized Approver
Position: Managing Director
Company: B.R.N. Enterprise Co., Ltd.
Signature: ______________________________________________
Date: ___________________________________________________