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