Presentation is loading. Please wait.

Presentation is loading. Please wait.

אפיון וניתוח מערכות מידע ( 094222 ) 1 גישה מוכוונת עצמים  גישה מוכוונת עצמים  גישה מוכוונת עצמים - ארגון המודל כאוסף של מחלקות שמשלבות מבנה נתונים והתנהגות.

Similar presentations


Presentation on theme: "אפיון וניתוח מערכות מידע ( 094222 ) 1 גישה מוכוונת עצמים  גישה מוכוונת עצמים  גישה מוכוונת עצמים - ארגון המודל כאוסף של מחלקות שמשלבות מבנה נתונים והתנהגות."— Presentation transcript:

1 אפיון וניתוח מערכות מידע ( 094222 ) 1 גישה מוכוונת עצמים  גישה מוכוונת עצמים  גישה מוכוונת עצמים - ארגון המודל כאוסף של מחלקות שמשלבות מבנה נתונים והתנהגות.  גישה מוכוונת עצמים :  4 העקרונות של גישה מוכוונת עצמים : – זהות ((identity – סיווג למחלקות (classification) – רב צורתיות (polymorphism) – הורשה ((inheritance

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

3 אפיון וניתוח מערכות מידע ( 094222 ) 3 סיווג למחלקות (classification)  אובייקטים בעלי אותו מבנה נתונים ( אותן תכונות, מצבים ) ואותה התנהגות ( שירותים, פונקציות ) מסווגים למחלקה.  מחלקה היא הפשטה שמתארת מאפיינים שחשובים למודל ומתעלמת משאר המאפיינים. – אובייקט הוא מופע של מחלקה.  לכל אובייקט יש ערכים לתכונות המחלקה, וניתן להפעיל עליו את שירותי המחלקה.

4 אפיון וניתוח מערכות מידע ( 094222 ) 4 תכונות של מחלקות (attributes) hours : Hour minutes : Minute seconds : Second AMorPM : Boolean hours : Hour minutes : Minute seconds : Second

5 אפיון וניתוח מערכות מידע ( 094222 ) 5 שירותים של מחלקות (methods) Hour getHour () Minute getMinutes () Second getSeconds () Boolean getPMorAM () Time getTime () Hour getHour () Minute getMinutes () Second getSeconds () void start () void stop () Time getElapsedTime ()

6 אפיון וניתוח מערכות מידע ( 094222 ) 6 קריאות לשירותים PMorAMFlag getPMorAM () void start () Time getTime () Time getElapsedTime () PMorAMFlag getPMorAM () void start () Time getTime () Time getElapsedTime () Hour getHour ()

7 אפיון וניתוח מערכות מידע ( 094222 ) 7 רב צורתיות (polymorphism)  אותו שירות ( אופרציה ) מתנהג בצורה שונה במחלקות שונות. למשל, שירות move של חלון שונה משירות move של כלי - שח.  שירות הוא הכללה של התנהגות של אובייקטים שונים. כל אובייקט יודע איך לבצע את שירותיו.  אובייקט O 1 שמפעיל שירות של אובייקט O 2 לא יודע את פרטי השירות של O 2 ולא יודע כמה מימושים יש לאותו שירות.

8 אפיון וניתוח מערכות מידע ( 094222 ) 8 Same Method – Different Implementations What´s the time? It is 8 p.m. What´s the time? It is 8 p.m.

9 אפיון וניתוח מערכות מידע ( 094222 ) 9 Same Method – Different Implementations What´s the time? You will never ask a stop watch for the time, because you know that you do not get an answer.

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

11 אפיון וניתוח מערכות מידע ( 094222 ) 11 Inheritance - Example GenericClock hours : Hour minutes : Minute seconds : Second Hour getHour () Minute getMinutes () Second getSeconds () Clock AMorPM : Boolean Boolean getPMorAM () Time getTime () StopWatch void start () void stop () Time getElapsedTime ()

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

13 אפיון וניתוח מערכות מידע ( 094222 ) 13 הפשטה ((abstraction  הפשטה שמתארת מאפיינים שחשובים למודל של המחלקה ומתעלמת משאר המאפיינים שלה.  הורשה ופולימורפיזם מקלים על ההפשטה.

14 אפיון וניתוח מערכות מידע ( 094222 ) 14 כמיסה ((Encapsulation  כמיסה - הפרדה בין ההיבטים החיצוניים של אובייקט, אשר גלויים בפני אובייקטים אחרים, לבין פרטי המימוש של האובייקט, שהנם מוסתרים.  הכמיסה מאפשרת שינויים ממוקדים ומקומיים. אפשר לשנות מימוש של שירות מבלי שהאופן שאובייקטים אחרים משתמשים בו משתנה.  האפשרות לשילוב מבנה נתונים והתנהגות מקל על הכמיסה.

15 אפיון וניתוח מערכות מידע ( 094222 ) 15 שילוב מבנה נתונים והתנהגות (combining data and behavior)  בגישה שאינה OO, כדי להציג למשל צורות גרפיות שונות על גבי המסך צריך הקוד לדעת להבחין מה סוגה של כל צורה גרפית ולקרוא לשירות המתאים.  בגישת OO התוכנית פשוט תקרא לשירות “ הצג ” של כל צורה. ההחלטה על איזה שירות יבוצע נעשה על ידי כל אובייקט בהתאם למחלקה שאליה הוא משתייך.

16 אפיון וניתוח מערכות מידע ( 094222 ) 16 שיתוף (sharing)  שיתוף : הורשה הן של מבנה נתונים והן של התנהגות.  ההבנה ששירותים של מחלקות שונות הם למעשה סוג אחד של שירות עוזרת להבנה ומפחיתה את מספר המקרים שיש להבינם ולנתחם.  שיתוף מאפשר Reuse.

17 אפיון וניתוח מערכות מידע ( 094222 ) 17 UML: Unified Modeling Language   Developed by the “Three Amigos”: Grady Booch, Jim Rumbaugh, Ivar Jacobson – –Each had their own development methodology – –More or less emphasis on notation   UML is not pure object-oriented – –Has structural diagrams – –Has procedural diagrams

18 אפיון וניתוח מערכות מידע ( 094222 ) 18 UML Models and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Models


Download ppt "אפיון וניתוח מערכות מידע ( 094222 ) 1 גישה מוכוונת עצמים  גישה מוכוונת עצמים  גישה מוכוונת עצמים - ארגון המודל כאוסף של מחלקות שמשלבות מבנה נתונים והתנהגות."

Similar presentations


Ads by Google