לכידות (תוכנה)

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

בהנדסת תוכנה, מדד לכידות (באנגלית: Cohesion) מייצג את חוזק הקשר הפונקציונלי בין פעולות שונות תחת אותו מודול. מונח זה הומצא על ידי מהנדס תוכנה אמריקאי בשם לארי קונסטנטין, כחלק משיטה שפיתח להערכת איכות של תוכנה. מונח נוסף אשר הומצא במסגרת שיטה זו הוא מדד הצימוד (Coupling), המתייחס לרמת התלות בין המודולים השונים. לכידות גבוהה, במקרים רבים, היא סימן לצמידות נמוכה ולהיפך.

בהערכת איכותו של קוד תוכנה, יועדף קוד בעל לכידות גבוהה, המהווה סימן לתכונות חיוביות וחשובות שעל הקוד לקיים, הכוללות חוסן, אמינות, יכולת שימוש מחדש ויכולת הבנה גבוהה. מאידך, לכידות נמוכה מרמזת על תכונות שליליות הכוללות קושי בתחזוקה, קושי בבדיקות, יכולת שימוש מחדש נמוכה ויכולת הבנה נמוכה.

סיווג רמת לכידות[עריכת קוד מקור | עריכה]

ניתן לסווג קוד לאחת מרמות הסיווג הבאות (מהטובה ביותר אל הגרועה ביותר):

  1. לכידות פונקציונלית (Functional Cohesion) - פעולות במודול תורמות כולן למשימה בודדת ומוגדרת היטב של המודול.
  2. לכידות סדרתית (Sequential Cohesion) - פעולות במודול מקובצות תחתיו כיוון שהפלט של פעולות מסוימות הינו הקלט של פעולות אחרות.
  3. לכידות תקשורתית (Communicational Cohesion) - פעולות במודול מקובצות תחתיו כיוון שהן פועלות על אותו המידע.
  4. לכידות פרוצדורלית (Procedural Cohesion) - פעולות במודול מקובצות תחתיו כיוון שהן תמיד מבוצעות יחד כחלק מהליך של המערכת (לדוגמה, פעולת בקשת הרשאות ופעולת פתיחת קובץ המבוצעות בזו אחר זו).
  5. לכידות טמפורלית (Temporal Cohesion) - כאשר הפעולות במודול מקובצות תחתיו כיוון שהן מבצעות את פעולותיהן במהלך פרק זמן מוגדר במהלך ריצת התוכנית.
  6. לכידות לוגית (Logic Cohesion) - כאשר הפעולות במודול מקובצות תחתיו כיוון שהן מבצעות משימות דומות, גם כאשר הינן שונות מטבען (לדוגמה, קיבוץ כל פעולות הקלט תחת אותו מודול).
  7. לכידות מקרית (Coincidental Cohesion) - הפעולות במודול מקובצות תחתיו באופן שרירותי, כאשר הקשר היחיד בין הפעולות הוא בכך שקובצו יחדיו תחת אותו מודול.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]