Skip to content

exam questions

antoniob6 edited this page Aug 5, 2018 · 1 revision

ראשי פרקים

הנחיות

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

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

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

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

הוראות להכנת שאלה (חלקן נובע ממגבלות של מערכת הכנת הבחינות)

  • התשובה הנכונה צריכה להופיע ראשונה
  • טקסט מודגש (מרקדאון: **מודגש**) (או מוטה (*מוטה*)) יוחלף בבחינה עצמה בקו תחתי. בפרט, יש להדגיש מילות שלילה בכותרות שאלות.
  • אין לכלול תשובות המתייחסות לסדר של תשובות אחרות, כגון 2+3 נכונות
  • יש אפשרות לשלב תמונות קטנות לפי הצורך
  • לפי הצורך, יש להפריד טקסט באנגלית לשורות נפרדות עם מעברי שורה, כמו למעלה, במידה ולא השתמשתם בעורך מתאים
  • המספור בספרות ולא באותיות: 1, 2, 3, 4
  • יש לצרף הסבר ומקורות (למשל מספר מצגת ושקף), אך הוא לא יכנס לבחינה
  • יש לצרף בסוף השאלה את שם המשתמש של המחבר, בד"כ לכל שאלה מחבר אחד לצורך קרדיט
  • יש למקם את השאלה בפסקת הנושא המתאימה, לפי הצורך נפריד לעמודים בהמשך. נא להפריד עם קו ״---״ בין שאלות באותו נושא ולסמן את כותרת השאלה ב: ####

הוראות הגשה

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

שלב ב - סינון שאלות

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

בתקווה שתהליך הכנת הבחינה יהווה חלק מהלמידה בקורס תודה ובהצלחה

שאלה לדוגמא: מהו מחזור חיי תוכנה (מודל תהליך פיתוח)?

  1. החל מגיבוש הרעיון ועד ליציאה משימוש של התוכנה
  2. החל מגיבוש הרעיון ועד כתיבת הקוד
  3. מהשלב שהמוצר מוכן עד לשלב השימוש של הלקוח
  4. החל מגיבוש הרעיון ועד לזמן בלתי מוגבל

הסבר: מחזור חיי תוכנה הוא אוסף שלבים שבאמצעותם מוצר תוכנה מיוצר החל מגיבוש הרעיון ועד ליציאה משימוש של התוכנה, נותן מסגרת מסוימת לעבודה על המוצר עד לסיום ומכריח את המפתחים לחשוב על ה"תמונה הגדולה"

מחברת: Aviya

מבוא להנדסת תוכנה

מהם שלושת משתני המפתח בניהול פרוייקט תוכנה?

  1. מאפיינים, זמן, משאבים.
  2. מאפיינים, איכות, משאבים.
  3. מאפיינים, זמן, איכות.
  4. איכות, זמן, משאבים.

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

מקורות: מצגת se-01-intro שקופיות 22.

מחברת: esty6u


מה מתוך הבאים אינו מהווה כנראה סיבה לאחוז הכישלון הגבוה בפרוייקטי תוכנה?

  1. חשיבותה של התוכנה לחברה האנושית.
  2. חוסר במעמד חוקי (רישיון) של מהנדס.
  3. מחסור במהנדסי תוכנה טובים.
  4. פיתוח תוכנה בשיטות הנדסיות לא מתאימות.

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

מקורות: מצגת se-01-intro שקופית 29.

מחברת: esty6u


איזה פרמטר מבין הפרמטרים הבאים אינו מאפיין תוכנה טובה?

  1. הרבה שורות קוד.
  2. נכונות הקוד.
  3. גמישות לשינויים.
  4. שימושיות.

הסבר: שורות קוד רבות לא מהוות מדד לתוכנה טובה (יכולות להגרם מכפל קוד לדוגמא) לעומת זאת נכונות הקוד,גמישות לשינויים ושימושיות הינם מאפיינים לתוכנה טובה.

מקורות: מצגת se-01-intro שקופיות 17.

מחברת: esty6u


