Tło :
Młodszy inżynier elektroniki R&D ( jedyny EE w firmie ) - sprzęt i kodowanie to nie problem. Moim największym problemem jest uzyskanie właściwego przeglądu projektu i od czego zacząć.
Do tej pory wykonałem tylko niewielkie projekty oprogramowania (poniżej 500 linii kodu), ale nie mogę sobie wyobrazić, że będę robił większe projekty bez utraty widoku funkcjonalności lub braku funkcjonalności.
Jak najlepiej ułożyć strukturę / jakich narzędzi używasz do struktury dużych systemów oprogramowania wbudowanego?
Co aktualnie robię :
Zazwyczaj zaczynam od szkicowania funkcjonalności projektu. Może to być jeden do wielu warstwowych schematów blokowych lub powiązanych diagramów (schematy blokowe itp.) I przeprowadzanie pewnych badań komponentów / układów. Potem wskakuję prosto do kodowania (chyba szybko się nie udaje), odnosząc się do kart danych / Internetu, kodując jedną funkcję na raz i testując ją za pomocą fałszywych danych lub podobnego testu. Może to być zapis danych do układu MEM, a jeśli to zadziała, może to być sterownik SPI między układem głównym a układem MEM.
Jakiej odpowiedzi szukam :
Coś naprawdę. Rozwiążę to, co uważam za rozsądne. Może to być książka, artykuł, osobiste doświadczenie, rekomendacje itp.
Jestem bardzo zainteresowany wiedzą, jak radzą sobie z tym seniorzy.
Edytować
Po pierwsze, dziękuję za podzielenie się latami! Wszystkie odpowiedzi są mile widziane. Moje zdanie z tego jest;
- Utwórz jasny i precyzyjny dokument specyfikacji.
- Utwórz dokument projektu oprogramowania. (Coś, co teraz dodam) Projektowanie szablonów dokumentów
- Pomyśl w modułach, jak może się to wydawać zbędne. (Coś, na czym muszę się bardziej skoncentrować)
- Postępuj zgodnie ze standardem kodowania przy tworzeniu plików nagłówkowych / źródłowych. (Nigdy tego nie robił) Barr Group C standard
- Najpierw skup się na tworzeniu implementacji niskiego poziomu. (Komunikacja itp.)
- Wdrażaj wzorce projektowe tam, gdzie to możliwe / rozsądne. Wzorce projektowe
- Skonfiguruj coś do kontroli wersji (Github itp. - nigdy tak często nie korzystałem)
- Badanie ciągłej integracji / ciągłego wdrażania (coś nowego, na co natknąłem się) Podstawy CI i CD