इंजीनियरिंग समस्याओं को हल करने के लिए एक पुनरावृत्त दृष्टिकोण

ठीक है, मैं भी उस दिन को देखने के लिए रहता था जब मुझे इस ब्लॉग पर लिखने के लिए तैयार किया गया था।
अच्छा दिन है, habrachelovek!

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

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


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

कार्यों को संबोधित करने की आवश्यकता है। इसलिए स्कूल में पढ़ाया जाता है। लेकिन इस चिकनी महिला को एक भी सुराग के बिना कैसे निपटना है? हम भ्रम को महसूस करते हैं कि अज्ञानता के कारण कार्य को हल करने के लिए वास्तव में क्या करने की आवश्यकता है। इस प्रकार,
मैं निम्नलिखित एल्गोरिथ्म का प्रस्ताव करता हूं। मैं तुरंत कहूंगा कि मैं यहां मूल होने का ढोंग नहीं करता, शायद इसी तरह की यात्रा का वर्णन पहले कहीं और किया जा चुका है, लेकिन मैंने इसे पहले नहीं देखा है।


शुरुआती बिंदु समस्या का शब्दांकन होगा ("सभी के लिए कहीं न कहीं खुशी पाएं")। हम यह मानेंगे कि हम इसके उत्पादन के लिए एक परियोजना पर काम कर रहे हैं। इसे पूरा करने के लिए आपको सबसे पहले क्या करने की आवश्यकता है? शुरू करने के लिए, यह तैयार करना आवश्यक है कि ग्राहक अपने लिए परियोजना कैसे प्रस्तुत करता है (इस विशेष उदाहरण में, पूरी मानवता, सामान्य मामले में, यह नियोक्ता या यहां तक ​​कि खुद भी हो सकता है)। यही है, परियोजना के लिए बाहरी आवश्यकताओं की पहचान करना । हमारे मामले में, सब कुछ सरल है - दुनिया के प्रत्येक निवासी को खुश होना चाहिए। सामान्य स्थिति में, इस चरण का परिणाम पाठ के कुछ पृष्ठों का हो सकता है जिसमें अंतिम लक्ष्य के बारे में सबसे सामान्य जानकारी होती है । मामले में जब परिणाम सामान्य वाक्यांशों में वर्णित करना मुश्किल होता है, तो आप अंतिम उपयोगकर्ताओं द्वारा इसके उपयोग की विधि के माध्यम से वांछित के विवरण का सहारा ले सकते हैं (उपयोगकर्ताओं को दो बटन "अभी भी खुशी" और "पड़ोसियों के साथ खुशी साझा करना चाहिए।" जब आप बटन पर क्लिक करते हैं ...) आदि। )।

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