מה אינו הבדל בין תרגיל כיתה לפרוייקט תוכנה תעשייתי?

  1. כתיבת קוד יעיל.
  2. גודל פרוייקט.
  3. דרישות סותרות ומשתנות.
  4. עלות תקלות.

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

מקורות:

מצגת se-01-intro שקופיות 14.

מחברת: hallel1

מה מיוחד בתוכנה?

  1. תוכנה לא מתבלה ובד"כ מסובכת
  2. תוכנה נכתבת על גבי מחשב
  3. תוכנה נכתבת בשביל לקוח
  4. תוכנה בד"כ יקרה יותר ממוצרים אחרים

הסבר (חסר): לפי מצגת ראשונה שקופית 18

פיתוח אפליקציית רשת

ב- Node, המחלקה Service היא מסוג:

  1. Singleton.
  2. Flyweight.
  3. Abstract Factory.
  4. Prototype.

הסבר: service הוא מחלקה מסוג singleton ותפקידה להחזיק את כל המשתנים הגלובליים של האפליקציה

מקורות: מצגת תרגול service שקופית 2.

מחברת: hallel1


מהי השפה המרכזית ש NodeJS משתמשת בה?

  1. Javascript.
  2. C.
  3. Java.
  4. Kotlin.

הסבר: NodeJS היא סביבת זמן ריצה שפותחה בC++ ומבוססת על מנוע V8 של גוגל, ומשתמשת ב Javascript כשפה המרכזית בה.

מקורות: מצגת מהתרגול "היכרות עם כלי הפיתוח" שקופיות 5.

מחברת: esty6u


שרות Firebase הינו:

  1. שירות צד שרת המספק למפתחי תוכנה במספר רב של פלטפורמות שירותי צד שרת מבלי לכתוב אותם.
  2. שירות צד לקוח המספק למפתחי תוכנה במספר רב של פלטפורמות שירותי צד לקוח מבלי לכתוב אותם.
  3. שירות צד לקוח המספק למפתחי תוכנה בשפת אנגולר 2 שירותי צד לקוח.
  4. אף תשובה איננה נכונה.

הסבר: שירות צד שרת המספק למפתחי תוכנה במספר רב של פלטפורמות שירותי צד שרת מבלי לכתוב אותם. בין השירותים שהשרות מספק: NoSql, Cloud Firestore, Authentication ו Hosting

מקורות: מצגת מהתרגול "ANGULAR 2 FIREBASE" שקופיות 2.

מחברת: alexlvz


מכמה סוגי קבצים מורכב כל Component באנגולר2?

  1. 3
  2. 5
  3. 1
  4. 2

הסבר: כל קומפוננטה מורכבת משלושה סוגי קבצים : HTML,CSS,TS.

מקורות: מצגת מהתרגול "אנגולר2 חלק א" שקופיות 8.

מחברת: esty6u


על ידי איזו ספרייה מנוהלת מערכת הניתוב באנגולר?

  1. angular/router@
  2. angular/core@
  3. angular/common@
  4. angular/forms@

הסבר: angular/router@ היא האחראית על הניתוב. היא מחזיקה בתוכה פונקציות שמנהלות את ניתוב הדפים בצורה נוחה למתכנת.

מקור: מצגת תרגול route, שקופית 2.

מחבר: liorva


באנגולר 2, מהו service?

  1. מחלקה מסוג singleton ותפקידה להחזיק את כל המשתנים הגלובליים של האפליקציה
  2. מחלקה מסוג singleton ותפקידה לאגד את כל הפונקציות המרכזיות באפליקציה
  3. מחלקה מסוג Strategy ותפקידה להחזיק את כל המשתנים הגלובליים של האפליקציה
  4. מחלקה מסוג Strategy ותפקידה להחזיק את כל הפונקציות המרכזיות של האפליקציה

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

מקורות: מצגת מהתרגול "ANGULAR 2 SERVICE" שקופיות 2.

מחבר: alexlvz


צוות

