1 / 20

העלאת המודעות לחשיבות של תיעוד תוכנה, באמצעות משחק תפקידים היברידי

העלאת המודעות לחשיבות של תיעוד תוכנה, באמצעות משחק תפקידים היברידי Hybrid Team-Based Role Play as a Vehicle for Improving Software Documentation Aharon Yadin and Ilana Lavy. הקדמה. הגדרת הבעיה הסדנה בהנדסת תוכנה הערכת תהליך הלמידה תוצאות מסקנות. הגדרת הבעיה.

sagira
Download Presentation

העלאת המודעות לחשיבות של תיעוד תוכנה, באמצעות משחק תפקידים היברידי

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. העלאת המודעות לחשיבות של תיעוד תוכנה, באמצעות משחק תפקידים היברידי Hybrid Team-Based Role Play as a Vehicle for Improving Software Documentation Aharon Yadin and Ilana Lavy

  2. הקדמה • הגדרת הבעיה • הסדנה בהנדסת תוכנה • הערכת תהליך הלמידה • תוצאות • מסקנות

  3. הגדרת הבעיה • הנדסת תוכנה היא דיסציפלינה חדשה יחסית [Naur and Randell, 1968] • אשר התחילה בעקבות "משבר התוכנה" • כיום, הנדסת תוכנה היא מתודולוגיה בשלה ומקובלת ומהווה עוגן בלימודי פיתוח תוכנה • אולם, למרות שמחזור החיים של פיתוח תוכנה כולל פעילויות רבות, סטודנטים נוטים להתרכז בעיקר בקידוד

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

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

  6. אודות המשתתפים • בסדנה השתתפו 26 סטודנטים • הסטודנטים התחלקו ל- 7 צוותים. • חמישה צוותים בני 4 חברי צוות • שני צוותים בני 3 חברי צוות • בשלב זה הסטודנטים למדו מהו מודל תוכנה ((UML

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

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

  9. שלבי הסדנה • כדי להעצים את החשיבות הנתפשת של תיעוד ותחזוקה, הצוותים עסקו בפיתוח מבוסס משחק תפקידים • כל צוות היה מעורב בכל אחד משלושה השלבים, אך שלב התכנון בוצע על ידי צוות אחד, שלב הפיתוח בוצע על ידי צוות שני ושלב הבדיקות בוצע על ידי צוות שלישי • פעילויות בין-צוותיות

  10. שלבי הסדנה (פרויקטים) Project Definition Project Development Project Testing Team 1 Team 2 Team 3 Project 1 Team 2 Team 3 Team 5 Project 2 Team 3 Team 4 Team 6 Project 3 Team 4 Team 5 Team 1 Project 4 Team 5 Team 6 Team 7 Project 5 Team 6 Team 7 Team 2 Project 6 Team 7 Team 1 Team 4 Project 7

  11. שלבי הסדנה (צוותים) Project Definition Project Development Project Testing Team 1 Team 2 Team 3 Project 1 Team 5 Team 2 Team 3 Project 2 Team 4 Team 6 Team 3 Project 3 Team 4 Team 5 Team 1 Project 4 Team 5 Team 6 Team 7 Project 5 Team 6 Team 7 Team 2 Project 6 Team 7 Team 4 Team 1 Project 7

  12. שלב תכנון הפרויקט • תיאור הפרויקט ופעילויות התכנון • לימוד פתרונות אפשריים שניתן להשתמש בהם בפרויקט • הגדרת 5 תרחישי שימוש (Use cases) ותרשימי הרצף הדרושים Sequence Diagrams)) • ביצוע תכן על (System Architecture and Class Diagrams) • ביצוע תכן מפורט (Activity Diagrams, PDL)

  13. שלב פיתוח (קידוד) הפרויקט • פיתוח (קידוד) המערכת בהתאם למסמך הראשון • כל צוות נדרש לבצע את שלב הפיתוח בהתבססו על שלב התכנון שצוות אחר ביצע • הצוותים הורשו להכניס שינויים מזעריים ובלבד שהם הכרחיים • כל צוות נדרש להכין את המסמכים הבאים: • מסמך "הבדלים" (מלווה בפירוט הסיבות לשינויים) • הערכה של המסמך שקיבלו מהצוות האחר • תוכנית של בדיקות יחידה

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

  15. הערכת תהליך הלמידה • הועברו שני שאלונים להערכת החשיבות היחסית של שלוש המשימות בפרויקט (כפי שנתפשות בעיני הסטודנטים) • השאלון הראשון הועבר בשיעור הראשון של הסדנה • השאלון השני הועבר בשיעור האחרון של הסדנה

  16. השאלון הראשון

  17. השאלון השני

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

  19. מסקנות • הסדנה העלתה את רמת ההבנה של הסטודנטים • העבודה בצוותים חשפה את הסטודנטים לרעיונות שונים והעלתה את חשיבות התיעוד בעיניהם • החשיבות של התיעוד, או הקשיים שהתעוררו כתוצאה מתיעוד לקוי, או חסר, הפכו להיות משמעותיים וברורים

  20. תודה רבה aharony@yvc.ac.il Ilanal@yvc.ac.il

More Related