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