מה מן הבאים אינו מהווה דרך לפתרון לקונפליקטים?

  1. כתיבת רשימה של הדברים שלא מסכימים עליהם.
  2. כל צד חוזר על הטיעונים של הצד השני.
  3. כתיבת רשימה של הדברים שמסכימים עליהם.
  4. לא לפחד להעלות בעיות.

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

מקורות: מצגת se-02-team שקופיות 22.

מחברת: esty6u


מה ההבדל בין אירוע תקשורת למנגנון בהקשר של עבודה בצוות?

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

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

מקורות: מצגת se-02-team , שקופיות 7-8.

מחברת: esty6u


מהי סיבה לא נכונה לכך שפגישות נכשלות?

  1. זמן הפגישה היה קצר מהצפוי
  2. שוכחים את העיקר ואת ההחלטות
  3. מתעלמים מחלק מהמשתתפים
  4. שעמום במידה והפגישה ארוכה מידי

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

מקורות: se-02-team שקופית : 8

מחבר: yakimartin


לאיזה צוות יש יותר סיכוי להצליח ע"פ מחקר התפוח הרקוב?

  1. צוות בו כל העובדים טובים ויש עובד אחד שמפריע להתקדמות.
  2. צוות בו כל העובדים טובים.
  3. צוות בו רוב העובדים אינם מוצלחים ויש מעט עובדים מוצלחים.
  4. צוות בו כל העובדים לא יודעים טוב את העבודה אך יש עובד אחד מוצלח שיודע לעשות את העבודה מעולה ולתקן את הבעיות של כולם.

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

דרישות

דרישה טובה, לפי IEEE830, היא דרישה:

  1. חד משמעית
  2. בלתי ניתנת לעדכון
  3. חלקית
  4. כל התשובות נכונות

הסבר: דרישה טובה לפי IEEE830 היא, בין היתר, דרישה חד משמעית, מלאה, עקבית וניתנת לעריכה (מצגת דרישות, עמוד 20)

מחבר: AlonSchwartz


כיצד מכונה מפרט דרישות התוכנה?

  1. SRS.
  2. SDS.
  3. ZFR.
  4. USE CASE .

הסבר: ראשי תיבות של Software Requirements Specification, זהו מסמך פורמלי ראשוני שבו מתוארות ומפורטות הדרישות של המערכת המתוכננת, זהו תיאור מלא של ההתנהגות הרצויה המערכת שתפותח.

מקורות: מצגת 3,שקופית 23


דרישות תוכנה מגדירות ומפרטות:

  1. מה לבנות בתוכנה.
  2. את מטרת התוכנה.
  3. אופן בניית התוכנה.
  4. היקף שעות העבודה בפועל על התוכנה.

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

מחברת: esty6u


מי מהבאים אינו צעד ליצירת תרחיש ביצוע?

  1. זיהוי באגים בקוד לפני תחילת הביצוע
  2. יצירת דיאגרמת תרחישים
  3. פירוט לתרחישים פורמליים / לא פורמליים
  4. זיהוי שחקנים ומטרותיהם

הסבר: אין עדין קוד אנחנו בשלב התכנון והדיאגראמות

מקורות: מצגת se-03-requirements שקופיות 39.

מחבר: yakimartin


מה מבין הבאים הינו דרישה פונקציונלית?

  1. שירות שהמערכת מספקת.
  2. ביצוע.
  3. אמינות.
  4. תיעוד.

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


מה מהמשפטים הבאים אינו יתרון בתרחישי שימוש?

  1. אינו מובן ללקוח אך פורמלי
  2. יצירת הבנה בין הלקוח והמפתחים בקשר לדרישות
  3. חושף את המפתחים לנושאים בעיתיים
  4. מאפשרים לתעדף נתונים ולתכנן בהתאם

הסבר:שקף 40


מה מהבאים הינו מאפיין לתרחיש ביצוע טוב?

  1. נכתב מנקודת מבט של השחקן ולא מנקודת ראות של המערכת
  2. אינו נגמר במענה לכל צרכי הבקשה
  3. מתחיל בפניה של המערכת לשחקן
  4. יש לתרחיש תיאור מפורט של GUI

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

