Transcript ****** 1
העלאת המודעות לחשיבות של תיעוד באמצעות משחק תפקידים,תוכנה היברידי HYBRID TEAM-BASED ROLE PLAY AS A VEHICLE FOR IMPROVING SOFTWARE DOCUMENTATION Aharon Yadin and Ilana Lavy 1 הקדמה 2 הגדרת הבעיה הסדנה בהנדסת תוכנה הערכת תהליך הלמידה תוצאות מסקנות ידין ולביא 2010 הגדרת הבעיה 3 הנדסת תוכנה היא דיסציפלינה חדשה יחסית אשר התחילה בעקבות "משבר התוכנה" כיום ,הנדסת תוכנה היא מתודולוגיה בשלה ומקובלת ומהווה עוגן בלימודי פיתוח תוכנה אולם ,למרות שמחזור החיים של פיתוח תוכנה כולל פעילויות רבות, סטודנטים נוטים להתרכז בעיקר בקידוד ][Naur and Randell, 1968 ידין ולביא 2010 תחזוקתיות התוכנה 4 כל מכשיר (או מערכת ואפילו תוכנה) זקוק לתחזוקה מערכות מידע ותוכנה באופן כללי הן מערכות דינאמיות ,הניתנות להתאמה לכן בנוסף לתחזוקת שבר ,נדרשת גם תחזוקה לשיפורים אפשריים תיקון של שגיאות שמתגלות הוספת שיפורים אפשריים לתוכנה (עקב שינויים בסביבה התפעולית ,התחרות ,האקלים העסקי).. תחזוקה היא גורם משמעותי בסך עלות המערכת משמשת בתפקיד מכריע בתהליך של הנדסת תוכנה ידין ולביא 2010 הסדנה בהנדסת תוכנה 5 הסדנה בהנדסת תוכנה היא קורס חובה בשנה ב' בין המטרות המרכזיות של הסדנה :הבנת והפנמת מושגים הקשורים במחזור חיים של פיתוח תוכנה תוך כדי הדגשת החשיבות של תיעוד ותחזוקת המוצר העבודה בסדנה מתבצעת בצוותים כדי לקדם חשיבה ביקורתית, ולפתח מיומנויות של עבודת צוות ידין ולביא 2010 אודות המשתתפים 6 בסדנה השתתפו 26סטודנטים הסטודנטים התחלקו ל 7 -צוותים. חמישה צוותים בני 4חברי צוות שני צוותים בני 3חברי צוות בשלב זה הסטודנטים למדו מהו מודל תוכנה ((UML ידין ולביא 2010 מבנה הסדנה 7 לכל הצוותים הוקצע פרויקט "זהה" הפרויקט הוגדר ,במתכוון ,באופן מעורפל "מערכת למכירות פומביות באינטרנט" הסטודנטים נדרשו ללמוד את המערכות הקיימות בשוק ,להעריך אלטרנטיבות אפשריות ולהגדיר את פונקציונאליות המערכת, המוסכמת על חברי הצוות מבנה הסדנה היה מושתת על עקרונות מחזור החיים של תוכנה ובנוי ,עקב אילוצי זמן ,רק משלוש משימות עוקבות ידין ולביא 2010 שלבי העבודה במהלך הסדנה 8 שלוש המשימות בפרויקט הן :הגדרה ותכנון הפרויקט ,פיתוח (קידוד) הפרויקט ובדיקות לכל משימה הוקצו ארבעה שבועות שבהן התבצעה: עבודה עצמית עבודת צוות (פנים אל פנים או ישיבות וירטואליות) בקשת עזרה/ייעוץ מהמרצה תיעוד הרעיונות והפעילויות פעילויות תוך-צוותיות ידין ולביא 2010 שלבי הסדנה 9 כדי להעצים את החשיבות הנתפשת של תיעוד ותחזוקה ,הצוותים עסקו בפיתוח מבוסס משחק תפקידים כל צוות היה מעורב בכל אחד משלושה השלבים ,אך שלב התכנון בוצע על ידי צוות אחד ,שלב הפיתוח בוצע על ידי צוות שני ושלב הבדיקות בוצע על ידי צוות שלישי פעילויות בין-צוותיות ידין ולביא 2010 )שלבי הסדנה (פרויקטים Project Definition Project Development Project Testing Project 1 Team 1 Team 2 Team 3 Project 2 Team 2 Team 3 Team 5 Project 3 Team 3 Team 4 Team 6 Project 4 Team 4 Team 5 Team 1 Project 5 Team 5 Team 6 Team 7 Project 6 Team 6 Team 7 Team 2 Project 7 Team 7 Team 1 Team 4 2010 ידין ולביא 10 )שלבי הסדנה (צוותים Project Definition Project Development Project Testing Project 1 Team 1 Team 2 Team 3 Project 2 Team 2 Team 3 Team 5 Project 3 Team 3 Team 4 Team 6 Project 4 Team 4 Team 5 Team 1 Project 5 Team 5 Team 6 Team 7 Project 6 Team 6 Team 7 Team 2 Project 7 Team 7 Team 1 Team 4 2010 ידין ולביא 11 שלב תכנון הפרויקט 12 תיאור הפרויקט ופעילויות התכנון לימוד פתרונות אפשריים שניתן להשתמש בהם בפרויקט הגדרת 5תרחישי שימוש ( )Use casesותרשימי הרצף הדרושים ))Sequence Diagrams ביצוע תכן על )(System Architecture and Class Diagrams ביצוע תכן מפורט )(Activity Diagrams, PDL ידין ולביא 2010 שלב פיתוח (קידוד) הפרויקט 13 פיתוח (קידוד) המערכת בהתאם למסמך הראשון כל צוות נדרש לבצע את שלב הפיתוח בהתבססו על שלב התכנון שצוות אחר ביצע הצוותים הורשו להכניס שינויים מזעריים ובלבד שהם הכרחיים כל צוות נדרש להכין את המסמכים הבאים: מסמך "הבדלים" (מלווה בפירוט הסיבות לשינויים) הערכה של המסמך שקיבלו מהצוות האחר תוכנית של בדיקות יחידה ידין ולביא 2010 שלב בדיקת הפרויקט 14 יישום בדיקות היחידה (שהוגדרו ע"י הצוות הקודם) פיתוח מנגנון לבדיקת החלקים השונים של הפרויקט תיקון השגיאות ובדיקות חוזרות לאחר התיקון כל צוות נדרש להכין: תיעוד של רשימת הבעיות שהתגלו ותיקונן תכנית לבדיקת מערכת (מבוססת על המסמך הראשון) בדיקות איכות המתייחסות לדרישות לא פונקציונאליות ידין ולביא 2010 הערכת תהליך הלמידה 15 הועברו שני שאלונים להערכת החשיבות היחסית של שלוש המשימות בפרויקט (כפי שנתפשות בעיני הסטודנטים) השאלון הראשון הועבר בשיעור הראשון של הסדנה השאלון השני הועבר בשיעור האחרון של הסדנה ידין ולביא 2010 השאלון הראשון 80% 70% 60% Relative Importance % 50% 40% 30% 20% 10% 0% Documentation Development 2010 ידין ולביא Testing 16 השאלון השני 80% 70% 60% Relative Importance % 50% 40% 30% 20% 10% 0% Documentation Development 2010 ידין ולביא Testing 17 תוצאות נוספות 18 מתוך הרפלקציות של הסטודנטים על התהליך: " ידעתי ועכשיו אני גם מבין את החשיבות של שיתוף פעולה בין חברי הצוות .יש לשים דגש על תיעוד טוב" " עבודה בצוות חשפה אותי להרבה רעיונות חדשים ולאפשרויות אחרות לפתרון הבעיה" " עבודת צוות יכולה להיות ברכה ,אך לעיתים היא יכולה להיות קללה"... " זה היה קורס קשה .לנסות להבין דרישות רק על ידי הסתכלות בקוד – זה לא קל .אני לא חושב שאני יכול להצליח בעבודת תחזוקה"... ידין ולביא 2010 מסקנות 19 הסדנה העלתה את רמת ההבנה של הסטודנטים העבודה בצוותים חשפה את הסטודנטים לרעיונות שונים והעלתה את חשיבות התיעוד בעיניהם החשיבות של התיעוד ,או הקשיים שהתעוררו כתוצאה מתיעוד לקוי, או חסר ,הפכו להיות משמעותיים וברורים ידין ולביא 2010 תודה רבה [email protected] [email protected] 2010 ידין ולביא 20