הנדסת תוכנה – אוניברסיטת אריאל
שם הקורס: הנדסת תוכנה
שם הפקולטה: מדעי הטבע
שם המחלקה: מדעי המחשב
מספר הקורס: 7037010
מתכונת הקורס: (הרצאה ותרגולים)
שנת לימודים: תשפ"ב סמסטר: א' היקף שעות: 3 נקודות זכות: 3
אתר הקורס באינטרנט: moodlearn.ariel.ac.il/course/view.php?id=80825
א. מטרות הקורס:
הקניית כלים לניתוח של מערכות תוכנה מורכבות, הכרה של כלי תכנון עיצוב ותיעוד (UML),
הבנה של השלבים השונים במחזור חיי תוכנה, התנסות מעשית בבנייה של מערכת תוכנה מורכבת.
התנסות מעשית בפיתוח אפליקציות אנדרויד.
ב. תוכן הקורס:
הקורס סוקר מתודולוגיות שונות לעיצוב, תכנון ופיתוח תוכנה בדגש על שפות מונחות עצמים (Java)
ואפליקציות לטלפונים ניידים. בקורס ניתן דגש על נושא של פיתוח תוכנה מורכבת:
עקרונות לכתיבת קוד "נכון" וקריא, ראיה מערכתית, ניהול פרויקטי תוכנה,
כלים למדידת עלויות ורווחים צפויים מהפרויקט, כלי תכנון ופיתוח מתקדמים,
כלי ניהול גרסאות, ניהול בדיקות ועוד.
ג. מהלך השיעורים: (יתכנו שינויים בסדר השיעורים)
| יחידת שיעור | נושא השיעור |
|---|---|
| 1 | מבוא: הרצאות מבוא על הנדסת תוכנה, היסטוריה ומצב קיים. הכרה של מושגים בסיסיים בהנדסת תוכנה. היכרות בסיסית עם מחזור חיים של מערכת פיתוח תוכנה |
| 2 | שיטות עבודה בפיתוח מערכות תוכנה |
| 3 | שלב הייזום ושלב הדרישות בחיי מערכת פיתוח תוכנה |
| 4–5 | UML + ERD |
| 6–9 | Android – היכרות בסיסית עם המערכת – יצירת מסכים, הודעות קופצות ועוד. Firebase – מסד הנתונים, זיהוי משתמשים, שימוש בשירות אחסון של Firebase. |
| 10 | ניהול פרויקטי תוכנה שלב בדיקות המערכת |
| 11 | עיצוב המערכת, UI, UX |
| 12–13 | הצגת הפרויקטים ע"י הסטודנטים |
ד. חובות הקורס:
- דרישות קדם: מבוא לתכנות מונחה עצמים
- חובות / דרישות / מטלות: בקורס פרויקט מתגלגל לביצוע ע"י הסטודנטים בקבוצות של 3 סטודנטים.
- מרכיבי הציון הסופי (ציון מספרי / ציון עובר): 60% פרויקט מתגלגל לאורך הסמסטר שיכלול
תכנון ופיתוח אפליקציית אנדרויד, הפרויקט מתבצע בקבוצות אך הציון הוא אישי ויכול להיות שונה
בין חברי הצוות. 40% בחינה בעיקר על החומר התיאורטי. שימו לב, רק ציון עובר בפרויקט
ישוקלל עם ציון המבחן ורק במקרה שהסטודנט קיבל ציון עובר במבחן! - יושרה: אסור שימוש לא ראוי בחומרים שיוצרו ע"י אחרים (גם לא פרויקטים המפורסמים באינטרנט
ומותרים לשימוש). אין להפעיל קבלני משנה בפרויקט ללא אישור מצוות הקורס.
אין להשתמש בפרויקט קיים מהעבודה / מהעבר אפילו שפותח ע"י חלק מחברי הצוות.
הציונים בפרויקט הם אישיים לפי מידת התרומה של הסטודנט בפרויקט.
ד. ביבליוגרפיה:
חומר הקורס שנלמד בכיתה במהלך השיעורים ובתרגולים (ייתכן שילמדו נושאים רק בתרגול).
מצ"ב רשימת ספרות (רובם קיימים ברשת. רשימה חלקית):
- Pressman R. S., "Software Engineering – A Practitioner’s Approach", 8e, McGraw-Hill, 2014.
- Sommerville I., "Software Engineering", 10e, Addison Wesley, 2015.
- McConnell S., "Software Project Survival Guide", Microsoft Press, 1997.
- Hunt A. and Thomas D., "The Pragmatic Programmer: From Journeyman to Master", Addison-Wesley, 1999.
- Martin R. C., "Agile Software Development, Principles, Patterns, and Practices", Prentice Hall, 2002 (also a C# version).
- Kniberg H., "Scrum and XP from the Trenches", Lulu.com, 2007.
רשימת המאמרים שניגע בהם בקורס (רשימה חלקית):
- No Silver Bullet – Essence and Accident in Software Engineering, Frederick P. Brooks, Jr, 1987.
- Charette, Robert N. "Why software fails [software failure]." IEEE Spectrum 42.9 (2005): 42–49.
- CHAOS Report 2015
- Managing the development of large software systems: concepts and techniques, Royce, Winston W., 1987.
- C. Larman: Applying UML and Patterns, 2nd edition, Prentice Hall, 2002.
- M. Fowler: UML Distilled, 3rd Edition, Addison-Wesley, 2003.
- Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts: Refactoring: Improving the Design of Existing Code. Addison-Wesley Pub Co.