יעדי הפרוייקט
Download
Report
Transcript יעדי הפרוייקט
קורס ניתוח מערכות מידע
אפיון ועיצוב מערכות מוכוון עצמים
-לפי - UML
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
הקדמה
המערכות שפותחו בעבר היו קטנות ביחס
למערכות מהידע הקיימות כיום.
מירב הפרויקטים אינם מצליחים או אינם
מגיעים לכדי הסיום המתוכנן.
כל מתכנן מע' מידע משתמש בשיטת סימון
ייחודית לו שהנה כמעין שפה שונה לגמרי.
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
2
קורס ניתוח מערכות מידע
הסיבות לכישלון של פרויקטים
אין שיטה אחת ל←סימון/תיעוד מסמכים ,לכן:
כול צוות פיתוח מתעד לעצמו
המסמך אינו מתאר ממש את סביבת הלקוח
אין שימוש חוזר בקוד
מוכוון עצמים
בהתחלה השפותSMALLTALK, C++ :
לאחר מכן שיטות הרישום NOTATION
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
ּודב ִ
ָרים אֲ חָ ִדים .וַי ְִהי ְבנָסְ עָ ם
ָארץ שָ פָ ה אֶ חָ ת ְ
וַי ְִהי כָל הָ ֶ
ִמקֶ ֶדם וַ ִימְ צְאּו ִבקְ עָ ה בְאֶ ֶרץ ִ
שנְעָ ר וַ ֵּישְ בּו שָ ם .וַי ֹּאמְ רּו ִאיש אֶ לֵּ -ר ֵּעהּו ,הָ בָ ה
ִנלְ ְבנָה לְ ֵּב ִנים וְ ִנשְ ְרפָ ה ִלשְ ֵּרפָ ה; וַתְ ִהי לָ הֶ ם ַהלְ ֵּבנָה לְ ָאבֶן ו ְַה ֵּחמָ ר הָ י ָה לָ הֶ ם
שה לָ נּו ֵּ
ַלח ֹּמֶ ר .וַי ֹּאמְ רּו ,הָ ָבה ִנ ְבנֶה לָ נּו ִעיר ִ
שם
ּומג ְָדל וְר ֹּאשֹו ַב ָ
ש ַמיִם ,וְ ַנעֲ ֶ
ָארץ .וַ ֵּי ֶרד ה' ִל ְרא ֹּת אֶ ת הָ ִעיר וְאֶ ת ַה ִמג ְָדל אֲ שֶ ר בָנּו
פֶ ן נָפּוץ ַעל פְ ֵּני כָל הָ ֶ
ָאדם .וַי ֹּאמֶ ר ה'ֵּ ,הן ַעם אֶ חָ ד וְשָ פָ ה ַ
ַאחת לְ כֻלָ ם וְזֶהַ ,ה ִחלָ ם ַלעֲ שֹות;
ְב ֵּני הָ ָ
ו ְַעתָ ה ֹלא יִ ָב ֵּצר ֵּמהֶ ם כ ֹּל אֲ שֶ ר יָזְמּו ַלעֲ שֹות .הָ בָ ה ֵּנ ְר ָדה וְ ָנבְלָ ה שָ ם
שְ פָ תָ ם אֲ שֶ ר ֹלא יִשְ מְ עּו ִאיש שְ ַפת ֵּר ֵּ
עהּו .וַיָפֶ ץ ה' א ָֹּתם
ָארץ וַ ַיחְ ְדלּו ִלבְנ ֹּת הָ ִעירַ .על ֵּכן ָק ָרא שְ מָ ּה ָבבֶלִ ,כי
ִמשָ ם ַעל פְ ֵּני כָל-הָ ֶ
ָארץ,
שָ ם ב ַָלל ה' שְ ַפת כָל הָ ֶ
ָארץ.
הָ ֶ
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
ִ
ּומשָ ם הֱ ִפיצָם ה'ַ ,על-פְ ֵּני כָל-
UML
בראשית (יא ,א-ט)
4
קורס ניתוח מערכות מידע
חשיבות הבנת הדרישות -סיפורו של פרוייקט
רצון הלקוח
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
עדכון ממשק
המשתמש
UML
חלומו של מעצב
המערכת
מה הבין
מנתח
המערכת
5
קורס ניתוח מערכות מידע
סיפורו של פרוייקט ()2
איש מכירות
תאר כך
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
התוכניתן
כתב
UML
התמיכה..
התעוד
הנלווה
לפרוייקט
6
קורס ניתוח מערכות מידע
סיפורו של פרוייקט ()3
הלקוח חויב
בעבור..
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
המשתמש היה
צריך...
UML
7
קורס ניתוח מערכות מידע
התוצאה במציאות
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
8
קורס ניתוח מערכות מידע
מהו ניתוח מוכוון עצמים OO -
לא עוד טיפול בתהליכים.
לא עוד טיפול באירועים.
כעת מטפלים בעצמים -אובייקטים.
הלקוח במרכז ← המערכת היא כפי שהוא רואה אותה
גישת האובייקטים עוסקת בעולם האמיתי:
לא בהסבות ורעיונות של אנשי מערכת מידע.
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
9
קורס ניתוח מערכות מידע
מהו אובייקט
כל דבר [מוחשי או וירטואלי] שקיים בעולם
וניתן לייחס לו תכונות:
אדם ,ציפור ,ספר ,קורס ,חשבון בנק
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
10
קורס ניתוח מערכות מידע
הכרות עם Unified Modeling Language
גרסה ראשונה בשנת .1997
מטרת העל :יצירת שיטת סימון/תצוגה
אחידה לאפיון ועיצוב מערכת מידע
במתודולוגיה מוכוונת עצמים.
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
11
קורס ניתוח מערכות מידע
מטרות
UML
אחידות -שפה אחת ,שיטת סימון אחת.
מחזור חיי המערכת -שיטת UMLתומכת בכל
מחזור חיי מערכת המידע.
פרויקטים גדולים -יכולת תמיכה בפרויקטים
בכל סדר גודל ,בעבודת צוות ובעבודה מקבילה.
חוסר תלות בטכנולוגיה -חוסר תלות מוחלט
בחומרה ובתוכנה.
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
12
קורס ניתוח מערכות מידע
מטרות
UML
שפה מתאימה לכולם UML -לוקחת בחשבון את
הלקוח ,תכניתן ,מעצב התוכנה ,מנתח המערכת .לכל
אחד מאלו קיימים שרטוטים מקובלים ,שיטת סימון
אחת ונקודת מבט מיוחדת.
הפרדה בין שלב פיתוח המערכת -עבור הלקוח,
תוגדרנה הדרישות בשרטוט אחד .כל אחד יאמר את
דברוץ
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
13
קורס ניתוח מערכות מידע
מרכיבי UML
המערכת
- Use Case Diagram חלוקת
לפונקציונליות לצורך הגדרת הדרישות.
- Class Diagram מודל המחלקות -המביע את
החוקיות עליה מבוססת המערכת ,כפי שקיימת
בעולמו של הלקוח.
- Sequence Diagram התנהגות בעולם הלקוח
ברצף הזמן ,בחלוקה לפי הפונקציונליות שהוגדרה
בשלב ה.Use Case-
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
14
קורס ניתוח מערכות מידע
מרכיבי UML
- Collaboration Model שיתוף מודל המחלקות
וה Sequence Model-לצרכים שונים.
- State Chart Diagram מצבי האובייקט במחזור
החיים.
- Activity Diagram פעילויות במערכת.
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
15
קורס ניתוח מערכות מידע
מרכיבי UML
- Deployment Diagram פריסת המערכת על חלקיה
- Component Diagram רכיבי מערכת המידע.
- Object Diagram תיאור האובייקטים במערכת.
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
16
קורס ניתוח מערכות מידע
UML - Unified Modeling Language
← DFDפירוק עד לרמה מפורטת ביותר
אירועים ←
מתחילים באמצע
עולים ל"אירוע על"
יורדים/יוצרים פירוט לשגרות
← UMLעד לרמת הפירוט אותה מבקש הלקוח
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
שלבים בתהליך הפיתוח
1
חקר מצב קיים
2
הגדרת דרישות (רק כאן המשתמש מעורב מלא)
זהו כתב הכמויות ,ההסכם של התכולה
תרשים
תיאור הפונקציונאליות (תקן לסעיפים)
3
תיאור מפורט/אפיון של תוצר שלב 2
שימוש בתפישת OOADמיוצגת על ידי UML
תרשימים בסימון UC# ,SQ#
4
הגדרת החוקיות בעולם של הלקוח
5
הגדרת ההתנהגות של הפרויקטים בממד הזמן
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
DFD
Use case
Use Case Documentation
Class Diagram
Dynamic Diagrams
UML
התכנון הפיסי ,ההתקנות
All Others
קורס ניתוח מערכות מידע
אפיון מערכות מוכוון עצמים
()1
OOAD
אובייקט ← הוא הדבר האמיתי ,אם כי לא תמיד מוחשי
← CLASSתבנית לוגית הקובעת תכונות של העצמים
הנגזרים ממנה ,בעלי אוסף מוגדר של מאפיינים
←אותה רשימת מאפיינים לכול האובייקטים ,נבדלים בערכים שלהם:
הפשטה ← זווית ההסתכלות לפי שימוש או כוונת המתבונן
תכונות ← לפי סוגי שדות TYPE
שיטות ← פעולות (פונקציות ,פרוצדורות)
קבלת מידע מ←האוביקט
שינוי המידע האצור באוביקט
accessor, getter
mutator
הכמסה של ה←← class
UMLהוראות/שיטות קישור/גישה,
ישלפירק
כלפי חוץ
] [58שיעור - 6אפיון ועיצוב מערכות OO
המבנה הפנימי אינו מעניין
קורס ניתוח מערכות מידע
אפיון מערכות מוכוון עצמים
()2
OOAD
בנאי ← כול מחלקה יש לה בנאי הבונה אוביקטים
על ידי אתחול הערכים של האוביקט
מפרק ← סגירה של אוביקט ,סימונו כמבוטל
תכונה
מחלקתית ← זהה בכול האוביקטים :שע"ח ,מונה
סופית ← לאוביקט מסוים ,אינה ניתנת לשינוי (ת.ז).
קשרים בין מחלקות
אסוציאטיבי ← כיוון ,מידת ריבוי
אסוציאטיבי עצמאי ← קישור מחלקה אל עצמה מנהל ועובד
מחלקת קשר ← שומרת את הערכים של הקשר (תאריך ערך)
מערכות OOלפי UML
] [58שיעור - 6אפיון ועיצוב
←aggregationרכב וגלגלים או הכלה חזקה/תלות פרק וסעיפים
הכלה
( 30כסאות בכיתה),
קורס ניתוח מערכות מידע
אפיון מערכות מוכוון עצמים
()3
OOAD
הורשה ← של תכונות ושיטות ממחלקה אל מחלקה
הורשה מרובה ← יורשת מיותר מאשר מחלקה אחת
הסימון הפוך לכיוון ההורשה
מוגן ← #הערך פרטי עבור כלל המחלקות למעט עבור
מחלקות יורשות
רמיסה ← של שיטות (לא תכונות) על ידי היורשת :חלקית או מלאה
ריבוי צורות polymorphismבשל הרמיסה
הפעלת פעולה על אוביקט ,מחפשת את הפעולה במעלה עץ ההורשה
ממשק ← מחלקה ללא תכונות,
מופשטת ← לא ניתן לייצר ממנה אובייקטים
מחלקה
לפי
] [58שיעור - 6אפיון ועיצוב מערכות
רק שיטות אשר היורשת חייבת לממש
OO
UML
קורס ניתוח מערכות מידע
“ - UMLמפת דרכים”
ארכיטקטורת מערכת
דרישות מערכת
ישויות,
קשרים,
יחסים
מקרא:
מודל
סטטי
Class
Diagram
מודל
דינמי
“חבילות
עבודה”
Use Case
Model
שחקנים,
תרחישים,
אופני
פעולה
Package
Diagram
מודל
ניהולי
State
Chart
התנהגות
פריסת התוכנה
על גבי החומרה
Deployment
Diagram
Activity
Diagram
ארכיטקטורת
התוכנה
Component
Diagram
Sequence
Diagram
לוגיקה,
זרימה
פונקציונליות,
אינטראקציה
22
קורס ניתוח מערכות מידע
מסגרת הדיון:
מודל מקרי-שימוש ()Use-Case Model
“שחקנים”
מקרי-שימוש )(use cases
תרחישים
תרשים מקרי-שימוש ()use-case diagram
המודל הסטטי ()Static Model
מחלקות
קשרים
תלויות
תרשים מחלקות ()class diagram
המודל הדינמי ( :)Dynamic Modelבד"כ יותר מאוחר ,בשלב עיצוב התוכן
מצבים
מעברים
תרשימי מצבים ()state-chart diagrams
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
23
קורס ניתוח מערכות מידע
דוגמה לניתוח מונחה עצמים :מעלית
רשימת הדרישות
המערכת מבקרת nמעליות המשרתות mקומות
בכל מעלית יש mכפתורים -אחד לכל קומה
עם הלחיצה על כפתור-מעלית
הכפתור מואר
המעלית מגיעה לקומה המבוקשת
הדלתות נפתחות והכפתור כבה
בכל קומה ,פרט לראשונה ולאחרונה ,יש שני כפתורים (לעליה ולירידה)
עם לחיצה על כפתור-קומה
הכפתור מואר
כאשר מעלית מגיעה לקומה המבוקשת -הדלתות נפתחות והכפתור כבה
לאחר השהיה נסגרות הדלתות והמעלית ממשיכה בכיוון המבוקש (אם ישנן בקשות קיימות)
כאשר אין בקשות למעלית ,היא חונה בקומה הנוכחית כשדלתותיה סגורות
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
24
קורס ניתוח מערכות מידע
היכן נמצאים האובייקטים? היכן נמצאות הפונקציות?
המערכת מבקרת nמעליות המשרתות mקומות
שמות עצם עשויים לציין אובייקטים
בכל מעלית יש mכפתורים -אחד לכל קומה
פעלים עשויים לציין פונקציות
עם הלחיצה על כפתור-מעלית
הכפתור מואר
המעלית מגיעה לקומה המבוקשת
הדלתות נפתחות והכפתור כבה
בכל קומה ,פרט לראשונה ולאחרונה ,יש שני כפתורים (לעליה ולירידה)
עם לחיצה על כפתור-קומה
הכפתור מואר
כאשר מעלית מגיעה לקומה המבוקשת -הדלתות נפתחות והכפתור כבה
לאחר השהיה נסגרות הדלתות והמעלית ממשיכה בכיוון המבוקש (אם ישנן בקשות קיימות)
כאשר אין בקשות למעלית ,היא חונה בקומה הנוכחית כשדלתותיה סגורות
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
25
קורס ניתוח מערכות מידע
תרשים מקרי שימוש ()Use-Case Diagram
שחקנים ()Actors
תפקיד שממלא משתמש כלשהו במערכת
משתמש אחד יכול למלא תפקידים שונים
כותב
מאייר
עורך
שחקן לא חייב להיות אנושי
חיישן
בקר
מקרי שימוש ()Use Cases
אופני ההפעלה של המערכת
אינטראקציה בין המערכת לבין שחקניה
תרחישים ( )scenariosחיצוניים
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
26
קורס ניתוח מערכות מידע
מעלית UCD -
תרחיש נסיעה
במעלית.
מופעל עם הלחיצה
על כפתור במעלית
Elevator
System
Boundaries
ride the elevator
call the elevator
User
תרחיש קריאה למעלית.
מופעל עם הלחיצה על
כפתור בקומה
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
27
קורס ניתוח מערכות מידע
קשרים בין Use Cases
Extend
UCאחד מרחיב UCאחר ע"י תוספת של התנהגות
ניתן להגדיר את "נקודת ההסתעפות" )(Extension Point
Include
UCאחד כולל בתוכו את ההתנהגות של UCאחר
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
28
קורס ניתוח מערכות מידע
מעלית UCD -מורחב
מעלית
& <<include>> repair
test
טכנאי
מפעיל קריאה /נסיעה
כחלק מתהליך הבדיקה
ride
>> << include
>><<extend
call
rescue
מכבי אש
משתמש
>><<extend
מפעילים קריאה /נסיעה
באופנים נוספים
תוך שימוש במפתח מיוחד
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
29
קורס ניתוח מערכות מידע
מפרט - UCתיעוד
בנוסף לתרשים ,חייב כל UCלהיות מלווה בתיעוד ,הכולל את הנושאים הבאים:
מטרת הUC-
קיימים גם "בעלי עניין"
נועד למילוי משימה שתשרת שחקן אחד לפחות
)(stakeholders
רשימת השחקנים ותפקידיהם
ה UC-אמורים לשרת
"המערכת" איננה שחקן!
גם את האינטרסים
תנאים מקדימים ()pre-conditions
שלהם!
מה צריך להתקיים כדי שה UC-יוכל להתבצע כהלכה
תנאים לאחר מעשה ()post-conditions
מה השתנה לאחר סיום (מוצלח!) של הUC-
תרחיש הצלחה ראשי )(MSS = Main Success Scenario
האינטראקציה העיקרית בין השחקנים לבין "המערכת" שתביא לקיום התנאים לאחר-מעשה
[ללכת בתל"מ]
הסתעפויות )(branches
חלופה )"[ (alternativeאלתר נתיב"]
• השגת התל"מ באופן שונה
חריגה )(exception
• מסלול שיביא לסיום ה UC-מבלי שיתקיימו התל"מ
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
30
קורס ניתוח מערכות מידע
- use-caseמעלית
•
שחקנים ()Actors
–
•
תנאים מקדימים ()pre-conditions
–
•
משתמש (נוסע)
המשתמש נמצא בתוך המעלית והמעלית "בכיוון" עלייה
תנאים לאחר-מעשה ()post-conditions
–
–
המעלית הגיעה לקומה המבוקשת
הנוסע יכול לצאת מהמעלית
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
31
קורס ניתוח מערכות מידע
- use-caseמעלית
)המשך(
תרחיש הצלחה ראשי MSS -
.1המשתמש לוחץ על כפתור המעלית של הקומה
המבוקשת
.2כפתור הקומה נדלק
.3דלתות המעלית נסגרות
.4המעלית עולה לקומה המבוקשת
.5המעלית נעצרת
.6הדלתות נפתחות
.7כפתור הקומה כבה
( .8אם הגיע לקומה המבוקשת -המשתמש יוצא מהמעלית)
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי UML
השהיה נסגרות הדלתות
.9לאחר
32
קורס ניתוח מערכות מידע
- use-caseמעלית
)המשך(
הסתעפויות
חלופה :הקומה המבוקשת נמצאת מתחת לקומה
הנוכחית
4א -המעלית עולה לקומה העליונה ביותר שהתבקשה
4ב -המעלית יורדת לקומה המבוקשת
חלופה" :מעלית שבת"
- 1בטל.
- 4-9חוזר בכל קומה בדרך
חריגה :עצירת חירום (יזומה ע"י המשתמש)
- 6-9בטלים
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
33
קורס ניתוח מערכות מידע
תרשים מחלקות ()Class Diagram
מחלקה ()class
מזהה ()identifier
מאפיינים ()attributes
ממומשים באמצעות מבני נתונים
פעולות ()operations
ממומשות באמצעות שגרות /פונקציות
זיקה ( )associationבין מחלקות
סוג הזיקה (ירושה ,הכלה)... ,
תפקיד ()role
ריבוי ()multiplicity
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
מזהה
מאפיינים
פעולות
34
קורס ניתוח מערכות מידע
Class Stereotypes
Entity
Boundry
Controller
מחלקה ללא אוביקטים Abstract
למנוע הורשה מרובה Interface
תת תוית של הישות ,הרשאות Actor
חוקי ארגון כמו מחירונים Policy
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
)(גרסה ראשונה
תרשים מחלקות- מעלית
Button
illuminated: Boolean
ירושה
inheritance
Elevator Button
Floor Button
m
2m - 2
communicates
with
36
זיקה
association
1
communicates
with
Elevator
doors_open: Boolean
UML
n
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]
קורס ניתוח מערכות מידע
)(גרסה מתקדמת
תרשים מחלקות- מעלית
Button
illuminated: Boolean
Elevator Button
Floor Button
mn
2m - 2
controls
controls
1
1
controls
n
Elevator
37
Elevator Controller
1
1
controls
n
Elevator Doors
doors_open: Boolean
UML
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]
קורס ניתוח מערכות מידע
זיקה Association -
“ הכרות” בין עצמים ממחלקות שונות
סוגים מיוחדים של זיקה
ירושה ,הכללה ()inheritance, generalization
הגדרת מחלקה על בסיס מחלקה אחרת
הכלה ,הקבצה ()aggregation
עצם ממחלקה כלשהי “מכיל” עצמים ממחלקה אחרת
זוג סדור של שתי מחלקות
עצם ממחלקה " Bמכיר" עצם ממחלקה A
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
38
קורס ניתוח מערכות מידע
זיקה Association -
מאפייני הזיקה
שם ()name
סדר ()ordering
האם הזיקה היא מ A-ל ,B-או להיפך?
תפקיד ()role
מה תפקידו של כל אחד מהעצמים בקשר
ריבוי ()multiplicity
האם הזיקה קיימת תמיד?
האם ההכרות היא עם יותר מעצם אחד?
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
39
קורס ניתוח מערכות מידע
דוגמאות לזיקה
name
policy
holder
Person
1..*
refers to
0..*
has
multiplicity
Insurance
Contract
husband
has
wife
1
married to
40
זיקה עצמית
self association
refers to
0..*
1
refers to
0..1
is expressed in a
Insurance
Policy
role
insurer
Insurance
Company
UML
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]
קורס ניתוח מערכות מידע
)Association class( מחלקת זיקה
• לפעמים לזיקה עצמה ניתן לתת מעמד של מחלקה
Company
Person
employee
employer
0..*
*
association class
association part•
visual tie•
class part•
boss
0..1
Job
salary
worker
41
*
UML
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]
קורס ניתוח מערכות מידע
ירושה ()Inheritance
A
מחלקה Bיורשת את מחלקה :A
Bמכילה את כל המאפיינים של A
Bמכילה את כל הפעולות של A
בנוסף B ,מכילה מאפיינים ופעולות משל עצמה
“B is-a A”
B היא תת-מחלקה ( )sub-classשל A
מינוח לא מוצלח ,כי ב’ מכילה יותר מאשר א’
Bהיא הכללה ( )generalizationשל A
דוגמאות לירושה:
דוגמה רעה :ריבוע יורש מלבן
דוגמה טובה :ריבוע ומלבן יורשים מרובע
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
מאפיינים
פעולות
B
מאפיינים
פעולות
42
קורס ניתוח מערכות מידע
הקבצה ()Aggregation
כל עצם ממחלקה Bמכיל עצם (עצמים) ממחלקה A
”“A is-part-of B
שני סוגי הקבצה:
ל A-יש קיום גם ללא B
שמות נוספים:
A
B
logical aggregation
shared aggregation
קיומו של Aתלוי בקיומו של B
שמות נוספים:
physical aggregation
non-shared aggregation
composition
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
A
B
43
קורס ניתוח מערכות מידע
דוגמאות להקבצה
1
}{ordered
*3..
Point
הקבצה פיסית ()composition
• למעגל יש נקודה אחת (מרכז)
• נקודת המרכז משויכת אך ורק עם מעגל זה
• קיומה של נקודת המרכז מותנה בקיומו של
המעגל
Circle
radius
Polygon
*
*
כיוון ()navigation
• המעגל “מכיר” את הסגנון
• הפוליגון “מכיר” את הסגנון
• הסגנון אינו נדרש להכיר את העצמים
המפנים אליו...
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
1
Style
color
isFilled
1
הקבצה לוגית ()aggregation
• לפוליגון יש סגנון
• סגנון יכול להיות משותף למספר פוליגונים
• הסגנון הוא ישות עצמאית ,וקיומו אינו
מותנה בקיום פוליגון
44
קורס ניתוח מערכות מידע
תלות Dependency -
יחס ) (relationshipבין שתי ישויות
ישות עצמאית
ישות תלויה
שינוי כלשהו בישות העצמאית עלול להשפיע על הישות התלויה
תלות יכולה להתקיים גם בין ישויות שאין ביניהן זיקה ) (associationכלשהי
לדוגמה :עצם ממחלקה כלשהי מועבר כפרמטר לפונקציה של מחלקה אחרת
כיוון התלות לא בהכרח זהה לכיוון הזיקה
Seat
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
Building
Theater
45
קורס ניתוח מערכות מידע
UML Diagram Usage - Summary
Development
Phase
UML Diagrams
Analysis
Use Cases, Class Diagrams, Activity
Diagrams, Collaboration Diagrams,
Sequence Diagrams
Class Diagrams, Collaboration
Diagrams, Sequence Diagrams, State
Diagrams, Component Diagrams
Deployment Diagrams
Collaboration Diagrams, Sequence
Diagrams, Class Diagrams, State
Diagrams, Component Diagrams,
Deployment Diagrams
Package Diagrams, Deployment
Diagrams
Design
Development
Implementation
46
UML
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]
קורס ניתוח מערכות מידע
← אפיון דרישות2/3 שלב
עדיף יחד עם העיצוב הלוגי
Use Case Diagram
תרשים המבטא את הדרך בה המשתמש מפעיל את
המערכת
:שדות תקניים לתיאור
Name
Identifier
Description
Actors
Frequency
Pre Conditions
Post Conditions
Extend / Include
Assumptions
Basic course of Action
Alternate course of Action
Change History (change control)
(open) Issues
Decisions (for next version)
UML
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]
קורס ניתוח מערכות מידע
שלב ← 4הגדרת החוקיות
Class Diagramהמודל הסטטי
← מתאר את החוקה העסקית בארגון
תרגום של ה← Use Case
שמות העצם ← מחלקות
תיאור שמות העצם ← תכונות
פעלים ← שיטות
תרגום ה← ERD
הוספה של השיטות
לפי של ההורשה
הגדרה
] [58שיעור - 6אפיון ועיצוב מערכות
OO
UML
קורס ניתוח מערכות מידע
שלב ← 5התנהגות על פני ממד הזמן
Sequence Diagramהמודל הדינמי
()1
האוביקטים ,לא המחלקות ,הם החיים בממד הזמן
ציר ← Yהאנכי ← הוא ממד הזמן
התרשים מבטא את התנהגות האוביקטים בתהליך
אילוצים :תנאי או התניית ביצוע בקיום ביטוי מסוים
הערות :בעיקר ה← Use Case
יצירה ופירוק
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
שלב ← 5התנהגות על פני ממד הזמן
()2
Collaboration Diagramתרשים שיתוף
שיתוף בין ה← Class Diagramלבין Seq. Diagram
קשר בין המחלקות ,ללא ממד זמן ,בהקשר של האוביקטים
נועד לבדוק נכונות של התרשימים הקודמים
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
שלב ← 5התנהגות על פני ממד הזמן
State machineתרשים (מכונת) מצבים
()3
המנתח מכין עבור התוכניתנים:
המצבים השונים של אוביקט מסוים במחזור חיי המערכת
לעתים תוך ציון הערכים של התכונות
האירועים המשפיעים על מצבו
סדר האירועים
התנהגות סדרתית של האוביקט
מצבים מיוחדים:
לא ניתן להגיע אליו
לפי
] [58שיעור - 6אפיון ועיצוב מערכות
סתום ,אי אפשר לצאת ממנו
מבוי
OO
UML
קורס ניתוח מערכות מידע
שלב ← 5התנהגות על פני ממד הזמן
()4
Activity Diagramתרשים פעילויות
בשלב האפיון או העיצוב ,להמחשה של ה← Business Logic
דומה לתזרים זרימה
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
התרשימים
Use case Diagramחלוקת המערכת לפונקציונאליות לצורך הגדרת הדרישות
Use case Description
Class Diagram
Sequence Diagram
Collaboration Diagram
State Chart Diagram
Activity Diagram
Component Diagram
↔ החוקים העסקיים ,ללא פירוט התכונות
↔ התנהגות בעולם הלקוח ברצף הזמן
לפי הפונקציונאליות של ה← Use Case
↔ שילוב של CDו← SD
↔ מצבי האוביקט במחזור החיים
↔ הפעילויות במערכת בחלוקה לתחומי אחריות
הרכיבים
Deployment Diagramתרשים תלויות ← פריסה לוגית ,גיאוגרפית/ע"ג החומרה
Object Diagramתרשים האוביקטים
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
שימוש בתרשימים
אפיון
דרישות
ניתוח
+
עיצוב לוגי
עיצוב
Use case Diagramאת תיאור המצב הקיים תיארנו DFDאו
ERD
Use case Description
↔ החוקים העסקיים ,ללא פירוט התכונות
↔ הפונקציונאליות ,עץ המסכים
תיאור התהליכים באמצעות המודל הדינמי
להתחיל שלבי פריסה ומימוש
בסיס הנתונים ← הגדרת Entityוהסוגים של התכונות
Class Diagram
Sequence Diagram
אם צריך:
Object Diagram
Collaboration Diagram
State Chart Diagram
Class Diagramהתייחסות לטכנולוגיה:
← Sequence Diagramפירוט של כול תרשימי האפיון
← Activity Diagramפירוט כול תהליך/אירוע כולל רמת האבטחה
← הוספה של המסכים ל←Class Diagram
←
שגרות דרך הגדרת השיטות וה←Controllers
באמצעות Activity Diagramאו עברית מבנית
Classהופך לטבלה
←
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי UML
Diagram
Componentבנייה של קבצים ,הוספה של תרשים המרכיבים
מימוש
קורס ניתוח מערכות מידע
MVC - Data Model View Controller
חלוקה של ה← Class Diagram
Entityמחלקות מידע ← מאגר נתונים
Boundryמחלקות תצוגה :מסכים ,דוחות
Controllerמחלקות ניהול:
השולפות מהתצוגה ,מעבדות ושומרות
שולפות ממאגר הנתונים ,מעבדות ושומרות
כול מסך הוא אוביקט ,הקשר הוא על ידי עץ המסכים
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
CASE - Computer Aided Software Engineering
כלי אשר:
אליו מגדירים את ה←UML
← Upper Caseניהול האפיון ,העיצוב ,הבדיקות
Lower Caseמפתח את:
בסיס הנתונים
התוכנה
] [58שיעור - 6אפיון ועיצוב מערכות OOלפי
UML
קורס ניתוח מערכות מידע
? שאלות
UML תרשימי
http://www.smartdraw.com/tutorials/software/uml/tutorial_01.htm
http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/diagrams.htm
58
UML
לפיOO אפיון ועיצוב מערכות- 6 [ שיעור58]