תרשים זרימת נתונים

שמאל|ממוזער|350px|דוגמת תרשים זרימת נתונים**תרשים זרימת נתונים** (באנגלית: **Data Flow Diagram** או **DFD**) הוא כלי בהנדסת תוכנה המהווה צורה חזותית של הצגת תהליכי עיבוד נתונים המתרחשים במערכת מידע.
יצירת תרשים זה היא חלק משלב הניתוח במחזור החיים של מערכת המידע, ונועדה כדי לבדוק את יישומיות מחשוב המערכת.
## מטרת התרשים
נעזרים ב-DFD בשני חלקים עיקריים של שלב הניתוח:
#בניתוח המצב הקיים.
#בבניית המערכת העתידית.
למעשה, המערכת העתידית נבנית מהמצב הקיים בעזרת שינוי ה-DFD הראשוני.

## חלקי התרשים
#**בועה** - תהליך בתוך המערכת. לדוגמה: "רישום לקוח", "עדכון חובות ודו"חות". בועה מיוצגת בתרשים על ידי אליפסה, ומסומנת באות Procedure) P).
#**ישות** - גורם חיצוני המעביר לבועה נתוני קלט, או מקבל נתוני פלט ממנה. לדוגמה: לקוח, ספק. ישות מיוצגת בתרשים על ידי מלבן, ומסומנת באות Entity) E).
#**מאגר נתונים** - הייצוג הלוגי (הגולמי) של הנתונים. לדוגמה: מאגר פריטים, מאגר לקוחות. המאגרים מכילים שדות המתעדכנים לרוב בהתאם לתהליכים. מאגר הנתונים מיוצג על ידי שני קווים מקבילים, ומסומן באותיות Data Store) DS).
#**אפיק** - מעבר נתונים בין שאר חלקי התרשים. לדוגמה: נתוני לקוח (נ. לקוח), נ. פריט, תאריך, שעה וכו'. מיוצג בעזרת חצים.

## רמות התרשים
רוב תרשימי ה-DFD מורכבים מרמה עליונה (DFD-0), ועוד מספר תת-רמות (DFD-1, DFD-2 וכן הלאה), המפרטות את התהליכים המוצגים בשכבות מעליהם.

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

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

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

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

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

המספר יופיע בדרך הבאה:
*יש לכתוב את האות המייצגת ולאחריה את מספר האובייקט. לדוגמה, הישות השלישית בתרשים תסומן ב-E3.
*כאשר מדובר בתהליך באחת מתת-הרמות, תכתב האות P ולאחריה מספור על-התהליכים לתת-התהליך המדובר. לדוגמה: P1.6.3 הוא תת-התהליך השלישי בתוך P1.6, וכן הלאה.

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

*הרחבה לגבי תרשים DFD וקישורי הדרכה ליצירת התרשים

קטגוריה:מערכות מידע
קטגוריה:אינפוגרפיקה