מקורות: מצגת se-03-requirements שקופיות 45.

מחבר: yakimartin

תיכון וארכיטקטורה

מהי הגדרה של ארכיטקטורה?

  1. תיאור המבנה העיקרי של המערכת כך שהיא תתאים לצורכי הלקוח תוך התאמה לאילוצי טכנולוגיה ותקציב
  2. תכנון יעילות האלגוריתמים כדי לאפשר למערכת לרוץ בזמן המהיר ביותר.
  3. תכנון עבודה בצוות וחלוקת משימות כדי לעמוד בזמן המוקצב לפרוייקט.
  4. תכנון סדר העדפות של הלקוח כדי שהתוכנה תיהיה תואמת לציפיות שלו.

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

מקורות:

מצגת04-design. שקופית 21

מחברת: hallel1


מהו אינו מאפיין של ארכיטקטורה טובה?

  1. שימוש במודל מפל המים
  2. הפרדה בין הממשק והמימוש של כל שכבה
  3. חלוקה לשכבות ברורות המייצגות כל אחת הפשטה של המערכת ומספקת ממשק ברור
  4. פשטות: שימוש בהפשטות ומנגנונים מקובלים

הסבר:מפל המים מתייחס לצורת פיתוח ולא בהכרח לארכיטקטורה

מקורות: se-04-design שקופית : 24

מחבר: yakimartin


מה אינו אילוץ על ארכיטקטורה לבניית מערכות מבוזרות?

  1. לאלץ את המתכנתים לבצע ביזור מערכת מהירה ויציבה יותר
  2. הפרדה ללקוח ושרת
  3. שימוש במטמון
  4. אין שמירת מצב לקוח

הסבר: האילוצים על ארכיטקטורה לבניית מערכות מבוזרות הם על מה צריך להיות במערכת המבוזרת לא על המתכנתים

מקורות: se-04-design שקופית : 40

מחבר: yakimartin


מהי מטרת השיטה כרטיסי CRC?

  1. לחשוב מראש באמצעות תיכון על מערכת כאוסף של אובייקטים במקום תכנות פורצדורלי.
  2. טיפול בתקלות ושגיאות.
  3. יצירת עצמי דמה על מנת לבצע בדיקות ממצות בלי סביבה מלאה.
  4. ניצול משאבים.

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

מקורות: מצגת04-design.

מחברת: esty6u


מה תפקידו של מסמך SDS?

  1. מפרט תיכון תוכנה
  2. מפרט דרישות תוכנה
  3. תכנון האיטרציה הקרובה
  4. סיכום האיטרציה האחרונה

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

מקורות: מצגת se-04-design.

מחבר: Itay-Hefetz


מהי REST?

  1. ארכיטקטורה לבניית מערכות מבוזרות
  2. ארכיטקטורה לבניית תבניות תיכון
  3. שיטה למניעת כפל קוד
  4. ארכיטקטורה המאפשרת יצירת מחלקות

הסבר: ארכיטקטורה לבניית מערכות מבוזרות

מקורות:

מצגת "הנדסת תוכנה – תיכון Design" שקופיות 40. מחברת: alexlvz


מהם ארבעת הכללים לתיכון פשוט ע״פ בק (Beck)?

  1. מבטא את כוונת המתכנת, כל הבדיקות עוברות, אין כפילויות, מספר מינימלי של מחלקות ומתודות.
  2. עבודה ביחידים, אין כפילויות, מספר מינימלי של מחלקות ושיטות, ביטוי כוונת המתכנת.
  3. כל הבדיקות עוברות, ביטוי כוונת המתכנת, תיכון של כל הדרישות מראש, מספר מינימלי של מחלקות ומתודות.
  4. מודולריות, מספר מינימלי של מחלקות ומתודות, כל הבדיקות עוברות, אין כפילויות.

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


תכנון

