תרגול 6 - ADISSA ניתוח פונקציונאלי תרשימי DFD היררכיים
Download
Report
Transcript תרגול 6 - ADISSA ניתוח פונקציונאלי תרשימי DFD היררכיים
תרגול ADISSA - 4
ניתוח פונקציונאלי
תרשימי DFDהיררכיים
השלבים בפיתוח מערכת מידע
ייזום
חקר מצב קיים
אפיון ראשוני
חקר ישימות
היום בתרגול
ניתוח המערכת
החדשה
עיצוב המערכת
החדשה
יישום
ניתוח המערכת החדשה
המטרה לספק אפיון מפורט של מערכת המידע החדשה ,כלומר,
להגדיר במדויק את ביצועי המערכת תוך התייחסות למרכיבים הבאים:
פונקציות המחשב שתבצע המערכת.
קלטים של המערכת ומקורותיהם.
פלטים של המערכת ויעדיהם.
נתונים שייאגרו בבסיס הנתונים של המערכת.
תוצרי שלב ניתוח מערכת המידע יהיו בסיס לעיצובה ולהקמתה.
בשלב זה יוגדרו מרכיבי התוכנה בצורה פונקציונלית ,אשר תהווה
הבסיס לפיתוח תוכנת היישום.
תרשים DFD
אמצעי גרפי לתיאור פעילויות (כלומר :תהליכים ,פונקציות) וזרימת המידע
ביניהן.
מטרתו להציג את הפעילויות שהמערכת מבצעת ואת המידע הזורם בין
הפעילויות .כלומר ,הקלט הדרוש כדי לבצע כל פעילות והפלט הנוצר בעקבות
ביצועה.
מרכיבי תרשים :DFD
משולש מציין יחידת זמן או מכשיר הקשור למערכת הפועל בזמן אמת.
כללים בבניית DFD
• לכל פונקציה חייב להיות זרם מידע אחד שנכנס אליה (קלט) ולפחות זרם
מידע אחד שיוצא ממנה (פלט).
• בקצהו של כל זרם מידע חייבת להיות לפחות פונקציה אחת – כלומר לא
יכול להיות קשר ישיר בין ישויות למאגרי מידע.
• אין משמעות לזרם מידע היוצא מפונקציה ונכנס לאותה פונקציה.
• לכל מאגר מידע חייב להיות לפחות זרם מידע אחד שנכנס אליו (עדכון)
ולפחות זרם מידע אחד שיוצא ממנו (שליפה) .כלל זה אינו חל על מאגר
מידע חיצוני השייך למערכת מידע אחרת ומצויר מחוץ למסגרת התרשים.
• ישויות חיצוניות בצד שמאל של התרשים משמשות מקור לקלט ; ישויות
חיצוניות בצד ימין של התרשים משמשות יעד לפלט.
• ישות זמן ( )Tיכולה להופיע רק בצד שמאל של התרשים (קלט).
פעילות שמתבצעת לא ביוזמת המשתמש אלא ביוזמת המערכת ,במועד
שנקבע מראש.
• זרם מידע יסודי (שאין בקצהו פונקציה כללית) חייב להיות חד כיווני.
• ניתן להוסיף קשר לוגי AND/ORבין זרמי מידע.
דוגמא לתרשים DFDשטוח
מהי טרנזקציה?
טרנזקציה היא תהליך מחשב עצמאי.
טרנזקציה היא רצף של פונקציות יסודיות הקשורות זו לזו ע"י
זרמי מידע.
טרנזקציה כוללות גם את זרמי המידע ,המאגרים ,והישויות
החיצוניות הקשורות אל הפונקציות שלה.
כל הפונקציות הנכללות בטרנזקציה הן יסודיות.
כל פונקציה יסודית שייכת רק לטרנזקציה אחת.
טרנזקציה כוללת לפחות ישות חיצונית אחת – "טריגר" –
המאפשרת את הפעלתה לפי הצורך .לפי סוג הישות נקבע סוג
הטרנזקציה:
משתמש
זמן
זמן אמת
מעורבת
טרנזקציות בתרשים DFD
אפשר (אך לא רצוי) שטרנזקציה "תשתרע" על יותר מתרשים
DFDאחד.
ישות חיצונית לא מפעילה רק את הפונקציה שאליה היא קשורה,
אלא את כל הטרנזקציה.
סדר הפעולות יקבע על ידי הלוגיקה של הטרנזקציה.
את הלוגיקה של כל טרנזקציה יש להגדיר ולתאר באופן
מדויק/מובנה ,שאם לא כן אפשר להבין את תרשים הטרנזקציה
בצורות שונות.
תיאור על ראשוני של טרנזקציה
.1התחל טרנזקציה 3.2 ,3.3.1-3.3.3 ,3.4
.2קרא ממאגר מידע A : D3
.3בצע פונקציה " :3.2שם הפונקציה"
.4הפק פלט לישות "סוג הישות" B : E3
.5בצע פונקציה " :3.3.1שם הפונקציה"
.6קרא ממאגר G : D4
.7קרא ממאגר D : D5
.8אם <תנאי> אזי:
8.1בצע פונקציה " :3.3.2שם הפונקציה"
8.2כתוב למאגר N : D5
8.3הפק פלט לישות "סוג ישות" M : E1
.9אחרת
9.1בצע פונקציה " :3.3.3שם הפונקציה"
9.2הפק פלט לישות "סוג ישות" I : E1
9.3בצע פונקציה " : 3.4שם הפונקציה"
9.4קלוט מישות "סוג ישות" K : E2
9.5כתוב למאגר H : D4
9.6הפק פלט לישות "סוג ישות" L : E1
.10סוף טרנזקציה
שאלה ממבחן
שאלה ממבחן
ב .צייר את הטרנזקציה "הזמנת נסיעה" (כחלק של תרשים .)DFDבכל מקרה של אי בהירות,
יש להניח הנחות שלא סותרות את הסיפור(יש לצייר רק טרנזקציה אחת).
ג .הצג תיאור-על ראשוני של הטרנזקציה.
פיתרון שאלה ממבחן
פיתרון שאלה ממבחן
פיתרון שאלה ממבחן
לקוחות
הזמנות
שיבוצים
D3
נהגים
D4
כלי רכב
D5
פרטי
שיבוצים
פרטי
נהגים
פרטי כלי
רכב
D2
E1
לקוח
הודעת
דחיית
הזמנה
D1
1
קליטת
נתוני
לקוח
פרטי
נתוני
הזמנה
2
קליטת
נתוני
הזמנה
פרטים
לעדכון
הזמנה
4
בדיקת
שיבוץ
כלי רכב
לנהגים
5
שיבוץ
נהגים
R1
GPC
E1
לקוח
פרטי
נתוני
כרטיס
אשראי
הודעת
שיבוץ
לקוחות
E2
נהג
פרטי
שיבוץ
נהגים
נתוני
מיקום
נתוני
כרטיס
אשראי
3
קליטת
נתוני
אשראי
שיבוצים
E1
לקוח
נתוני
הזמנה
OR
OR
6
דחיית
הזמנה
פרטי
נתוני
לקוח
נתוני
לקוח
D3
D1
תיאור על ראשוני של טרנזקציה
.1התחל טרנזקציה 1,2,3,4,5,6
.2קלוט מישות משתמש : E1נתוני לקוח
.3קלוט מישות זמן אמת : R1נתוני מיקום
.4בצע פונקציה : 1קליטת נתוני לקוח
.5כתוב למאגר : D1פרטי נתוני לקוח
.6קלוט מישות משתמש : E1נתוני הזמנה
.7בצע פונקציה : 2קליטת נתוני הזמנה
.8כתוב למאגר : D2פרטי נתוני הזמנה
.9אם <הלקוח מעוניין לשלם בכרטיס אשראי> אזי:
9.1בצע פונקציה :3קליטת נתוני אשראי
9.2כתוב למאגר : D1פרטי נתוני כרטיס אשראי
.10קרא ממאגר :D3פרטי שיבוצים
.11קרא ממאגר :D4פרטי נהגים
.12קרא ממאגר :D5פרטי כלי רכב
.13שיבוץ=false
.14עבור כל נהג:
14.1אם < כלי הרכב של הנהג תואם לכלי רכב שהלקוח בקש וגם הנהג פנוי> אזי:
14.1.1שיבוץ=true
break 14.1.2
. 15אם < כלי הרכב של הנהג תואם לכלי רכב שהלקוח בקש וגם הנהג פנוי> אזי:
15.1כתוב למאגר : D3פרטי שיבוץ נהגים
15.2הפק פלט לישות משתמש :E2הודעת שיבוץ
.16אחרת:
16.1הפק פלט לישות :E1הודעת דחיית הזמנה
.17סוף טרנזקציה