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