מהי מטרת השיטה cocomo?

  1. הערכת מאמץ בפרויקט .
  2. תיעוד באופן קל לקוד.
  3. טיפול בבעיות אבטחה.
  4. ניצול משאבים.

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

מקורות: מצגת-תכנון 05 שקופית 33, וויקיפדיה.

מחברת: esty6u


מהו סדר השלבים ליצירת הערכה?

  1. הערכת גודל המוצר, הערכת המאמץ הנדרש, הערכת לוח הזמנים בחודשי היומן, הערכת עלות הפרוייקט בשקלים .
  2. הערכת איכות המוצר, הערכת יעילות המוצר, הערכת לוח הזמנים בחודשי היומן, הערכת עלות הפרוייקט בשקלים.
  3. הערכת עלות הפרוייקט בשקלים, הערכת המאמץ הנדרש, הערכת גודל המוצר, הערכת יעילות המוצר.
  4. הערכת לוח הזמנים בחודשי היומן, הערכת עלות הפרוייקט בשקלים, הערכת המאמץ הנדרש, הערכת גודל המוצר.

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

מקורות:

מצגת-תכנון 05 שקופית 27

מחברת: hallel1


איזה שיטה משמשת להערכת המאמץ הנדרש לפרוייקט?

  1. כל התשובות נכונות.
  2. PERT.
  3. Wideband Delphi.
  4. Monte Carlo Simulation.

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

מצגת-תכנון 05 שקופית 37

מחברת: hallel1


מהו MVP?

  1. Minimum viable product.
  2. Maximum viable product.
  3. Most viable product.
  4. Minimum version product.

הסבר: ראשי התיבות של MVP זה Minimum viable product והוא גרסה של מוצר חדש שעם מינימום מאמץ תביא אותנו למקסימום למידה על הלקוחות .

מקורות: מצגת se-05-planning שקופיות 56.

מחברת: esty6u

בקרת תצורה

כיצד ניתן לכלול בפקודת גיט אחת את הפקודות add ו commit?

  1. git commit -a.
  2. git add -commit.
  3. git add -c.
  4. git commit +add.

הסבר: הפקודה git commit -a כוללת את שתי הפקודות .

מקורות: מצגת se-06-07-08 שקופיות122.

מחברת: esty6u


מה מהבאים אינו שימוש של בקרת גרסאות?

  1. בדיקות יחידה
  2. איסוף כל הגרסאות ומעקב אחר השינויים
  3. ניהול מספר גרסאות במקביל
  4. גיבוי והצלה של קוד

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

מקור: מצגת vcs, עמוד 12 https://github.com/jce-il/se-class-materials/blob/master/lecture/se-06-07-08-vcs.pdf

מחבר: AlonSchwartz


כיצד ניתן ליצור ענף חדש בפקודת גיט אחת?

  1. git checkout -b.
  2. git branch -c.
  3. git branch --c.
  4. git comcheckout +branch.

הסבר: הפקודה git checkout -b כוללת את שתי הפקודות .

מקורות: מצגת se-06-07-08 שקופיות123.

מחברת: esty6u


אילו שתי פקודות כוללת בתוכה הפקודה pull ומה הסדר שלהן?

  1. fetch ==> merge
  2. merge ==> fetch
  3. fork ==> merge
  4. merge ==> poll

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

בדיקות

מהי הגדרה לבדיקת יחידה?

  1. בדיקת יחידה היא קוד שקורא לקוד אחר ובודק אח"כ נכונות של טענות מסוימות.
  2. בדיקת יחידה היא בדיקה האם הקוד שכתבנו עובד מול קוד אחר.
  3. בדיקה יחידה היא בדיקה שפונקציונליות יחידה של המערכת עומדת בדרישות.
  4. בדיקת יחידה היא כתיבת תכנית הדגמה שמריצה את הקוד.

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

מקורות:מצגת 9 שקופית 25 ווויקיפדיה בערך בדיקות יחידה.

מחברת: esty6u


