| **הנדסת תוכנה** |
| --- |
| ערך זה שייך לקטגוריית הנדסת תוכנה |
| **פעילויות** ו**שלבים** |
| דרישות • ניתוח • אפיון • ארכיטקטורה • עיצוב • תכנות • דיבוג • בדיקה • אימות • בנייה • פריסה • תפעול • תחזוקה |
| **מתודולוגיות** |
| זריזות • מפל המים • תכנת ותקן • Crystal Clear • Scrum • Unified Process • Extreme Programming • אינטגרציה רציפה • DevOps |
| **תחומים תומכים** |
| ניהול פרויקטים • ניהול תצורה • תיעוד • הבטחת איכות • Profiling |
| **כלים** |
| מהדר • מקשר • מפרש • IDE • ניהול גרסאות • אוטומציית בנייה |

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

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

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

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

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

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

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

לקריאה נוספת
------------

* פרץ שובל, **תכנון ניתוח ועיצוב מערכות מידע**, מהדורה שנייה, הוצאת האוניברסיטה הפתוחה, 2015 (שלושה כרכים):
	+ כרך א: תכנון ומערכות מידע
	+ כרך ב: ניתוח ועיצוב של מערכות מידע בגישה הפונקציונלית
	+ כרך ג: ניתוח ועיצוב של מערכות מידע בגישה המונחית עצמים

קישורים חיצוניים
----------------

* ניתוח מערכות מידע
* מערכת מידע ניתוח הגדרה ויישום

| מחזור פיתוח תוכנה |
| --- |
| 

|  |
| --- |
| ניתוח • אפיון • עיצוב • תכנות • תחזוקה |

 |

| תחומים במדעי המחשב |
| --- |
| יסודות מתמטים | לוגיקה מתמטית • תורת הקבוצות • תורת המספרים • תורת הגרפים • תורת הטיפוסים • תורת הקטגוריות • אנליזה נומרית • תורת האינפורמציה |
| תורת החישוביות | תורת האוטומטים • תורת הרקורסיה • תורת הסיבוכיות • מחשוב קוונטי |
| אלגוריתמים ומבנה נתונים | אנליזה של אלגוריתמים • גאומטריה חישובית |
| שפות תכנות ומהדרים | מפרש • פרדיגמת תכנות (תכנות פרוצדורלי • תכנות מונחה עצמים • תכנות פונקציונלי • תכנות לוגי) |
| חישוב מבוזר ועיבוד מקבילי | עיבוד מקבילי • מחשוב סריגי • בקרת מקביליות |
| הנדסת תוכנה | ניתוח מערכות מידע • עיצוב תוכנה • תכנות מחשבים • שיטות פורמליות • בדיקות תוכנה • מתודולוגיית פיתוח תוכנה |
| תקשורת | ניתוב • טופולוגיית רשת • קריפטוגרפיה |
| מסד נתונים | מסד נתונים יחסי • SQL • תנועה • אינדקסים • כריית מידע • CAP theorem |
| בינה מלאכותית | חשיבה אוטומטית • בלשנות חישובית • ראייה ממוחשבת • עיבוד שפה טבעית • בינה חישובית • מערכת מומחה • למידה חישובית • רובוטיקה |
| גרפיקה | הדמיה ממוחשבת • הנפשה ממוחשבת • עיבוד תמונה |
| שפות פורמליות | שפה רגולרית • שפה חסרת הקשר • שפה תלוית הקשר • ההיררכיה של חומסקי |
| שימושים במדע | ביואינפורמטיקה • מדעים קוגניטיביים • כימיה חישובית • פיזיקה חישובית • אנליזה נומרית |