Notifications
Clear all

[Sưu tầm] - 15 năm làm việc trong lĩnh vực tự động hoá công nghiệp đã dạy tôi cách xây dựng phần mềm đáng tin cậy như thế nào


(@auto)
Trusted Member
Tham gia: 2 năm trước
Bài viết: 36
Topic starter  

Chia sẻ từ 1 người anh giấu tên!!!

15 năm làm việc trong lĩnh vực tự động hoá công nghiệp đã dạy tôi cách xây dựng phần mềm đáng tin cậy như thế nào

Tôi đã từng trực tiếp chạy commissioning tại nhà máy, nơi mà khách hàng đứng ngay phía sau quan sát. Dây chuyền dừng. Sản xuất gián đoạn. Mỗi phút đều quy đổi thành chi phí. Không tồn tại khái niệm tôi sẽ sửa nó trong lần sau. Áp lực đó thay đổi hoàn toàn tư duy về phát triển phần mềm. Dưới đây là những nguyên tắc mà kỹ sư công nghiệp hiểu rất rõ, nhưng nhiều lập trình viên chỉ nhận ra sau khi trả giá:


   
Trích dẫn
(@auto)
Trusted Member
Tham gia: 2 năm trước
Bài viết: 36
Topic starter  

1. Không bao giờ triển khai khi chưa kiểm thử trên môi trường thực tế Trong tự động hoá, không có chuyện test trên lý thuyết hay mô phỏng hoàn toàn — phải kiểm chứng trên thiết bị thật, trong điều kiện vận hành thực. Phần mềm cũng vậy. Môi trường staging không phải production. Hệ thống sẽ có hành vi khác khi tương tác với người dùng thực và dữ liệu thực.


   
Trả lờiTrích dẫn
(@auto)
Trusted Member
Tham gia: 2 năm trước
Bài viết: 36
Topic starter  

2. Thiết kế cho tình huống lỗi, không chỉ cho trạng thái lý tưởng Mọi hệ thống công nghiệp đều có cơ chế dự phòng (fallback). • Mất kết nối thì sao? • Cảm biến lỗi thì sao? • Mất điện giữa chu trình thì sao? Nếu phần mềm của bạn không trả lời được những câu hỏi này, thì nó chưa sẵn sàng vận hành.


   
Trả lờiTrích dẫn
(@auto)
Trusted Member
Tham gia: 2 năm trước
Bài viết: 36
Topic starter  

3. Tài liệu là một phần của sản phẩm Trong các dự án công nghiệp, hệ thống không có tài liệu không gây nguy hiểm — nhưng khiến kỹ sư tiếp theo mất hàng tuần để hiểu. Phần mềm cũng vậy. Nếu chỉ mình bạn hiểu, nghĩa là bạn chưa hoàn thành sản phẩm.


   
Trả lờiTrích dẫn
(@auto)
Trusted Member
Tham gia: 2 năm trước
Bài viết: 36
Topic starter  

4. Hệ thống phải phục vụ người vận hành, không phải lập trình viên Tôi đã thấy nhiều giao diện HMI được thiết kế rất “đẹp” nhưng người vận hành từ chối sử dụng. Hoàn hảo về mặt kỹ thuật. Vô dụng trong thực tế. Phần mềm không hoàn thành khi compile thành công. Nó hoàn thành khi người cần sử dụng có thể dùng mà không cần hỏi bạn.


   
Trả lờiTrích dẫn
(@auto)
Trusted Member
Tham gia: 2 năm trước
Bài viết: 36
Topic starter  

Tôi đã mất 15 năm trên sàn nhà máy để học những điều này. Hiện tại, khi xây dựng hệ thống AI và sản phẩm phần mềm, tôi vẫn giữ nguyên tư duy đó. Độ tin cậy không phải là một tính năng. Nó là nền tảng.


   
Trả lờiTrích dẫn
Chia sẻ: