האתר הישראלי להנדסת תכנה

דף ראשי | מפת האתר | רשימת מושגים | מקורות נוספים | אודות
ניתוח סטטי אוטומטי בחן את עצמך

שיטת החדר הנקי

המונח "חדר נקי" לקוח מתחום המוליכים-למחצה, בו תהליך הייצור מחייב חדר נקי כדי להמנע מתקלות שמקורן באבק, לכלוך וכדומה (חדר כזה נקי למעשה פי 100 מחדר ניתוח). מפתחי גישה זו עבור פיתוח תכנה ניסו ליצור סביבת פיתוח תכנה המייצרת אפס תקלות.

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

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

מחקרים הוכיחו ששיטת פיתוח זו אכן מייצרת קוד פשוט ונכון יותר. השיטה התבררה כלא יקרה יותר משיטות פיתוח אחרות והיא אף מעלה את כדאיות השימוש בטכניקות אימות סטטיות מכיון שהן ממילא מתאימות יותר לקטעי קוד בעלי מאפיינים כאלו הנבנים בשיטה זו.

ניתוח סטטי אוטומטי לתחילת הדף בחן את עצמך
©איתן 2003. כל הזכויות שמורות למערכת המידע איתן