You are on page 1of 5

‫‪ - VB.

NET‬סמסטר קיץ תשס"ד ‪ -‬תרגילים‬


‫כתובת להגשת תרגילים ולערעורים ובירורים בנוגע לתרגילים שהוגשו‪:‬‬
‫‪vb_mta@yahoo.com‬‬

‫הנחיות להגשת התרגילים‬


‫יש לפתוח בחשבון שלכם במכללה‪ ,‬תחת ספריה בשם ‪ public_html‬תיקיה להורדת‬ ‫‪.1‬‬
‫התרגילים‪ ,‬באופן הבא‪:‬‬
‫‪ ‬מתחת ל‪ \:H-‬שלכם‪ ,‬צרו ספריה בשם ‪.public_html‬‬
‫‪ ‬דאגו שלספריה החדשה תהיה הרשאת קריאה והרצה‪ ,‬באמצעות הפקודה ‪chmod‬‬
‫במחשבי ה‪( Unix-‬או באמצעות ‪.)telnet‬‬
‫‪ ‬צרו ספריה נוספת עם הרשאות קריאה‪ ,‬מתחת ל‪ ,public_html-‬למשל ספריה בשם ‪.vb‬‬
‫‪ ‬תחת ספריה זו יוגשו התרגילים‪ ,‬הכתובת להורדת התרגיל תהיה‪:‬‬
‫‪>http://www2.mta.ac.il/~<your_account_name>/vb/<your_zip_file‬‬
‫‪ ‬בידקו לפני כל הגשה שאכן ניתן להוריד את התרגיל מהכתובת שבו שמתם אותו‪.‬‬
‫בכל מועד להגשת תרגיל‪ ,‬עד לשעה ‪ 24:00‬של יום ההגשה‪ ,‬יש לשלוח ל‪vb_mta@yahoo.com-‬‬ ‫‪.2‬‬
‫את הכתובת שבה יושב התרגיל שלכם (כתובת מלאה‪ ,‬כולל שם קובץ ה‪ ,zip-‬כך שהקלקה על‬
‫הכתובת תפתח את תיבת הדיאלוג לשמירת קובץ)‪.‬‬
‫שימו לב‪ :‬יתכן כי ה‪ E-mail-‬שתשלחו להגשת התרגיל יחזור אליכם עם הודעת תקלה‪ ,‬בשל‬ ‫‪.3‬‬
‫עומס בשרתי ‪ ,Yahoo‬חריגה מה‪ quota-‬המוקצת לנו ב‪ ,Yahoo-‬או מכל סיבה אחרת‪ .‬במצב‬
‫שכזה יש לשמור את ההודעה שחזרה מ‪ Yahoo-‬ולנסות לשלוח את התרגיל בשנית לאחר‬
‫שלושה ימים – וחוזר חלילה (אין לשלוח את התרגיל לכתובת המרצה ואין לנסות לשלוח את‬
‫התרגיל מידי שעה‪ ,‬כיון שהדבר אינו תורם לפינוי תיבת ה‪ E-mail-‬במקרה של ‪.)Over-Quota‬‬
‫את התרגילים מותר (ורצוי) להגיש בזוגות‪ ,‬ובתנאי שכל חבר בצוות תורם למאמץ המשותף‬ ‫‪.4‬‬
‫(למשל – דואג להזכיר לשותף שלו להכין את התרגיל)‪.‬‬
‫אין אישור להגשה בשלישיות‪/‬רביעיות‪/‬חמישיות או יותר (גם אם מדובר בשלישיה‪/‬רביעיה‪/‬חמישיה‬
‫הצועדת יחדיו לאורך שנים מאז גיל הגן והגישה עד עכשיו את כל הפרוייקטים שלה ביחד)‪.‬‬
‫לאחר סיום בדיקתו של כל תרגיל יפרסם בודק התרגילים את ציון התרגיל והערות כלליות‪.‬‬ ‫‪.5‬‬
‫כל ההערות וההתכתבויות יישלחו אל כתובת ה‪ E-mail-‬שממנה נשלח התרגיל ואל שאר‬
‫המכותבים לתרגיל (באמצעות ‪ .)Reply All‬במידה והינכם מעוניינים לקבל את ההערות‬
‫במספר כתובות ‪ ,E-mail‬הוסיפו את כל הכתובות ב‪ CC-‬של משלוח התרגיל‪.‬‬
‫לפני שליחת התרגיל יש לבדוק שהוא עובד ומכיל את הקבצים המעודכנים ביותר‪.‬‬ ‫‪.6‬‬
‫תלמיד המגיש תרגיל באיחור עם סיבה מוצדקת ידאג לקבל אישור לאיחור ממרצה הקורס‬ ‫‪.7‬‬
‫(ב‪ E-mail-‬למרצה) וישלח את התרגיל שלו (באיחור המאושר) בצירוף עותק האישור שנתקבל‬
‫מהמרצה‪ .‬שימו לב‪ :‬בבקשה לדחיית תרגיל בשל שירות מילואים יש להעביר אישור שחרור‬
‫מהמילואים ולא צו קריאה‪.‬‬
‫ניתן להגיש תרגיל באיחור גם ללא אישור‪ ,‬אולם במצב זה יתכן ויופחתו נקודות בהתאם‪.‬‬
‫נא לציין בכותרת ה‪ E-mail-‬את מספר התרגיל ובגוף ה‪ E-mail-‬את שמות חברי הצוות‬ ‫‪.8‬‬
‫ותעודות זהות!‪ .‬בנוסף‪ :‬חובה‪ ,‬חובה‪ ,‬חובה‪ ,‬לציין את שמות המגישים ומס' התרגיל בתוך‬
‫התרגיל עצמו !!! (לפעמים התרגיל נבדק לאחר שה‪ E-mail-‬כבר נמחק‪.)...‬‬

