סדנא בפיתוח תוכנה
C++   GUI   Localization   Multiplatform
Packacing   Source-Management

ד"ר סיון טולדו
מתרגל: דורון חן

בית הספר למדעי המחשב, אוניברסיטת תל־אביב

מטרות הסדנא

מטרות הסדנא להקנות מיומנויות פיתוח תוכנה מתקדמות:

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

 

הקניית המיומנויות תיעשה בעזרת מספר כלי תוכנה עיקריים:

  • ספריית Qt, ספרייה לפיתוח תוכנה בשפת C++ כך שהתוכנה תרוץ ללא שינוי על חלונות, לינוקס ויוניקס, ומקינטוש. הספרייה תומכת בפיתוח תוכנה עם ממשקים גרפיים ובפיתוח תוכנה רב לשונית.
  • כלי הפיתוח הגרפיים של Qt לפיתוח ממשקים ולתרגום ממשקים לשפות שונות. הספריה והכלים הנלווים רצים במחשבי בית הספר על פלטפורמות חלונות ולינוקס, ואת גירסאות הלינוקס שלהם ניתן להתקין על מחשבים ביתיים ללא תשלום.
  • כלי ניהול קבצי המקור CVS וגרסת חלונות שלו, WinCVS. הכלים הללו ניתנים להורדה והתקנה ללא תשלום.
  • הכלים Inno Setup לחלונות, ו-RPM ללינוקס, שמאפשרים אריזת תוכנה בקובץ התקנה קל לשימוש.

 

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

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

נושאי הפרוייקטים

קבוצת תלמידים תוכל להציע נושא (כלומר מוצר תוכנה ספיציפי). הנושא יבדק ויאושר במידה שיענה על הדרישות.

 

נושאים מוצעים אחרים:

  • תוכנת לניהול ושימוש במערכות לניהול תורי עבודות בצבירי מחשבים, מערכות כגון PBS  ו-GridEngine
  • תוכנה ליצירת תשבצים מסוג תפזורת (word find)
  • תוכנה לניהול ושימוש ברשימות ביבליוגרפיות בפורמט bibtex
  • עורך קול (דורש אולי מימוש ממשק קול למערכת ההפעלה; הממשק של Qt אולי פרימיטיבי מדי)
  • עורך גרפי ליצירת style sheets עבור תוכנת העימוד LaTeX

הרצאות

הרצאות בימי ב' 11־13, דן־דוד 211.

 

החוברת A Quick Introduction to C++ מאת Tom Anderson מתארת את שפת C++ שבה אתם צריכים לממש את הפרוייקטים. החוברת תמציתית ומועילה, ואין צורך בספרות עזר מעבר לה. החוברת בפורמט PDF; היא אינה נראית טוב על המסך אך ניראת טוב בהדפסה.

 

שקפים מההרצאה אודות CVS.

 

האתר של TrollTech, החברה שמייצרת את Qt.

 

Inno Setup, תוכנה ליצירת חבילות התקנת תוכנה בחלונות.

מעבדות

שעות מעבדה של סיון טולדו: ימי שני 13־16.

שעות מעבדה של גדי קימל: יקבעו בתחילת הסמסטר.

עודכן לאחרונה בתאריך ‏14/04/2003