Skip to content

Latest commit

 

History

History
151 lines (93 loc) · 10.6 KB

timetable.md

File metadata and controls

151 lines (93 loc) · 10.6 KB

פרוייקט שנתי – הנחיות ולוח-זמנים

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

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

כדי שתפיקו את המירב מהפרוייקט, מומלץ "לשגע" את המנחה כמה שיותר גם בין השלבים, ובמיוחד בשעות-הקבלה, לשאול ולהתייעץ על כל דבר שיכול לעזור לכם לבנות פרוייקט מושלם.

הציון של כל שלב הוא 10% מהציון הסופי.

שלב א: כתיבת מסמך חזון (Vision).

יש להתייחס לשאלות הבאות:

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

10/12/22: הגשת מסמך חזון.

שלב ב: כתיבת מסמך דרישות (SRD).

יש להתייחס לנושאים הבאים:

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

25/12/22: הגשת מסמך דרישות.

שלב ג: כתיבת מסמך עיצוב (SDD).

1] תארו את הכלים שתשתמשו בהם לצורך בניית המערכת, כגון:

  • שפות תיכנות בצד שרת ובצד לקוח;
  • מסדי נתונים;
  • שרתים;
  • ספריות קוד פתוח;
  • אלגוריתמים.

אם דרושים לכם כלים שאתם עדיין לא מכירים, יש למצוא מקורות (קורסים / ספרים) ולהתחיל ללמוד.

2] תארו את מבנה המערכת בצד השרת ובצד הלקוח:

  • רכיבי המערכת - קבצים, מחלקות, פונקציות;
  • קשרים וממשקים בין הרכיבים השונים;
  • פורמט קלט ופלט של כל רכיב;
  • מבני-נתונים, טבלאות וקשרים ביניהן.

הוסיפו תרשימים לפי הצורך.

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

13/1/23: הגשת מסמך עיצוב.

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

שלב ד: מימוש ראשוני + בדיקות יחידה

בשלב זה יש לכתוב כותרות ומימוש בסיסי לכל חלקי המערכת, וכן לכתוב בדיקות-יחידה מקיפות (בשלב זה רוב הבדיקות לא יעברו). יש להשתמש בכלים המתאימים לבדיקות יחידה לפי סוג המערכת, כגון: doctest, selenium.

בשלב זה ההגשה אישית: על כל חבר/ת צוות לבוא בשעת הקבלה ולהראות לי את ההתקדמות בחלק שבאחריותו/ה לפי חלוקת האחריות בשלב הקודם.

6/3/23: הגשת מימוש ראשוני + בדיקות יחידה.

שלב ה: מימוש מלא

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

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

בשלב זה ההגשה אישית: על כל חבר/ת צוות לבוא בשעת הקבלה ולהראות לי את ההתקדמות בחלק שבאחריותו/ה לפי חלוקת האחריות בשלב הקודם.

3/4/23: הגשת מימוש מלא.

שלב ו: תיקון תקלות והתקנה

המשימות בשלב זה הן:

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

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

  • להתקין את המערכת על שרת חיצוני חינמי כלשהו, כגון: heroku, netlify.

24/4/23: הגשת מימוש בדוק ועובד, עם מדריך התקנה, מותקן על שרת חיצוני.

שלב ז: בדיקות עם משתמשי קצה

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

בסיום התהליך, יש לשאול את המשתמשים שאלות שנועדו לברר האם יש "שוק" למוצר, כגון:

  • באיזו תדירות לדעתכם תשתמשו במערכת כשהיא תהיה מוכנה? (כל יום / שבוע / חודש / בכלל לא).
  • כמה הייתם מוכנים לשלם על המערכת כשהיא תהיה מוכנה?

15/5/23: הגשת דו"ח בדיקות עם משתמשי קצה.

שלב ח: שיווק - פוסטר וסרטון

מטרת שלב זה היא לשווק את הפרוייקט שלכם לאנשים מבחוץ - שאינם מכירים אותו. לשם כך יש להכין:

  • סרטון שיווקי קצר (1-2 דקות), המסביר על המערכת ומדגים את פעולתה.
  • פוסטר בגודל A0 שיוצג ביום הצגת הפוסטרים המחלקתי.

הציון בשלב זה נקבע ע"י בוחן חיצוני (רכז הפרוייקטים או מרצה אחר מהמחלקה), בהתאם להתרשמות שלו מהפרוייקט והשוואה לפרוייקטים אחרים.

8/6/23: הצגת סרטון + פוסטר.

שלב ט: תיקונים ושיפורים

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

26/6/23: הגשת מערכת מושלמת.

שלב י: הצגה סופית

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

עד לתאריך זה, יש לוודא שיש תיעוד מלא בגיטהאב + מדריך התקנה למערכת.

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

25/7/23: הצגה סופית.