جفتگری (دانش رایانه) کیست؟ توضیح بده.
در دانش رایانه جفتگری یا وابستگی به میزان اتکای یک ماژول از برنامه به سایر ماژول‌ها گفته می‌شود.جفتگری را می‌توان نقطه مقابل چسبندگی (Cohesion) دانست. جفتگری کم اغلب با چسبندگی زیاد متناظر است و بالعکس. چسبندگی و جفتگری به عنوان معیارهای اندازه‌گیری کیفیت نرم‌افزار توسط لری کنستانتین، یکی از توسعه دهندگان اصلی طراحی ساختاریافته، که از طرفداران اولیه این مفاهیم بود ابداع شد. جفتگری ضعیف غالباً نشانهٔ یک سیستم رایانه‌ای خوش ساخت و یک طراحی خوب است و اگر با چسبندگی بالا نیز همراه شود، باعث افزایش خوانایی و قابلیت نگهداری می‌شود.انواع جفتگری در زبان‌های ساخت‌یافته.جفتگری ممکن است زیاد (جفتگری قوی یا سفت) یا کم (جفتگری ضعیف یا شل) باشد. برخی از انواع جفتگری به ترتیب نزولی از بیشترین تا کمترین میزان جفتگری عبارتند از:استاندارد مؤسسه مهندسان برق و الکترونیک.این استاندارد توسط مؤسسه مهندسان برق و الکترونیک ارائه شده و مشتمل بر ۶ جفتگری است این استاندارد تا حد زیاد با آنچه گلنفورد مِیِرز در سال ۱۹۷۴ ارائه داده شباهت دارد ولی تفاوت‌های نیز وجود دارد.این استاندارد اگرچه از لحاظ لغوی به بررسی پرداخته، برخی از جنبه‌ها را فراموش نموده که مهم‌ترین آن، به دلیل قدیمی بودن و عدم روزآوری، در نظر نگرفتن برنامه‌نویسی شیءگراست.جفتگری در زبان‌های شیءگرا.نورمن فنتون در کتاب «متریک‌های نرم‌افزاری: رویکردی سخت‌گیرانه و عملی» متریک نرم‌افزاری را به صورتِ: «"در حقیقت متریک نرم‌افزاری عبارتی بنیادی برای توصیف دامنهٔ وسیعی از فعالیت‌های اندازه‌گیری است. این فعالیت‌ها از استخراج مشخصه‌هایی است که ویژگی‌های کدِ نرم‌افزار (تعریف کلاسیک «متریک» در نرم‌افزار) تا مدلهایی برای پیش‌بینی منابعِ لازم برای نرم‌افزار و کیفیت آن را در بر می‌گیرند. این موضوع همچنین شامل جنبه‌هایی از کنترل کیفیت و ضمانت است که پوشش دهندهٔ فعالیت‌هایی از قبیل یافتن نقایص در طول توسعه و آزمایش است"». همچنین وی دربارهٔ این موضوع که نباید به سرعت به دنبال انتزاعی کردن تعریف پیش رفت نیز گفته‌است: «"... برای ایجاد نگاشت (ریاضی) تعجیل کرده و سپس اعداد را دستکاری می‌نماییم…"».با ارائه زبان‌های شیءگرا و ارائه ویژگی‌های آن از سوی «گریدی بوش» ویژگی‌های زبان‌های شیءگرا برشمرد. کلاس و شیء دو گونهٔ جدید بود که دربرابر ساختارهای قدیمی قرار می‌گرفت. «شیام چیدامبر» و «کریس کمرر» چارچوبی را برای اندازه‌گیری کیفیت ارائه نمودند. این چارچوب شامل چندین متریک بود که هر یک یکی از وجوه نرم‌افزار را اندازه‌گیری می‌کرد. این چارچوبی یکی از اولین تلاش‌های در این زمینه بود.این متریک مورد انتقادهای زیادی قرار گرفت. «مارتین هیتز» و «بهزاد منتظری» نسبت به روش شمارش آن نقد داشتند. همچنین «تریسی هال» و «توبیاس میر» متریک‌های ارائه شده توسط چیدامبر را بدون منطق و کارایی خطاب کردند.«هیتز» و «منتظری» چارچوبی جدید را ارائه کردند. ویژگی چارچوب آن‌ها پوشش دو موضوع ارائه شده توسط زبان‌های شی‌گرا بود. آن‌ها میان «شیء» و «کلاس» تفاوت قایل شدند و برای هریک متریکی جداگانه را پوشش دادند. هر دو متریک چدامبر-کمرر و هیتز-منتظری از نوع اعداد ترتیبی بودند. اما روش چیدامبر-کمرر به هیچ وجه اصول اعداد ترتیبی را رعایت نمی‌کرد که منجر به عدم عملیاتی شدن آن می‌گردد. تد فیسون از جهت دیگری به مسئلهٔ جفتگری نگاه نموده و آن را از دو جهت بررسی نموده: «ذات» و «گونه». از لحاظ ذات، جفتگری به دو بخش ایستا و پویا تقسیم می‌گردد. در بخش ایستا، تا زمانی که تمام ماژول‌ها فراهم نباشد اصولاً برنامه قادر به کامپایل شدن نمی‌باشد. ذات پویا نیز خواستار کد اجرایی برنامه در حین اجراست.از نظر گونه به سه زیر دستهٔ «جفتگری براساس گونه»، «جفتگری منطقی» و نیز «جفتگری براساس امضا» تقسیم می‌شوند.