📘 CodingMarble Learn

सॉफ़्टवेयर डिज़ाइन: कोड से पहले प्रोग्राम की योजना

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

🎬 कदम-दर-कदम कहानी

  1. कोड से पहले डिज़ाइन। क्विज़ ऐप जैसी बड़ी समस्या को छोटे मॉड्यूलों में बाँटो। हर मॉड्यूल एक ही काम करे।
  2. टेम्पलेट (ढाँचा) ख़ाली योजना है: शीर्षक टिप्पणी, स्थिरांक, फ़ंक्शन, फिर main। आप बस डिब्बे भरते हो।
  3. मॉड्यूलरता: एक काम एक बार फ़ंक्शन में लिखो, फिर दोबारा इस्तेमाल करो। एक average() अंकों और तापमान दोनों के लिए चलता है।
  4. प्रोग्राम की संरचना: main() मालिक है। वह हर फ़ंक्शन को क्रम से बुलाता है। डेटा पैरामीटर बनकर जाता है और return मान बनकर लौटता है।
  5. उपयोगकर्ता-अनुकूल इंटरफ़ेस में बड़े साफ़ बटन, आसान शब्द और मददगार त्रुटि संदेश होते हैं।
  6. खुला खेल: मॉड्यूल पर टैप करके अपना प्रोग्राम बनाओ। करके देखो: कैंटीन बिल कैलकुलेटर को 4 मॉड्यूलों में बाँटो।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

सीधे कोडिंग क्यों न शुरू करें?

बिना योजना के कोड एक लंबा उलझा धागा बन जाता है जिसे ठीक करना मुश्किल है। क़दम 1 में बड़ा ब्लॉक पहले साफ़ कामों में बँटता है।

क्या टेम्पलेट किसी का प्रोग्राम कॉपी करना है?

नहीं। टेम्पलेट सिर्फ़ हिस्सों का ख़ाली क्रम देता है; अंदर की बातें आप ख़ुद लिखते हो। क़दम 2।

पैरामीटर और return मान में क्या फ़र्क़ है?

पैरामीटर फ़ंक्शन के अंदर जाता है; return मान बाहर आता है। क़दम 4 में main() भेजता और पाता है।

क्या उपयोगकर्ता-अनुकूल का मतलब सिर्फ़ सुंदर है?

सिर्फ़ इतना नहीं। मतलब है साफ़, एक जैसा, ग़लती माफ़ करने वाला और सबके लिए इस्तेमाल लायक़। क़दम 5 में कठिन और आसान स्क्रीन की तुलना है।

सॉफ़्टवेयर डिज़ाइन क्या है?

सॉफ़्टवेयर डिज़ाइन का मतलब है कोड लिखने से पहले प्रोग्राम की योजना बनाना। आप तय करते हो कि कौन-से हिस्से (मॉड्यूल) होंगे, हर हिस्सा क्या करेगा, और हिस्से आपस में कैसे बात करेंगे।

हर प्रोग्राम के ये घटक होते हैं:

डिज़ाइन के औज़ार: संरचना चार्ट (मॉड्यूल के डिब्बे), फ़्लोचार्ट, और स्यूडोकोड (आसान भाषा में क़दम)।

प्रोग्राम टेम्पलेट (ढाँचा)

टेम्पलेट या ढाँचा (skeleton) ऐसा प्रोग्राम है जिसमें हिस्से अपनी जगह पर हैं पर ख़ाली हैं। आम क्रम:

  1. शीर्षक टिप्पणी: नाम, लेखक, तारीख़, उद्देश्य।
  2. इम्पोर्ट और स्थिरांक (कभी न बदलने वाले मान, जैसे TAX_RATE = 0.1)।
  3. फ़ंक्शन की परिभाषाएँ।
  4. मुख्य भाग: इनपुट → प्रोसेस → आउटपुट।

टेम्पलेट से शुरू करने पर समय बचता है और हर प्रोग्राम एक जैसा दिखता है। सही शब्दावली इस्तेमाल करो: चर, स्थिरांक, फ़ंक्शन, पैरामीटर, return मान, लूप, शर्त। साफ़ नाम रखो (total_price, x नहीं) और हर जगह एक ही नाम-शैली।