‫‪1‬‬
‫הערות כלליות לתרגילים‬
‫‪ .1‬דרישות התרגילים מתוארות באופן כללי ומוטל עליכם לקבל החלטות לגבי צורת המימוש‬
‫המדוייקת‪ .‬בכל מקום שלא מופיעה דרישה מדוייקת – יש לבחור בדרך ההגיונית ביותר‬
‫שנראית לכם‪.‬‬
‫‪ .2‬גם כאשר לא ברור מהו ה‪ Design-‬הנכון ביותר לפתרון – זוהי חלק ממטרתו של התרגיל‬
‫והאחריות על ‪ Design‬נכון ואלגנטי מוטלת בסופו של דבר עליכם‪.‬‬
‫‪ .3‬יתכן שבשלב מסויים בתרגילים דרישה מסויימת נראית מיותרת או לא שייכת‪ ,‬אך יש לזכור‬
‫שמטרת התרגילים היא בסופו של דבר לתרגל את החומר הנלמד ולהתקדם בפיתוח שלבי‬
‫הפרוייקט הסופי‪.‬‬

‫התרגילים‬

‫התרגילים בקורס עוסקים בפיתוח תוכנה לניהול ומעקב אחרי משימות‪.‬‬


‫‪ ‬שלושה תרגילים במהלך הסמסטר – בהם ימומשו דרישות חובה בסיסיות‪.‬‬
‫‪ ‬תרגיל מסכם שיוגש עם סיום הסמסטר – יאפשר הוספת הרחבות באופן חופשי‪ ,‬כל אחד‬
‫ככל העולה על רוחו‪ .‬ככל שההרחבות יהיו טובות ומרובות יותר – כך הציון הסופי יהיה גבוה‬
‫יותר‪ .‬בהמשך מפורטות הצעות שונות להרחבות‪.‬‬

‫‪ .1‬ממשק המשתמש הבסיסי‬

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

‫בשלב זה של התרגיל‪ ,‬התוכנה עדיין לא תנהל ממש את הנתונים (חסר קישור ל‪ ,)Database-‬אולם‬
‫תיווצר הכנה מלאה לניהול הנתונים מבחינת ממשק המשתמש‪ .‬יש לקחת בחשבון בשלב זה‬
‫שיקולי ‪ GUI‬בשילוב עם החלטות לגבי הדרך שבה תנוהל התוכנית לאחר שייבנה עבורה‬
‫‪ .Database‬העובדה שבתרגיל זה התוכנית איננה מקושרת לבסיס נתונים אינה מונעת חשיבה‬
‫נכונה על מבנה ה‪( GUI-‬אך היא דורשת היכרות עם הקונטרולים מקושרי המידע!)‪ ,‬עם זאת –‬
‫במידה ויידרשו שינויים לאחר החיבור ל‪ ,DB-‬תוכלו לעשותם בתרגיל ‪.2‬‬
‫אין חובה בשלב זה לייצר מחלקות לניהול המידע או לכתוב קוד שאינו קשור לתצוגת המידע‪.‬‬