מהי ההגדרה המדויקת ביותר עבור תקלה שמוגדרת כ-'רגרסיה'?

  1. כל דבר במוצר שבעבר עבד כפי שרצוי וכעת פועל באופן שגוי
  2. תוספת חדשה למוצר שלא עובדת כפי שהוגדר במסמך דרישות
  3. תקלה שמתרחשת כאשר שני אנשים מבצעים commit ביחד לאותו מאגר
  4. תקלה בשרת האחסון של המוצר

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

מחבר: ChananM


מה מהבאים מאפיין בדיקות יחידה?

  1. אינן תלויות בבדיקות אחרות
  2. איטיות
  3. יכולות להתבצע פעם אחת בלבד
  4. צריך לבדוק באופן ידני את תוצאות הבדיקה

הסבר: על בדיקות יחידה להיות FIRST - Fast Independent Repeatable Self checking Timely: מהירות, עצמאיות, ניתנות לחזרה, לא מצריכות בדיקת אדם של התוצאות. (מצגת tdd, עמוד 13)

מחבר: AlonSchwartz


בבדיקות יחידה, מה משמעות המונח Test Double?

  1. שם כללי לאובייקטים שמחליפים אובייקטים אמיתיים, לצרכי הבדיקה
  2. בדיקה כפולה של האובייקטים האמיתיים
  3. בדיקה האם יש כפל קוד
  4. שם כללי עבור זוג בדיקות שצריך לבצע ביחד

הסבר: Test Double הינו שם כללי לאובייקטים שמחליפים אובייקטים אמיתיים, לצרכי הבדיקה. כאשר רוצים לבדוק תוכנה עם תלות בגורמים חיצוניים שונים, אך לא ניתן לגשת אליהם מסיבות שונות (עדיין בפיתוח, איטי מאוד, לא עקבי) ניתן להשתמש בTest Doubles על מנת לדמות את האובייקט האמיתי. (מצגת 11, עמוד 10)

מחבר: AlonSchwartz


מהי בדיקת אינטגרציה?

  1. בדיקת מספר רכיבים בתוכנה התלויים אחד בשני.
  2. פתירת אינטגרל.
  3. אין בדיקה כזו.
  4. בדיקת זמן ריצה.

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

מקורות: מצגת se-09-testing-unit שקופיות 28.

מחברת: esty6u


מהו TDD?

  1. Test Driven Development.
  2. Test Driver Development.
  3. Test Driven Deploy.
  4. Time Driven Development.

הסבר: ראשי התיבות של TDD הינם: Test Driven Development.

מקורות: מצגת se-10-testing2-tdd שקופיות 7.

מחברת: esty6u


מה מן הבאים אינו מהווה יתרון לTDD?

  1. מכסה דרישות.
  2. דיבאג מוקדם.
  3. מודולריות.
  4. חשיבה כלקוח.

הסבר: אחד מן החסרונות של TDD הוא שהוא אינו מכסה דרישות. מקורות: מצגת se-10-testing2-tdd שקופיות 8-9.

מחברת: esty6u

תחזוקת קוד

מה מהבאים אינו מהגורמים המביאים לתוכנה איכותית?

  1. עמידה בזמן המוקצב לפרוייקט.
  2. עקרונות.
  3. תבניות.
  4. הרגלים.

הסבר: עמידה בלוח זמנים אומנם חשוב מאוד (לקוח מרוצה ועוד) אך אינו מבטיח איכות קוד .

מקורות: מצגת se-12-13-legacy שקופיות 8.

מחברת: hallel1


מהו Refactoring?

  1. ארגון הקוד מחדש ושיפורו.
  2. שימוש בטכניקות שנועדו לשמר את מבנה הקוד.
  3. יצירת קובץ בדיקה לקוד.
  4. בניית קוד חדש.

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

מקורות – עמ' 42 מצגת legacy

מחברת: LilachhN


איזה פרמטר מבין הפרמטרים הבאים אינו מאפיין קוד שקל לשנות אותו?

  1. קוד קצר.
  2. שינויים אינם גורמים לתוצאות בלתי צפויות.
  3. שינוי קטן בדרישות לא מצריך שינוי גדול בקוד.
  4. ניתן לעשות שימוש חזור בקוד קיים.