मॉड्यूलरता और दोबारा इस्तेमाल होने वाला कोड

मॉड्यूलरता (modularity) का मतलब है प्रोग्राम को छोटे, अलग टुकड़ों से बनाना। हर फ़ंक्शन एक काम करता है और उसका नाम साफ़ होता है।

लाइब्रेरी (जैसे गणित लाइब्रेरी) दूसरों के लिखे दोबारा इस्तेमाल होने वाले फ़ंक्शनों का संग्रह है।

उपयोगकर्ता-अनुकूल इंटरफ़ेस

यूज़र इंटरफ़ेस (UI) वह हिस्सा है जिसे लोग देखते और छूते हैं। अच्छे UI के नियम:

करके देखो

काग़ज़ पर एक कैंटीन बिल कैलकुलेटर डिज़ाइन करो। 4 मॉड्यूल के नाम लिखो (जैसे get_items(), add_prices(), add_tax(), print_bill())। हर एक के लिए लिखो क्या अंदर जाता है और क्या बाहर आता है। फिर खुले खेल वाले क़दम में ब्लॉकों से इसे बनाओ।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. 'रिपोर्ट कार्ड' प्रोग्राम को मॉड्यूलों में बाँटो।

1) get_marks() अंक पढ़े। 2) average(marks) औसत लौटाए। 3) grade(avg) A/B/C लौटाए। 4) print_report() नतीजा दिखाए। main() इन्हें इसी क्रम में बुलाए।

2. दो प्रोग्राम वृत्त का क्षेत्रफल निकालते हैं। डिज़ाइन कैसे करोगे?

एक फ़ंक्शन circle_area(r) लिखो जो 3.14159 × r × r लौटाए। उसे साझा मॉड्यूल में रखो और दोनों प्रोग्रामों से बुलाओ। सुधार करोगे तो दोनों को फ़ायदा मिलेगा।

3. इस संकेत को सुधारो: "Enter:"

"दाम रुपयों में लिखें (जैसे 250):"। इसमें क्या, कौन-सी इकाई और उदाहरण है। साथ ही जाँचो कि इनपुट धनात्मक संख्या है; नहीं तो कहो "कृपया 250 जैसी संख्या लिखें।"

आम गलतियाँ

अभ्यास क्विज़

1. प्रोग्राम को एक-एक काम वाले छोटे हिस्सों में बाँटना कहलाता है:
2. फ़ंक्शन के अंदर भेजा गया डेटा कहलाता है:
3. आम टेम्पलेट में सबसे पहले क्या आता है?
4. सबसे उपयोगकर्ता-अनुकूल त्रुटि संदेश कौन-सा है?
5. दोबारा इस्तेमाल होने वाले फ़ंक्शनों का मुख्य फ़ायदा:

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

सॉफ़्टवेयर डिज़ाइन आसान शब्दों में क्या है?

कोड से पहले प्रोग्राम की योजना: कौन-से मॉड्यूल होंगे, हर एक क्या करेगा, वे कैसे जुड़ेंगे और यूज़र को कैसे दिखेंगे।

प्रोग्रामिंग में मॉड्यूलरता क्या है?

प्रोग्राम को छोटे, अलग फ़ंक्शनों या मॉड्यूलों से बनाना, हर एक एक काम करे, ताकि उन्हें अलग जाँचा और दोबारा इस्तेमाल किया जा सके।

यूज़र इंटरफ़ेस को उपयोगकर्ता-अनुकूल क्या बनाता है?

साफ़ संकेत और नाम, बड़े बटन, एक जैसा लेआउट, मददगार त्रुटि संदेश, इनपुट की जाँच और सबके लिए सुगमता।

यह कहाँ पढ़ाया जाता है

कनाडा (ओंटारियो)Grade 11B. Software Development
कनाडा (ओंटारियो)Grade 11B. Software Development

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