सॉफ्टवेयर एक इंजीनियरिंग परिवर्तन आदेश के बराबर क्या है?


14

हमारे पास एक उपकरण है जिस पर हम एक नंगे धातु माइक्रोकंट्रोलर पर एक सॉफ्टवेयर अपडेट करने पर विचार कर रहे हैं। नई छवि को भविष्य के सभी उत्पादों पर प्रोग्राम किया जाएगा।

अगर मुझे उपकरण पर एक घटक बदलना था, तो मुझे इंजीनियरिंग परिवर्तन क्रम भरना होगा।

सॉफ्टवेयर बदलते समय क्या एक समान उद्योग प्रक्रिया है?


1
निर्भर करता है। चिकित्सा उपकरणों की दुनिया में एफडीए दिशानिर्देश इसे ईसीआर और ईसीओ कहते हैं इसलिए हम इसे इस तरह भी कहते हैं। लेकिन वास्तव में, विशेष रूप से कम विनियमित उद्योगों या अधिक "चुस्त" प्रबंधन के लिए, ईसीओ की अवधारणा नहीं है, लेकिन ईसीआर है। जब सीआर प्रस्तुत किया जाता है, तो काम शुरू होगा। सीओ को आम तौर पर निहित रूप से दिया जाता है जब "सबमिट अप्रूव" एक बदलाव के लिए दिया जाता है। सीओ से जुड़ी चीजें जैसे जोखिम विश्लेषण या तो वैकल्पिक या गैर-मौजूद हैं, भी।
user3528438

मैंने हमेशा इसे "पलायन" कहा।
हॉट लिक्स

जवाबों:


29

मैं अभी भी इसे ईसीओ कहूंगा।

यदि फर्मवेयर को कारखाने में माइक्रो में क्रमादेशित किया जाता है, तो उस फर्मवेयर और इसके विशिष्ट संस्करण को बीओएम पर एक लाइन आइटम होना चाहिए।
फर्मवेयर बदलने का मतलब है BOM बदलना।
BOM को बदलने के लिए ECO की आवश्यकता होती है।

उस पर से, फर्मवेयर के एक क्षेत्र अद्यतन को उसी तरह की प्रक्रिया का पालन करना चाहिए, जिसका पालन किया जाएगा यदि क्षेत्र में एक इकाई के लिए हार्डवेयर के लिए एक मॉड की आवश्यकता होती है।
इसलिए यदि आप कहते हैं कि एक ईसीओ, तो यह भी एक ईसीओ है।


1
हाँ, यह मेरी पुरानी कंपनी ने कैसे किया। फ़र्मवेयर संस्करण कारखाना प्रोग्रामिंग के लिए बीओएम पर सिर्फ एक और आइटम थे। हम अपने सॉफ़्टवेयर को अपडेट करने में सक्षम थे, इसलिए हमारे पास बग फिक्स / कस्टम नौकरियों के लिए रिलीज़ होंगे और उन्हें एक भाग संख्या भी सौंपी जाएगी (बस BOM पर नहीं बुलाया गया)।
शील्ड

यह सवाल का जवाब देता है यदि प्रश्न में परियोजना एक घटक के रूप में सॉफ्टवेयर के साथ एक उत्पाद है। लेकिन क्या होगा यदि परियोजना स्वयं सॉफ्टवेयर है?
user3528438

2
@ user3528438 - तो फिर सवाल इलेक्ट्रिकल इंजीनियरिंग पर यहाँ विषय से दूर हो जाएगा यह नहीं होगा।
ब्राह्मण

6

आम तौर पर एक सॉफ्टवेयर परिवर्तन को पैच या ए (सॉफ्टवेयर अपडेट) कहा जाता है। और जहां तक ​​मुझे पता है (कंपनी पर निर्भर करता है) प्रक्रियाओं को पैच या सॉफ्टवेयर अपडेट प्रक्रिया कहा जाता है।

हालांकि, ज्यादातर मामलों में सॉफ़्टवेयर अपडेट एक विशेष एप्लिकेशन को चलाने से अधिक नहीं होते हैं जो इंस्टॉलेशन का ध्यान रखते हैं और सभी आवश्यक रूपांतरण आदि पैच का हिस्सा होते हैं।

इसलिए इलेक्ट्रॉनिक पार्ट एक्सचेंज के विपरीत, किसी भी मौजूदा मौजूदा सॉफ़्टवेयर को सामान्य रूप से अनइंस्टॉल या बदलना नहीं पड़ता है, क्योंकि यह पैच सॉफ्टवेयर का हिस्सा है।

