배경 :
주니어 R & D 전자 엔지니어 ( 회사에서 유일한 EE )-하드웨어 및 코딩은 문제가되지 않습니다. 가장 큰 문제는 프로젝트의 개요와 시작 위치를 얻는 것입니다.
지금까지 작은 소프트웨어 프로젝트 (500 줄 이하의 코드) 만 만들었지 만 기능에 대한 개요를 잃지 않거나 기능이 부족하지 않으면 서 더 큰 프로젝트를 수행 할 수는 없습니다.
대형 임베디드 소프트웨어 시스템을 구성하는 데 가장 적합한 구조 / 어떻게 도구를 사용합니까?
내가 현재하고있는 일 :
나는 보통 프로젝트의 기능을 스케치함으로써 시작합니다. 일대 다 계층화 된 플로우 차트 또는 관련 다이어그램 (블록 다이어그램 등) 일 수 있으며 구성 요소 / 칩에 대한 일부 연구를 수행합니다. 그런 다음 데이터 시트 / 인터넷을 참조하면서 한 번에 하나의 기능을 코딩하고 더미 데이터 또는 유사한 테스트로 테스트하면서 코딩 (빠른 추측)에 뛰어 들었습니다. MEM 칩에 데이터를 쓰는 것일 수 있으며, 작동하면 메인 칩과 MEM 칩 사이의 SPI 드라이버 일 수 있습니다.
내가 찾고있는 답변 :
정말요 나는 현명한 것을 정리할 것이다. 책, 기사, 개인적인 경험, 추천 등이 될 수 있습니다.
저는 노인들이 어떻게이 문제를 해결하는지 알고 싶습니다.
편집하다
우선, 수년간의 경험을 공유해 주셔서 감사합니다! 모든 답변에 감사드립니다. 이것에서 나의 테이크는;
- 명확하고 정확한 사양 문서를 작성하십시오.
- 소프트웨어 디자인 문서를 작성하십시오. (이제 추가 할 것) 디자인 문서 템플릿
- 중복되는 것처럼 보일 수있는 모듈을 생각해보십시오. (더 집중해야 할 것)
- 헤더 / 소스 파일을 구성하기위한 코딩 표준을 따르십시오. (결코이했다) 바 그룹 C 표준을
- 먼저 저수준 구현을 만드는 데 중점을 둡니다. (통신 등)
- 가능한 한 현명한 디자인 패턴을 구현하십시오. 디자인 패턴
- 개정 관리를 위해 무언가를 설정하십시오 (Github 등-많이 사용하지 마십시오)
- 지속적인 통합 / 지속적인 배포 연구 (구체적인 새로운 문제) CI 및 CD 기본 사항