Prototype
Liên hệ với Prototype Tooling:
CAT A/B: sử dụng prototype hoặc soft tooling, có thể là printed parts, resin mold, hoặc mock-up ECU, chưa đủ để chạy test có tính pháp lý.
CAT C: dùng soft production tool, có thể dùng cho NCAP, regulation test, validation cho ADAS safety.
CAT D: yêu cầu hard tooling, chính là các công cụ sẽ được dùng trong SOP (Start of Production). Xe dùng trong validation cuối, homologation, hoặc dùng cho media/show.
📌 Trong dự án của bạn, liên quan đến:
ADAS validation: CAT C hoặc D là cần thiết, vì cần các system behavior như trong sản phẩm thật.
Homologation / Regulation / NCAP: phải dùng xe cấp CAT C hoặc D để kết quả được công nhận.
Internal Function Validation: CAT B có thể đủ, nếu chỉ validate behavior module, chức năng ECU.
1. Quy trình phát triển phần mềm
1.1. Thu thập thông tin và phân tích yêu cầu (Requirements Gathering & Analysis)
Mục tiêu: Hiểu rõ nhu cầu của khách hàng, xác định phạm vi dự án, và tạo nền tảng cho các giai đoạn tiếp theo.
Hoạt động:
Phỏng vấn khách hàng, khảo sát, hoặc nghiên cứu thị trường.
Phân tích yêu cầu để đảm bảo tính khả thi.
Xác định yêu cầu chức năng (functional) và phi chức năng (non-functional).
Kết quả: Tài liệu yêu cầu phần mềm (SRS - Software Requirements Specification).
1.2. Lập kế hoạch (Planning)
Mục tiêu: Xây dựng lộ trình và phân bổ tài nguyên cho dự án.
Hoạt động:
Ước tính thời gian, chi phí, và nguồn lực.
Lựa chọn công nghệ, công cụ, và nền tảng phát triển.
Phân chia công việc thành các giai đoạn nhỏ hơn (sprints hoặc milestones).
Kết quả: Kế hoạch dự án (Project Plan).
1.3. Thiết kế hệ thống (System Design)
Mục tiêu: Tạo ra kiến trúc và mô hình chi tiết cho phần mềm.
Hoạt động:
Thiết kế kiến trúc tổng thể (high-level architecture).
Thiết kế chi tiết module, cơ sở dữ liệu, và giao diện người dùng.
Tạo prototype hoặc mockup để minh họa.
Kết quả:
Tài liệu thiết kế hệ thống (System Design Document - SDD).
Prototype hoặc mô hình UI/UX.
1.4. Phát triển (Development)
Mục tiêu: Lập trình và xây dựng sản phẩm dựa trên thiết kế.
Hoạt động:
Viết mã (coding) theo module.
Tích hợp các thành phần phần mềm.
Áp dụng các nguyên tắc kiểm tra mã (code review) và quản lý phiên bản (version control).
Kết quả: Phần mềm hoặc sản phẩm chức năng (working software).
1.5. Kiểm thử (Testing)
Mục tiêu: Đảm bảo phần mềm hoạt động chính xác, an toàn, và ổn định.
Hoạt động:
Kiểm thử chức năng (Functional Testing): Đảm bảo phần mềm hoạt động theo yêu cầu.
Kiểm thử phi chức năng (Non-functional Testing): Hiệu năng, bảo mật, khả năng mở rộng.
Kiểm thử tích hợp (Integration Testing) và kiểm thử hệ thống (System Testing).
Kết quả: Báo cáo kiểm thử (Test Report) và sản phẩm đạt chuẩn chất lượng.
1.6. Triển khai (Deployment)
Mục tiêu: Đưa phần mềm vào môi trường thực tế.
Hoạt động:
Triển khai trên môi trường sản xuất.
Đào tạo người dùng cuối (end-users) nếu cần.
Đảm bảo khả năng rollback (khôi phục) nếu xảy ra lỗi.
Kết quả: Phần mềm sẵn sàng sử dụng.
1.7. Bảo trì (Maintenance)
Mục tiêu: Đảm bảo phần mềm tiếp tục hoạt động tốt sau triển khai.
Hoạt động:
Khắc phục lỗi (bug fixes).
Nâng cấp tính năng theo phản hồi người dùng.
Đảm bảo phần mềm tương thích với các hệ thống hoặc công nghệ mới.
Kết quả: Phiên bản phần mềm cập nhật.
Quy trình này có thể được điều chỉnh linh hoạt theo phương pháp mà nhóm phát triển áp dụng (ví dụ: Agile chia nhỏ thành các sprint, hoặc DevOps tích hợp liên tục và triển khai liên tục).