इसके अलावा, यदि पैच / सॉफ़्टवेयर अपडेट स्थापित या नहीं किया जा सकता है, तो इस पर प्रतिबंध या शर्तें हैं, यह पैच में ही जाँच की जाएगी और केवल तभी इंस्टॉल होगी जब यह स्थापित करने के लिए मान्य हो (या कम से कम, यह उस तरह से काम करना चाहिए )।

तो सिद्धांत रूप में पैच / सॉफ्टवेयर अपडेट बहुत सारी चीजें करता है, जैसे (संभवतः पूरा नहीं):

  • जांचें कि क्या पैच / सॉफ़्टवेयर अपडेट इंस्टॉल किया जा सकता है (जैसे ऑपरेटिंग सिस्टम संस्करण, वर्तमान संस्करण स्थापित आदि)
  • यदि नहीं, तो एक संदेश दिखाया जाएगा और पैच / अपडेट बंद हो जाएगा।
  • यदि इसे स्थापित किया जा सकता है, तो जिन फ़ाइलों को परिवर्तित करने की आवश्यकता है, उन्हें किया जाएगा (यह कभी-कभी पैच किए / अपडेट किए जाने वाले मुख्य एप्लिकेशन का हिस्सा है)।
  • नई फ़ाइलों को अपडेट / पैच किए जाने के लिए अपडेट किया जाता है या जोड़ा जाता है।
  • रिलीज़ नोट दिखाए गए हैं (वैकल्पिक रूप से)।
  • आवेदन शुरू किया गया है (वैकल्पिक रूप से)।

@MichaelKeijzers जिस सॉफ्टवेयर के लिए मैं बोल रहा हूं वह फर्मवेयर नंगे धातु माइक्रोकंट्रोलर पर प्रोग्राम किया जा रहा है। इसका मतलब है कि भविष्य के सभी हिस्सों में नया सॉफ्टवेयर होगा जो पैच या ओटीए अपग्रेड के लिए अलग है। क्या उपरोक्त अभी भी लागू होता है, (मैंने आपकी प्रतिक्रिया के आधार पर प्रश्न को संपादित किया है)
शेजेन

1
मुझे लगता है कि यह अभी भी लागू होता है। हालाँकि, उन्नत फर्मवेयर पैच / सॉफ़्टवेयर अपग्रेड का हिस्सा है जिसका मैं वर्णन करता हूं। इसलिए मैंने जिन कंपनियों में काम किया, उनमें बनाए गए पैच / अपग्रेड न केवल चिप्स फर्मवेयर अपडेट (ज्यादातर कंट्रोलर सॉफ्टवेयर के माध्यम से) करते हैं, बल्कि उपरोक्त चरणों का भी प्रदर्शन किया जाता है।
मिशेल किजर्स

6

आमतौर पर मैं जिन शब्दों का इस्तेमाल करता हूं, वे उन चीजों के लिए चेंज रिक्वेस्ट होते हैं, जिन्हें संशोधित आवश्यकताओं के कारण बदलना पड़ता है, और उन चीजों के लिए प्रॉब्लम रिपोर्ट होती है , जिन्हें त्रुटियों के कारण बदलना पड़ता है।

इन्हें एकत्र किया जाता है, और फिर विशिष्ट अपडेट चक्रों के लिए निर्धारित किया जाता है। यदि कोई चक्र केवल आंतरिक है , तो इसे एक मील का पत्थर कहा जाता है , यदि इसे ग्राहकों के लिए तैनात किया जाता है , तो इसे रिलीज कहा जाता है ।

रिलीज़ से पहले एक विशिष्ट समयरेखा में कुछ मील के पत्थर होते हैं, जिसे रिलीज़ कैंडिडेट कहा जाता है जो व्यापक परीक्षण से गुजरता है, और वहां मिली कोई भी त्रुटि आगे समस्या रिपोर्ट उत्पन्न करती है जो कि या तो अगले मील के पत्थर के लिए निर्धारित होती है यदि वे पर्याप्त महत्वपूर्ण हैं, या बाद में रिलीज़ नहीं होती हैं।

एक शाखा बनाना भी संभव है जो केवल ग्राहकों की शिकायतों के जवाब में विशिष्ट पीआर को संबोधित करती है, एक अलग रिलीज के साथ जिसमें आगे कोई बदलाव नहीं होता है, इस उम्मीद में कि यहां कम त्रुटियां पेश की जाती हैं। यह आमतौर पर केवल तब किया जाता है जब अपडेट के लिए प्रयास काफी कम होता है (उदाहरण के लिए क्योंकि अपडेट केवल यूएसबी स्टिक में प्लग करके उस पर एक निश्चित नाम के साथ फाइल लगाकर स्थापित किया जा सकता है)।


