पृष्ठभूमि :
जूनियर आर एंड डी इलेक्ट्रॉनिक्स इंजीनियर ( कंपनी में एकमात्र ईई ) - हार्डवेयर और कोडिंग समस्या नहीं है। मेरा सबसे बड़ा मुद्दा परियोजना का उचित अवलोकन और कहां से शुरू करना है।
अब तक मैंने केवल मामूली सॉफ्टवेयर परियोजनाएं (कोड की उप 500 लाइनें) बनाई हैं, लेकिन मैं कार्यक्षमता या कार्यक्षमता की कमी को खोए बिना बड़ी परियोजनाओं को करने की कल्पना नहीं कर सकता।
कैसे आप सबसे अच्छा संरचना / क्या उपकरण आप बड़े एम्बेडेड सॉफ्टवेयर सिस्टम की संरचना के लिए उपयोग करते हैं?
मैं वर्तमान में क्या कर रहा हूँ :
मैं आमतौर पर परियोजना की कार्यक्षमता को स्केच करके शुरू करता हूं। यह कई स्तरित प्रवाह चार्ट या संबंधित आरेख (ब्लॉक आरेख, आदि) और घटकों / चिप्स के कुछ शोध कर सकता है। फिर मैं डेटाशीट / इंटरनेट का संदर्भ देते हुए, कोडिंग में सीधे कूदता हूं (तेजी से अनुमान लगाता हूं), एक समय में एक कार्यक्षमता को कोड करना और इसे डमी डेटा या इसी तरह के परीक्षण के साथ परीक्षण करना। यह एक MEM चिप में डेटा लिख सकता है, और फिर अगर वह काम करता है तो यह मुख्य चिप और MEM चिप के बीच एक SPI ड्राइवर हो सकता है।
क्या जवाब देने के लिए मैं देख रहा हूँ :
सच में कुछ भी। मैं जो समझदार हूं उसे सुलझा लूंगा। यह एक पुस्तक, एक लेख, व्यक्तिगत अनुभव, सिफारिशें आदि हो सकती है।
मुझे यह जानने में बहुत दिलचस्पी है कि सीनियर्स इससे कैसे निपटते हैं।
संपादित करें
सबसे पहले, अपने अनुभव के वर्षों को साझा करने के लिए धन्यवाद! सभी जवाब बहुत सराहना की है। इस से मेरा लेना है;
- एक स्पष्ट और सटीक विनिर्देश दस्तावेज़ बनाएँ।
- एक सॉफ़्टवेयर डिज़ाइन दस्तावेज़ बनाएँ। (कुछ मैं अब जोड़ूंगा) डिज़ाइन डॉक टेम्प्लेट
- मॉड्यूल में सोचें कि यह कैसे बेमानी हो सकता है। (मुझे कुछ और अधिक ध्यान केंद्रित करने की आवश्यकता है)
- शीर्ष लेख / स्रोत फ़ाइलों को संरचित करने के लिए एक कोडिंग मानक का पालन करें। (कभी नहीं किया) बर्र ग्रुप सी मानक
- पहले निम्न स्तर के कार्यान्वयन बनाने पर ध्यान दें। (संचार आदि)
- डिजाइन पैटर्न लागू करें जहां कभी संभव हो / समझदार। डिजाइन पैटर्न्स
- पुनरीक्षण नियंत्रण के लिए कुछ सेट करें (गितुब इत्यादि - कभी भी इसका उपयोग नहीं किया गया)
- अनुसंधान निरंतर एकीकरण / निरंतर तैनाती (कुछ नया मैं पर ठोकर खाई) CI और सीडी मूल बातें