Bối cảnh :
Kỹ sư điện tử Junior R & D ( EE duy nhất trong công ty ) - phần cứng và mã hóa không phải là vấn đề. Vấn đề lớn nhất của tôi là có được một cái nhìn tổng quan đúng đắn về dự án, và bắt đầu từ đâu.
Cho đến nay tôi chỉ thực hiện các dự án phần mềm nhỏ (500 dòng mã), nhưng tôi không thể hình dung mình sẽ thực hiện các dự án lớn hơn mà không mất tổng quan về chức năng hoặc thiếu chức năng.
Làm thế nào để bạn cấu trúc tốt nhất / bạn sử dụng công cụ nào để cấu trúc các hệ thống phần mềm nhúng lớn?
Những gì tôi đang làm :
Tôi thường bắt đầu, bằng cách phác thảo chức năng của dự án. Nó có thể là một đến nhiều biểu đồ dòng phân lớp hoặc sơ đồ liên quan (sơ đồ khối, v.v.) và thực hiện một số nghiên cứu về các thành phần / chip. Sau đó, tôi nhảy thẳng vào mã hóa (tôi đoán là không nhanh) trong khi tham khảo bảng dữ liệu / Internet, Mã hóa một chức năng tại một thời điểm và kiểm tra nó với dữ liệu giả hoặc thử nghiệm tương tự. Nó có thể ghi dữ liệu vào chip MEM, và sau đó nếu nó hoạt động thì đó có thể là trình điều khiển SPI giữa chip chính và chip MEM.
Câu trả lời tôi đang tìm kiếm :
Cái gì đó thật sự. Tôi sẽ sắp xếp những gì tôi thấy hợp lý. Nó có thể là một cuốn sách, một bài báo, kinh nghiệm cá nhân, khuyến nghị, v.v.
Tôi rất quan tâm đến việc biết người cao niên giải quyết vấn đề này như thế nào.
Chỉnh sửa
Trước hết, cảm ơn bạn đã chia sẻ kinh nghiệm nhiều năm của bạn! Tất cả các câu trả lời được nhiều đánh giá cao. Tôi lấy từ đây là;
- Tạo một tài liệu đặc tả rõ ràng và chính xác.
- Tạo một tài liệu thiết kế phần mềm. (Bây giờ tôi sẽ thêm) Thiết kế mẫu tài liệu
- Hãy suy nghĩ trong các mô-đun bao giờ có vẻ dư thừa. (Một cái gì đó tôi cần tập trung hơn vào)
- Thực hiện theo một tiêu chuẩn mã hóa để cấu trúc các tệp tiêu đề / nguồn. (Chưa bao giờ làm điều này) Tiêu chuẩn Barr Group C
- Tập trung vào việc tạo ra các triển khai cấp thấp đầu tiên. (Truyền thông, v.v.)
- Thực hiện các mẫu thiết kế bất cứ khi nào có thể / hợp lý. Mẫu thiết kế
- Thiết lập một cái gì đó để kiểm soát sửa đổi (Github, v.v. - không bao giờ sử dụng nhiều)
- Nghiên cứu tích hợp liên tục / triển khai liên tục (Một cái gì đó mới mà tôi tình cờ phát hiện ra) Khái niệm cơ bản về CI & CD