अगर software का design अच्छा होता है तो software quality बेह्तर होती है तथा software design को analyze करने के बहुत सारे तरीके होते है जैसे-coupling, cohesion, factoring, system shape आदि.
Cohesion-
cohesion एक measurement (माप) है जो कि एक module के अंदर elements की intra-dependability की degree को डिफाइन करता है.
अर्थात cohesion में यह देखा जाता है कि एक module के elements एक दूसरे से कितनी करीब से सम्बंधित है. अर्थात modules के elements की relationship एक दूसरे से कितनी गहरी है.
जितना ज्यादा cohesion होगा उतना ही अच्छा software design होगा.
Module का cohesion जितना अधिक होगा, उतना ही कम module के मध्य coupling होगी.
Types of cohesion in hindi-
Cohesion निम्नलिखित प्रकार का होता है.
1- coincidental
2- logical
3- temporal
4- procedural
5- communicational
6- sequential
7- functional
1- coincidental cohesion- यह cohesion सबसे निम्न स्तर का cohesion होता है. यह तब घटित होता है जब module के elements के मध्य कोई relationship नही होती. यह तब होता है जब प्रोग्राम को छोटे modules में तोड़ दिया जाता है.
2- logical cohesion- एक मोड्यूल में logical cohesion तब होता है जब एक मोड्यूल के elements के मध्य लॉजिकल relationship होती है. तथा elements एक ही लॉजिकल class में रखे गए functions को परफॉर्म करते हैं.
3- temporal cohesion- यह cohesion जो है वह logical cohesion की तरह होता है परन्तु इसमें elements एक ही समय पर execute होने चाहिए. temporal cohesion लॉजिकल cohesion से उच्च स्तर का होता है क्योकि इसमें elements एक ही समय पर प्रोसेस होते हैं.
4- procedural cohesion- जब मोड्यूल के elements एक साथ समूह में होते हैं तो वह एक task को पूरा करने के लिए एक sequence मै execute होते हैं इसी को procedural cohesion कहते हैं.
5- communicational cohesion- जब module के elements एक साथ group में होते हैं जो कि एक कार्य को पूरा करने के लिए sequence में execute होते हैं तथा ये सभी elements एक ही समय डेटा (इनफार्मेशन) पर कार्य करती है तब इसे communicational cohesion कहते हैं
6- sequential cohesion- जब module के elements एक साथ एक group में होते हैं क्योकि एक element का output दूसरे element के लिए input की तरह होता है तो हमें sequential cohesion प्राप्त होता है.
7- functional cohesion- यह cohesion का सबसे उच्चतम स्तर होता है module के सभी elements एक function को परफॉर्म करने से सम्बन्धित होते हैं.
Coupling-
coupling एक measurement (माप) है जो एक प्रोग्राम के modules के मध्य inter-dependability के स्तर को डिफाइन करता है.
अर्थात यह एक प्रकार की measurement है जो कि यह डिफाइन करती है कि software के components एक दूसरे पर किस प्रकार निर्भर(depend) तथा interact करते है.
coupling जितनी कम होगी software design उतना ही बेहतर होगा.
Types of coupling in Hindi-
Coupling निम्नलिखित प्रकार की होती है:
1- content कपलिंग
2- common कपलिंग
3- external कपलिंग
4- control कपलिंग
5- stamp कपलिंग
6- data कपलिंग
1- Content Coupling- content कपलिंग जो है वह सबसे उच्च स्तर का कपलिंग होता है यह तब होता है जब कोई module किसी दूसरे module की आतंरिक क्रियाविधि पर निर्भर होता है. इसका मतलब यह है कि दूसरे module में कोई बदलाव होगा तो उस dependent module में भी बदलाव होगा.
2- common coupling- इसे global कपलिंग भी कहते हैं यह तब घटित होता है जब समान global data दो modules के द्वारा share किया जाता है. इसमें दोनों modules में बदलाव आएगा जब global data में बदलाव किये जायेंगे तो.
3- external coupling- इस प्रकार कि कपलिंग तब घटित होती है जब external data format तथा communication protocol को दो modules के द्वारा share किया जाता है.
4- control coupling- इस प्रकार की कपलिंग में, एक module दूसरे module के flow को नियंत्रित करता है तथा डेटा को एक से दूसरे module में भेजता है.
5- stamp coupling– इस प्रकार की कपलिंग में बहुत सारें modules समान प्रकार के डेटा स्ट्रक्चर को share करते हैं तथा इसके अलग-अलग भागो में कार्य करते हैं.
6- data coupling- दो modules के मध्य data coupling तब होगी जब डेटा केवल उनके ही मध्य pass होगा.
निवेदन:- अगर आपको यह पोस्ट अच्छी लगी हो तो मुझे comment के द्वारा बताइए तथा इस पोस्ट को share करें.