הסבר: קוד קצר הוא לא בהכרח קוד שקל לשנות אותו,הוא יכול להיות לא קריא או לא דינמי..

מקורות: מצגתse-extra-oodp שקופיות 11.

מחברת: esty6u


מה מהבאים אינו נחשב מרכיב פנימי של איכות תוכנה?

  1. נכונות ויעילות
  2. עקיבות
  3. פשטות
  4. מודולריות

הסבר: איכות התוכנה מתחלקת למרכיבים פנימיים ולמרכיבים חיצוניים. נכונות ויעילות הינו מרכיב חיצוני של איכות התוכנה מקורות: מצגת se-10-legacy שקופית 10

מחבר: Itay-Hefetz


מה מהבאים אינו נכון לגבי Singleton?

  1. עומד בעקרונות הSOLID ללא Refactoring.
  2. על מנת לעמוד בעקרונות הSOLID נדרש לבצע Refactoring.
  3. הבעייתיות בו שהוא עלול לגרום לצמידות או תלות (coupling) גבוהה.
  4. נועדה למקרים בהם נרצה להגביל מופעים של מחלקה מסוימת למופע יחיד.

הסבר: הבעייתיות היא שתבנית זו בצורתה המקורית עלולה לגרום בשימוש לא נכון לקוד בו המחלקות בצמידות או תלות (coupling) גבוהה.

מקורות – מצגת SOLID OODP עמ' 92

מחברת: LilachhN


כמה אחוזים מתוך עלות התוכנה מוקצים בדרך כלל לתחזוקת קוד?

  1. 60%.
  2. 15%.
  3. 45%.
  4. 10%.

הסבר: מקובל שכ- 60% מתוך עלות התוכנה הולך לתחזוקת קוד ומתוכם 60% לשיפורים כאשר מדובר בקוד קיים.

מקורות: מצגת se-12-13-legacy שקופיות 12.

מחברת: esty6u


קיבלתן קוד קיים (code legacy), איזה משפט מבין המשפטים הבאים יעשה אתכן הכי

מאושרות?

  1. הקוד מכוסה ע"י טסטים
  2. הקוד פותח בשיטות אג'ייל
  3. יש המון מסמכי תיכון
  4. הקוד מסודר וקריא

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

תבניות תיכון

מה מהמשפטים הבאים לגבי תבניות תיכון שקרי?

  1. רוב תבניות התיכון מיועדות לשפות תוכנה מסויימות.
  2. תוכנה שמשתמשת בהרבה תבניות תיכון אינה בהכרח טובה יותר.
  3. ניסיון להחיל תבניות תיכון מוקדם מידי יכול להיות גרוע כמו החלתן מאוחר מידי.
  4. תוכנה בעלת תיכון טוב יכולה להמשיך להתפתח עד שמגיעים למצב שתבניות הופכות לאנטי תבניות .

הסבר: תבניות תיכון מיועדות לכלל שפות התכנות ולא לשפות תכנות מסויימות.

מקורות: מצגת se-extra-patterns שקופיות 15.

מחברת: esty6u

הרצאות אורח ונושאים נוספים

מה מהבאים הוא לא סוג של אב טיפוס?

  1. מודל סופי של המוצר המועבר לבקרת איכות
  2. פרק ראשון בסדרת טלוויזיה
  3. מוצר פיזי ללא טכנולוגיה
  4. דגם המדמה ממשק של האפליקציה (מוק-אפ)

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

מקור: עמוד 9 במצגת של יערה (https://github.com/jce-il/se-class-materials/blob/master/lecture/se2-guest-prototyping.pdf)

מחבר: AlonSchwartz


מי מהבאים אינו כלי המשמש לפיתוח פרויקט אוטומציה עבור אפליקציית רשת?

  1. JavaCC
  2. TestNG
  3. Selenium
  4. ChromeDriver

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

מקור: מצגת הרצאת אורח - אוטומציה.

מחבר: liorva

Clone this wiki locally