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

האפיון
סוגי הרכבים
המוסך שלנו ידע לטפל בכמה סוגי רכבים, שלכל אחד מאפיינים שונים.
הרכבים הקיימים הם,
- אופנוע רגיל
- 2 גלגלים עם לחץ אוויר מקסימאלי 28.
- דלק מסוג אוקטן 98.
- 5.5 ליטר מיכל דלק.
- אופנוע חשמלי
- 2 גלגלים עם לחץ אוויר מקסימאלי 28.
- זמן מצבר מקסימאלי 1.6 שעות.
- מכונית רגילה
- 4 גלגלים עם לחץ אוויר מקסימאלי 30.
- דלק מסוג אוקטן 95.
- 50 ליטר מיכל דלק.
- מכונית חשמלית
- 4 גלגלים עם לחץ אוויר מקסימאלי 30.
- זמן מצבר מקסימאלי 2.8 שעות.
- משאית
- 16 גלגלים עם לחץ אוויר מקסימאלי 26.
- דלק מסוג סולר.
- 110 ליטר מיכל דלק.
- רחפן
- זמן מצבר מקסימאלי 0.5 שעות.
התכונות
לכל רכב יש את התכונות הבאות:
- שם יצרן.
- שם דגם.
- מספר רישוי.
- אחוז האנרגיה הנותרה במקור האנרגיה שלו.
לכל גלגל התכונות הבאות:
- שם דגם.
- לחץ אוויר נוכחי.
- לחץ אוויר מקסימאלי שניתן לנפח.
- פעולת ניפוח המקבלת כמה אוויר להוסיף לגלגל ומשנה את הלחץ הנוכחי בהתאם.
- דגש - יש לשים לב למקרי קצה.
בנוסף ישנן התכונות הבאות לכל סוג רכב:
- אופנוע מכל הסוגים:
- סוג רישיון (
A/A1/A2/B
). - נפח מנוע בסמ"ק.
- סוג רישיון (
- מכונית מכל הסוגים:
- צבע.
- כמות דלתות.
- משאית:
- האם מסיע חומרים מסוכנים.
- נפח מטען בליטרים.
- רחפן:
- ממשק שליטה:
- ג'ויסטיק.
AR
.- טלפון.
- אחר (עם פירוט).
- מספר מנועים.
- ממשק שליטה:
- לכלי רכב שעובד על דלק:
- סוג דלק:
- סולר.
- אוקטן 95.
- אוקטן 96.
- אוקטן 98.
- כמות הדלק הנוכחית בליטרים.
- כמות הדלק המקסימאלית בליטרים.
- פעולת תדלוק המקבלת כמה דלק להוסיף לכמות הדלק הנוכחית ומעדכנת אותה בהתאם.
- סוג דלק:
- לכלי רכב חשמלי:
- זמן מצבר נותר בשעות.
- זמן מצבר מקסימאלי בשעות.
- פעולת טעינת מצבר המקבלת זמן לטעינה ומוסיפה לזמן מצבר נותר בהתאם.
- על כל רכב יש לשמור את הנתונים הבאים:
- שם בעלים.
- טלפון בעלים.
- סטאטוס הרכב במוסך.
הפונקציונאליות
המערכת צריכה לעבוד לפי הפונקציונאליות הבאה:
- המוסך ינגיש
WebApi
לביצוע פעולות וצפייה בנתוני המוסך. - על מנת לאתחל את המוסך יידרשו לתת מספר נתונים:
- מספר הפעולות שהמוסך יודע לבצע במקביל (מספר "פועלים").
- מספר עמדות ניפוח גלגלים.
- מספר עמדות תדלוק.
- מספר עמדות הטענה.
- הכנסת רכב חדש למוסך - לא יתאפשר להכניס רכב שכבר נמצא במוסך (לפי מספר רישוי).
- הצגת הרכבים שבמוסך עם אפשרות לסינון לפי סוג תיקון שמתבצע או ממתין לביצוע כעת, סטאטוס התיקון, ומספר תיקונים נוספים שעליו לעבור. אודות כל רכב יוחזר:
- מספר הרישוי.
- שם הבעלים.
- סוג הרכב.
- הצגת נתונים מלאים על הרכב לפי מספר הרישוי.
- איסוף רכב מוכן מהמוסך עם הצגת מחיר הטיפול.
בעת הכנסת רכב למוסך יקרו הדברים הבאים:
- אחד אחרי השני הרכב יעבור את הטיפולים לפי נתונים שייתן המשתמש (כמה אוויר לנפח, כמה דלק למלא או כמה לטעון את המצבר).
- סטאטוס הרכב יעודכן בכל מעבר שלב - בהמתנה לטיפול/בטיפול/בהמתנה לאיסוף וכמה פעולות נוספות עוד נדרשות לתיקון הרכב.
פעולות יתבצעו רק לפי התנאים הבאים:
- ישנו עובד פנוי לביצוע הפעולה - עובד עסוק לא יכול לבצע פעולות נוספות על עוד הפעולה עדיין מתבצעת.
- ישנו מכשיר פנוי לביצוע הפעולה - עמדה תפוסה לא יכולה לבצע פעולות נוספות כל עוד הפעולה עדיין מתבצעת.
- על רכב לא יכולות להתבצע שתי פעולות במקביל.
- נדגיש שמספר פועלים ומספר מכונות יגרמו למצב שיהיו מספר פעולות שיתרחשו במקביל על רכבים שונים.
ביצוע של כל פעולה לוקח זמן בהתאם לנתונים:
- ניפוח גלגל - 0.5 שנייה לכל
PSI
אחד של ניפוח. - תדלוק - 0.25 שניות לכל ליטר תדלוק.
- טעינה חשמלית - 10 שניות לכל שעת טעינה.
מחיר על פעולה בהתאם לנתונים:
- ניפוח גלגל - 0.1 שקל לכל
PSI
אחד של ניפוח. - תדלוק - 5 שקלים לכל ליטר תדלוק.
- טעינה חשמלית - 10 שקלים לכל שעת טעינה.
כאשר כל פעולה לוקחת זמן או עולה עלות יחסית לנתון שהתקבל.
פעולה שנכשלת תיקח את הזמן המקסימאלי שפעולה יכולה לקחת בהתאם לנתונים, ולאחר מכן לפי המקרים:
- ניפוח אוויר - לחץ אוויר נוכחי יהיה 0.
- תדלוק - כמות דלק נוכחית תהיה הכמות שהמכל יכול להכיל.
- טעינה חשמלית - זמן הטעינה יהיה ראנדומלי בטווח התקין.
בנוסף פעולה שנכשלת תגרור את הקנסות הבאים:
- ניפוח גלגל - צמיד חדש - 350 שקלים.
- תדלוק - נקיון לכלוך - 25 שקלים.
- טעינה חשמלית - סוללה חדשה - 1500 שקלים.
דגשים
את הנתונים יש לשמור בראם, אך תזכרו, יכול לבוא יום בו תצטרכו להעביר את המערכת לעבוד אל מול דיבי!

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