תוכן ראשי
קורסים
- הנדסת תוכנה אינטגרטיבית (10143) תקציר הקורס:
- ארכיטקטורת מערכות תוכנה (10151) תקציר הקורס:
- הנדסת דרישות (10213) תקציר הקורס:
- מחשוב בענן (10353) תקציר הקורס:
- פרויקט גמר למדעים1 (11402) תקציר הקורס:
- פרויקט גמר למדעים2 (11403) תקציר הקורס:
תקציר:
מימוש תשתית מרובת תהליכים; תכנות ריאקטיבי Reactive Programming; שימוש ב-Logger; ארכיטקטורת MVC; בדיקות יחידה, Mocking, בדיקות אינטגרציה; חיבור לבסיסי נתונים טבלאיים (Relational Databases) ובסיסי נתונים של NoSQL; פיתוח Client-Server; פיתוח Web-Services; יישום IoC תוך שימוש בתשתיות תוכנה מקובלות בתעשיה. הסטודנטיות והסטודנטים בקורס יתנסו בכתיבת פרויקט של מערכת עם מספר ממשקי משתמש שונים לאותה לוגיקה עסקית, באמצעות מבחר של יישומי קצה. הפרויקט ישלב מימושים בשפת Java לנושאים שנלמדו בקורסים קודמים בתכנית הלימודים: מערכות הפעלה, תקשורת ובסיסי נתונים, תוך שימוש ויישום עקרונות הנדסת תוכנה. יישום הפרויקט מחייב, בנוסף לחומר הנלמד בקורס, שליטה ומיומנות מלאים בנושאי הקורסים מבוא למדעי המחשב, תכנות מונחה עצמים ושיטות בהנדסת תוכנה. |
תקציר:
בוגרות ובוגרי הקורס ירכשו במהלכו מיומנויות בתכנון מערכות תוכנה גדולות ומורכבות, כך שיהיה קל ליישם, לתחזק ולשדרג אותן, תחת אילוצי איכות ותקציב, ובהתאם לתשתיות החומרה והתוכנה הזמינות להם.
הקורס מתבסס על הידע שנרכש בקורסי הקדם לקורס זה, באפיון מערכות תוכנה ומודלים מופשטים להגדרת הדרישות והפונקציונאליות שלהן.
במהלך הקורס, נלמד להתאים את יישום מערכות תוכנה אלה, לטכנולוגיות והתשתיות שנחוצות להקמתן ושזמינות עבור מערכות תוכנה אלה, להגדיר את רכיבי התוכנה הנחוצים ליישומן, ואת הזיקה בין רכיבים אלה, כך שיישומי התוכנה, שיפותחו על בסיסם, יעמדו בדרישות של ביצועים, אמינות ותמיכה בתחזוקה עתידית של מערכות התוכנה.
הקורס מלווה את תהליכי התיכון והעיצוב של ארכיטקטורות מערכות תוכנה, |
תקציר:
ניתוח הדרישות הוא השלב הראשון והכי משמעותי במחזור החיים של פיתוח, שבו מזהים את בעיית הלקוח ואת הדרישות למערכת תוכנה שתפתור את בעיית הלקוח. נציג הפיתוח מזהה את צרכי הלקוח ומתרגם אותם לאופיין (טכני) שישמש הן את מהנדסי פיתוח התוכנה והן את הבודקים המאשרים את המוצר. המחקר מראה שיותר מ-75% מהתקלות שמתגלות אצל הלקוחות לאחר התקנה מקורן באפיון הדרישות. |
תקציר:
מערכות מבוזרות מאפשרות גמישות גדולה וביזור יחידות פיתוח בצורה מודולארית. ארכיטקטורות מחשוב ענן מקנות לתוכנה שפועלת עליהן היבטים דינאמיים שמשפיעים על ויסות העומסים על מערכות אלה (Scalability); פירוק והרכבה של רכיבי התוכנה באופן שיתאים את התוכנה לדרישות עסקיות וטכניות דינמיות; ביזור טוב של משימות, נתונים ופעילויות בקרה; גמישות בבחירת התשתית לתוכנה; בקרה תפעולית טובה של התוכנה וגמישות בפתרון תקלות ובעיות לא צפויות; שימוש יעיל ברכיבי תוכנה מן המוכן, באופן שייעל את פיתוח התוכנה.
בקורס זה נדון בהיבטי הפיתוח הקשורים לארכיטקטורות ענן, הכוללים שימוש בתבניות נפוצות לפיתוח יעיל בענן (Cloud Architecture Design Patterns), ביזור נתונים ותהליכים שמקנות תשתיות יעודיות בארכיטקטורת ענן, מתודולוגיות לפיתוח אפקטיבי בסביבה מבוזרת, ניטור ובקרה של בעיות ותקלות בפיתוח, אוטומציה של תהליכי פיתוח ושימוש במתודולוגיות וכלים שיאפשרו עדכון זריז ויעיל של התוכנה (Agile Cloud Development).
הקורס דורש ידע מוקדם בפיתוח מתקדם בשפת Java ובפיתוח בסביבה עתירת תקשורת ובסיסי נתונים. ידע זה מוקנה על ידי קורסי הקדם לקורס זה. |