4

संक्षिप्त उत्तर: यह सॉफ्टवेयर संस्करण प्रणाली में बनाया गया है।

लंबा जवाब:

सॉफ्टवेयर हार्डवेयर की तुलना में बहुत तेजी से बदलता है। आमतौर पर सॉफ्टवेयर कुछ प्रकार के संस्करण नियंत्रण प्रणाली (VCS) का उपयोग करता है, जैसे लोकप्रिय Git। अधिकांश सॉफ्टवेयर कंपनियों ने सॉफ्टवेयर में बदलावों को ट्रैक करने के लिए वीसीएस के उपयोग के साथ काम किया है, प्रत्येक कमेटी ने बदलाव के पीछे के तर्क के बारे में बताया है। कुछ एक समस्या ट्रैकर का भी उपयोग करते हैं, जो ज्ञात बग, सुधार और ऐसे ट्रैक करता है। आमतौर पर एक प्रक्रिया होती है, जहां विकास एक शाखा पर होता है, फिर उस विकास को "मुख्य" (रिलीज) शाखा में विलय करने से पहले परीक्षण किया जाता है। यह सॉफ्टवेयर के विकास बनाम हार्डवेयर में धीमी गति से बदलाव की उच्च आवृत्ति के लिए अधिक कुशल है। इसका विशिष्ट कार्यान्वयन और प्रक्रिया कंपनी से कंपनी में भिन्न होती है, और अक्सर क्यूए उद्देश्यों (ISO9001, AS9100D, आदि) के लिए एक मानक से प्रभावित होती है।

एक उदाहरण:

  1. आप एक बदलाव करने का फैसला करते हैं।

  2. आप समस्या ट्रैकर में कोई समस्या बनाएँ।

  3. आप समस्या को हल करने के लिए एक शाखा बनाएँ।
  4. आप कुछ सॉफ्टवेयर परिवर्तन करते हैं।
  5. आपके पास अपनी परिवर्तन सहकर्मी प्रति कंपनी नीति की समीक्षा है
  6. आप एक पुल अनुरोध जारी करते हैं और देव शाखा में वापस आ जाते हैं।
  7. आप समस्या को बंद करें।

3
यह गलत प्रश्न का उत्तर देता है। ओपी प्रश्न आपके उदाहरण की पहली पंक्ति में है: "परिवर्तन करने का निर्णय लेने की प्रक्रिया" का क्या नाम है
whatsisname

4

एक उचित रूप से चलने वाली उद्योग सेटिंग में, माइक्रो में फ्लैश किया जाने वाला फर्मवेयर स्वयं एक हिस्सा है और उस विशिष्ट निष्पादन योग्य (हेक्स फ़ाइल या जो भी) के लिए एक भाग संख्या है। यदि आप फर्मवेयर बदलना चाहते हैं, तो यह बीओएम (सामग्री का बिल) में बदलाव है। और उसी तरह एक ईसीओ की जरूरत है जैसे कि आप एक चिप को बदलना चाहते थे।

यह वास्तव में उतना ही सरल है।

इसके लिए एक कोरोलरी है। अपने फर्मवेयर करता है नहीं एक हिस्सा संख्या है और है नहीं बीओएम में सूचीबद्ध है और इसलिए है नहीं नियंत्रित है, तो अपने गुणवत्ता प्रक्रिया शायद में सुधार की जरूरत है। यदि आपको ISO-9001 या कुछ समान मिलना चाहिए, तो यह आपकी प्रक्रिया का एक निश्चित अंतराल है जिसे ठीक करने की आवश्यकता है।


3

सॉफ़्टवेयर अपडेट को पैच कहा जाता है या वे "सॉफ़्टवेयर अपडेट" हैं। मैं हमेशा सॉफ्टवेयर इंजीनियरों से पूछता हूं कि क्या यूनिट को "नवीनतम संस्करण में" अपडेट किया गया है।

हितधारकों द्वारा आदर्श रूप से वर्जनिंग पर "हस्ताक्षरित" किया जाता है और इसे उत्पादन में जारी किए जाने से पहले परीक्षण किया जाता है, लेकिन अधिकांशतः अधिकांश स्थानों पर यह प्रैक्टिस केवल अधिकतर समय ही नहीं होती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.