ठीक है, अब हम जानते हैं कि परियोजना को पूरा करने के लिए क्या किया जाना चाहिए। लेकिन क्या होगा अगर परियोजना लंबे समय तक देरी होने का जोखिम उठाती है? या अगर हम एक पूरी टीम के रूप में इस पर काम करते हैं? तीसरा चरण जानकारी के ढेर में उन चीजों को डालना है जो हमने पिछले चरण में एकत्र किए थे और निर्दिष्ट करने के लिए (हां, नीचे लिखें!) तैयार किए गए उप-मुखौटे। इसलिए, हम सबटुक का अधिकतम अपघटन करते हैं और न्यूनतम कार्यों को हल करने के लिए क्रियाओं के अनुक्रम का चयन करते हैं जो अब घटकों (कुछ इस तरह:) में टूट नहीं सकते हैं ... हमें खुशी के उत्पादन के लिए कारखानों की आवश्यकता है। इसके लिए हमें श्रमिकों की आवश्यकता है। हमें श्रमिकों को प्रशिक्षित करने की आवश्यकता है। : हम 20 होनहार हाई स्कूल के छात्रों और ... ") लेते हैं। उपशीर्षक के विनिर्देश एक गंभीर, कठिन और आंशिक रूप से कठिन काम है। लेकिन एक बार में इसके कई फायदे हैं - सबसे पहले, यह एक निहित डिजाइन है। अक्सर ऐसा होता है कि जब आप लिखते हैं कि आप क्या करने जा रहे हैं (और तुरंत तैयार होने पर कीबोर्ड के साथ कोड में जल्दी मत करो), कुछ सूक्ष्मताएं जो पहले सन्निकटन के रूप में याद की गईं थीं, उपयोगी वास्तु निर्णय लिए गए हैं और समायोजन किए गए हैं और आगे के विकास को सरल बनाते हैं। और कुछ कार्यों को पूरी तरह से छोड़ना होगा। =) दूसरे, यह आपको योजना के कार्यान्वयन के लिए श्रम लागतों का अधिक सटीक रूप से आकलन करने की अनुमति देता है, क्योंकि काम की मात्रा जितनी कम अनुमानित है, भविष्य में इसके कार्यान्वयन के लिए सही शब्दों का नाम रखने की अधिक संभावना है। और तीसरा, जब अनुमोदित विनिर्देश हैं, तो मौजूदा सुविधाओं में अंतहीन सुधार करने और नए लोगों को जोड़ने के लिए प्रलोभन से बचना आसान है, और परियोजना शुरू होने में देरी और देरी करना। वास्तव में, अग्रिम में यह निर्धारित करना मुश्किल है कि उपयोगकर्ताओं को वास्तव में क्या आवश्यकता होगी और भविष्य में उत्पाद की लोकप्रियता का क्या अवसर निर्धारित करेगा। सबसे पहले आपको कुछ न्यूनतम सेट के साथ शुरुआत करने की आवश्यकता है जो व्यवहार्यता सुनिश्चित करता है, और उसके बाद ही उपयोगकर्ताओं की वास्तविक जरूरतों के आधार पर नए कार्यों को जोड़ता है। इस चरण का परिणाम एक दस्तावेज़ है जिसमें उप-प्रकारों और उन्हें हल करने के तरीकों का वर्णन है।

अंत में, हम वास्तविक कार्यान्वयन के लिए सबसे अधिक प्रिय के करीब हैं। लेकिन हम जल्दी में नहीं हैं - पहले आपको उस समय का मूल्यांकन करने की आवश्यकता है जो प्रत्येक उपखंड को अलग से पूरा करने में लगेगा। इस क्षण तक, हमने पहले से ही विनिर्देशों को लिखकर अपने जीवन को यथासंभव सरल बना दिया है, हमें बस संख्याओं को कम करना होगा ("ऑस्ट्रेलिया के निवासियों को खुश करें - 48 घंटे, अल्बानिया - 32 घंटे, अमेरिका - 72 घंटे ...")। इस चरण का मुख्य लक्ष्य प्रत्येक उपटैब को कुछ समय सीमा में चलाने का प्रयास करना है। वास्तव में, श्रम लागतों की योजना और मूल्यांकन के लिए बहुत बड़ी संख्या में तरीकों के अस्तित्व के बावजूद, यह चरण वास्तविकता से बहुत सार है और यह न केवल घड़ियों को बल्कि नंबरों के बगल में तोते लगाने के लिए अधिक सही होगा, लेकिन कुछ सन्निकटन अभी भी प्राप्त होगा। और यह सन्निकटन प्रत्येक बाद के पुनरावृत्ति पर अधिक सटीक होगा (जिसमें से हमने अभी तक एक शब्द नहीं कहा है)। परिणाम - प्रोजेक्ट वर्क शेड्यूल

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

निष्कर्ष

वर्णित विधि एक उपकरण का सार है जो किसी भी तकनीकी समस्या को हल करने के लिए एकीकृत दृष्टिकोण की अनुमति देता है, भ्रम की स्थिति को कम करता है। Iterativeness और प्रत्येक पुनरावृत्ति के भीतर चरणों में विभाजन प्रत्येक कार्य पर अधिकतम एकाग्रता की अनुमति देता है। और एकाग्रता गुणवत्ता और सफलता की कुंजी है। सच है, यह याद रखने योग्य है कि सबसे अच्छा अच्छे का दुश्मन है, इसलिए अत्यधिक पूर्णतावाद से अभी भी बचा जाना चाहिए।
अपने प्रयासों में शुभकामनाएँ, दोस्तों!

UPD: उपयोगकर्ता iasonov ने TRIZ :: ARIZ की दिशा में देखने का सुझाव दिया, जिसमें इस तरह की एक दिलचस्प योजना है । हम सब पेट भर कर एक साथ पढ़ते हैं।

Source: https://habr.com/ru/post/In134798/


All Articles