‫המשחק שאותו עליכם לממש הינו משחק "‪ "master mind‬או בשמו העברי "בול פגיעה"‪:‬‬
‫המחשב מגריל ‪ 4‬מספרים בין ‪ 1-6‬כל אחד והמשתמש צריך לנחש אותם‪ ,‬לפי הסדר הנכון‪.‬‬
‫לאחר כל ניחוש המחשב מודיע למשתמש כמה "בול" וכמה "פגיעה" יש לו‪ ,‬כאשר "בול" הינו‬
‫ניחוש נכון ובמקום הנכון ו"פגיעה" הינו ניחוש נכון אבל במקום שגוי‪.‬‬
‫למשחק ניתן יהיה להגיע דרך מסך ה‪ About-‬של התוכנית‪.‬‬

‫‪2‬‬
‫להלן דרישות התוכנה‪:‬‬

‫המטרה היא ליצור אפליקציה ‪ Windows‬שתאפשר ניהול משימות באירגון‪.‬‬

‫מפרט המערכת‬
‫‪ ‬המערכת מחזיקה מבנה אירגוני של עובדים ומנהלים‪.‬‬
‫‪ ‬עובד יכול להיות כפוף ליותר ממנהל אחד ואז יש לציין את אחוזי המשרה של העובד‬
‫אצל כל מנהל‪.‬‬
‫‪ ‬משתמשים נכנסים למערכת באמצעות קוד משתמש וסיסמה‪.‬‬
‫‪ ‬כל משתמש יכול ליצור משימות עבור העובדים שלו וכן עבור עצמו‪.‬‬
‫‪ ‬משימה כוללת את המאפיינים הבאים‪ :‬שם‪ ,‬תיאור‪ ,‬תאריך יעד להתחלה‪ ,‬תאריך יעד‬
‫לסיום‪ ,‬תאריך התחלה בפועל‪ ,‬תאריך סיום בפועל‪ ,‬מספר שעות עבודה משוער‪ ,‬מספר‬
‫שעות עבודה בפועל‪ ,‬אחוז הביצוע המוערך‪ ,‬סטטוס המשימה (טרם הוחל ביצוע‪,‬‬
‫בביצוע‪ ,‬בוצעה חלקית‪ ,‬הסתיימה)‪ ,‬הערות שוטפות‪.‬‬
‫‪ ‬כל משתמש רואה את המשימות הפתוחות שלו וכן יכול לראות את סטטוס המשימות‬
‫של כל הכפופים לו‪ ,‬וכל הכפופים לכפופיו באופן אינסופי (אבל לא ברשימה אחת‬
‫ענקית אלא ברשימות נפרדות לפי רמת ההיררכיה מהכפופים ישירות ומטה‪ ,‬או‬
‫באמצעות מבנה עצי מתאים‪ ,‬או בגלישה ע"י לינקים מתאימים)‪.‬‬
‫‪ ‬עובד מדווח שעות עבודה במערכת באופן הבא‪ :‬תאריך ושעת התחלת עבודה‪ ,‬תאריך‬
‫ושעת סיום עבודה וכן – משימה שעליה עבדנו‪ .‬כמו כן‪ ,‬העובד מדווח על אחוז‬
‫ההתקדמות המשוער במשימה‪ .‬דיווח ראשוני על עבודה על המשימה יביא אותה‬
‫באופן אוטומטי לסטטוס "בביצוע"‪ .‬דיווח על ‪ 100%‬התקדמות יביא את המשימה‬
‫באופן אוטומטי לסטטוס "הסתיימה"‪ .‬המשתמש יכול לדווח באופן יזום על סיום‬
‫חלקי של המשימה והעברתה לסטטוס "בוצעה חלקית"‪ ,‬במקרה זה המשתמש יוסיף‬
‫הערה על סיבת ההעברה לסטטוס זה של "בוצעה חלקית"‪.‬‬
‫‪ ‬פרט לדיווח האמור לעיל משתמש אינו יכול להשפיע על פרטי משימה שלא הוא יצר‪,‬‬
‫כלומר – הוא אינו יכול לשנות את תאריכי היעד המקוריים של המשימה‪ ,‬את שמה‪,‬‬
‫את התיאור המצורף למשימה או את מספר שעות העבודה שיועד למשימה‪.‬‬
‫‪ ‬משימות שדווח על ביצוען המלא לא יוצגו יותר למשתמש שאליו הן היו שייכות אבל‬
‫כן יוצגו למנהל שיצר את המשימה‪.‬‬
‫‪ ‬מנהל שיצר משימה יכול לסגור אותה כאשר היא בסטטוס "הסתיימה" או "בוצעה‬
‫חלקית" וכן הוא יכול לבטל משימה בסטטוס "טרם הוחל בביצוע" או "בביצוע"‪.‬‬
‫ההבדל בין סגירת משימה לבין ביטול משימה הינו לצורכי ניתוחים סטטיסטיים‬
‫עתידיים – בשני המקרים יש לשמור את פרטי המשימה כפי שנאספו‪ ,‬אך לא להציגה‬
‫יותר במערכת‪.‬‬
‫‪ ‬מנהל שיצר משימה יכול לעדכן את אחוז ההתקדמות שדווח ע"י העובד‪ .‬במקרה כזה‬
‫כאשר העובד ייצפה במשימה עליו לדעת שאחוז ההתקדמות עודכן ביוזמת המנהל‪.‬‬
‫כמו כן‪ ,‬המנהל יכול להוסיף הערות למשימה ולשנות מאפיינים במשימה‪.‬‬
‫‪ ‬משתמש יכול להיות מוגדר כ‪ Admin-‬ואז מותר לו ליצור עובדים ולשייך אותם‬
‫למנהלים‪ .‬יכולים להיות יותר מ‪ Admin-‬אחד‪ .‬בסמכותו של ‪ Admin‬לתת הרשאת‬
‫‪ Admin‬לכל משתמש במערכת‪ .‬המערכת מתחילה את חייה עם משתמש ‪ Admin‬אחד‬
‫אוטומטי‪.‬‬

‫‪3‬‬
‫‪ .2‬חיבור ל‪ +( Database-‬תוספות)‬

‫בתרגיל זה יש לבצע את הפעולות הבאות‪:‬‬


‫ליצור ‪ Database‬ב‪ Access-‬עם טבלאות מתאימות לניהול האפליקציה כנדרש‪.‬‬ ‫‪‬‬

‫לחבר את האפליקציה שנכתבה בתרגיל הראשון ל‪( DB-‬כלומר – התוכנה באמת תעבוד!)‪.‬‬ ‫‪‬‬

‫שים לב‪:‬‬ ‫‪‬‬

‫יש להגיש את התרגיל עם ‪ DB‬מאותחל בנתונים לצורך בדיקה‪.‬‬


‫לשכלל את המשחק‪:‬‬ ‫‪‬‬

‫‪ ‬לאפשר למשתמש לבחור‪:‬‬


‫‪ -‬האם המספרים שהמחשב יגריל יכולים לחזור על עצמם או לא‪.‬‬
‫‪ -‬כמות המספרים שהמחשב יגריל (בין ‪ 4‬ל‪.)8-‬‬
‫‪ ‬להוסיף אופציית משחק שבה המשתמש בוחר מספרים והמחשב מנסה לנחש אותם‪.‬‬
‫כמובן שהמשתמש לא יצטרך לתת את תוצאת ה"בול" "פגיעה" למחשב‪ ,‬המחשב ידע‬
‫מהם המספרים שהמשתמש בחר וייתן לעצמו את תוצאת ה"בול" "פגיעה"‪.‬‬
‫אין צורך ליצור אלגוריתם מורכב מידי עבור המחשב‪ ,‬לצורך העניין מותר אפילו‬
‫להתעלם מתוצאת ה"בול" "פגיעה" של כל ניחוש ופשוט להתקדם באופן לינארי‪.‬‬
‫יש להציע שני אופנים להרצת משחק באופציה זו – ללא עצירות (המחשב רץ ורק‬
‫מודיע בסוף בתוך כמה ניחושים הוא הגיע לתוצאה) ועם עצירה לאחר כל מהלך‬
‫(המשתמש צריך לראות את הניחוש של המחשב וללחוץ על מקש להמשך)‪.‬‬

‫הערה‪ :‬מותר לדחות את מימוש שכלולי המשחק לתרגיל ‪.3‬‬

‫‪VBA Automation .3‬‬

‫בתרגיל זה יש לבצע את הפעולות הבאות‪:‬‬


‫להוסיף טבלת שיאים‪.‬‬ ‫‪‬‬

‫להוסיף יכולת הצגת גרפים והדפסתם‪ ,‬מתוך ה‪ ,Excel-‬לדוגמה‪:‬‬ ‫‪‬‬

‫‪ ‬גרף ‪ Bar‬של השיאנים (באופן מעורבב או לפי הרמות השונות)‪.‬‬


‫‪ ‬גרף שיציג כמה זמן שרד כל שיא עד שנשבר ע"י שיא אחר‪.‬‬

‫לאפשר הפקת מסמכים אוטמטית ב‪ Word-‬ישירות מתוך המערכת‪ ,‬למשל – תעודת הוקרה‬ ‫‪‬‬

‫לשחקן עם השיא הגבוה ביותר‪.‬‬


‫לתלמידים מצטיינים‪ :‬ניתן לשלב בין המטלות ולאפשר הפקת מסמכים ב‪ Word-‬שייכללו‬ ‫‪‬‬

‫בתוך המסמך גם גרפים של ‪.Excel‬‬

‫‪4‬‬
‫פרוייקט סיום‬

‫למעשה‪ ,‬לאורך הקורס נכתבה כבר תוכנה מפוארת ושימושית‪ .‬בפרוייקט הסיום הינכם‬
‫מתבקשים להוסיף תוספות ושיפורים לתוכנה הקיימת‪ ,‬כראות עיניכם‪ .‬חלק חשוב מהערכת‬
‫הפרוייקט הינו מידת המקוריות (והעניין) של התוספות שתוסיפו‪.‬‬
‫כמובן‪ ,‬ככל שימומשו תוספות בהיקף גדול יותר‪ ,‬וככל שרמתן של התוספות תהיה גבוהה יותר‪,‬‬
‫כך הציון הסופי יהיה יותר גבוה‪.‬‬
‫להלן רשימה של תוספות ושיפורים לדוגמה‪ .‬אין חובה לממש את כולן ואפשר לממש במקומן או‬
‫בנוסף גם תוספות אחרות‪.‬‬
‫על צוותים של שניים לממש שניים מבין השיפורים הבאים או תוספות אחרות במשקל דומה‪.‬‬
‫על צוותים של אדם בודד לממש שיפור אחד או תוספת אחרת במשקל דומה‪.‬‬

‫‪ ‬הוספת שדות ויכולות ל‪.Database-‬‬


‫‪ ‬הוספת יכולת הפקת דו"חות מורכבים (למשל‪ ,‬תוך שימוש בכלי ה‪ Crystal Reports-‬המיועד‬
‫לנושא זה)‪.‬‬
‫‪ ‬תמיכה בשינויי צבעים של הטפסים בתוכנה דרך תפריט ‪ Options‬ושמירת הבחירה של‬
‫המשתמש ב‪ Registry-‬או בקובץ (בינארי או טקסטואלי)‪.‬‬
‫‪ ‬הקמת אתר אינטרנט מלווה לתוכנה (אפשר באמצעות ‪.)ASP.NET‬‬
‫‪ ‬הוספה של ‪ Help‬מקיף לתוכנה‪.‬‬
‫‪ ‬הוספת ניתוחים סטטיסטיים על המשימות‪ ,‬לפי עובד‪ ,‬לפי מנהל וכדומה‪.‬‬

‫חשוב!‬
‫כדי שבבדיקה ילקחו בחשבון כל התוספות רצוי מאוד לפרט את התוספות בצורה מסודרת בקובץ‬
‫‪ Word‬שיצורף לפרוייקט‪ .‬רצוי להסביר גם כיצד להשתמש בכל תכונה שהוספתם‪.‬‬
‫קובץ ה‪ Word-‬יכול להציג בנוסף גם הסבר כללי על הפרוייקט‪.‬‬

‫בהצלחה!‬

‫‪5‬‬

You might also like