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

Slides:



Advertisements
Similar presentations
UML: The Unified Modeling Language Excertos do livro: The Unified Modelling Language User Guide by Grady Booch, James Rumbaugh and Ivar Jacobson.
Advertisements

Object Oriented 33 MCSD DORON AMIR
ממיבחניםC שאלות ++.
תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
בתרגול הקודם הורשה: –ניתן להרחיב רק מחלקה אחת –כל מה שלא private – עובר בהורשה –המילה השמורה super –יצירת היררכיה –Object היא שורש ההיררכיה –דריסה אופרטור.
קורס Java מתקדם Design Patterns
האוניברסיטה העברית בירושלים
1 תוכנה 1 תרגול 14 – סיכום. 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public.
Chapter 1 Object-Oriented System Development
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
Graph Toolkit G-2 group Volansky Vered Hadas Yaron Ben Ezra Asaf Sharov Artyom.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 10 Packages.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
OOP Methodology.
אפרת פיטרסה / האוניברסיטה הפתוחה חקר מקרה של פיתוח מערכת למידה מבוססת אינטרנט ע"י קונסורציום של בתי ספר.
Principles of Object-Oriented Software Development Unified Modeling Language.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
1 הורשה ופולימורפיזם צורה ריבוע עיגול משושה. 2 מוטיבציה: מוטיבציה: אפליקציית חלונות טיפוסית – נעזרת בפקדים (Widgets) Button Textbox Label Form.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 5, 2001 Introduction.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
UML an overview Compiled by:Dr. Avi Rosenfeld Based on:
מערכות מסדי נתונים 1. הקדמה שקפים: אלדר פישר עריכה ותוספות: אמיר שפילקה.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.
1 Abstract Classes האם קיים אובייקט בשם רהיט? האם קיים אובייקט בשם כלי תחבורה? האם קיים אובייקט בשם כלי כתיבה? האם קיים אובייקט בשם אדם? האם קיים אובייקט.
תרשים המחלקות ותרשים העצמים 1. חלק שלישי: ניתוח ועיצוב מערכות מידע באמצעות שימוש ב-UML ומתודולוגיית ה-Unified Process (UP) E1 3 E2 2.
תוכנה 1 תבנית העיצוב Observer 1 שחר מעוז בית הספר למדעי המחשב אוניברסיטת תל אביב.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Costs and Filters Dr. Avi Rosenfeld Department of Industrial Engineering Jerusalem College of Technology
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
1 תרגול 11: Design Patterns ומחלקות פנימיות אסף זריצקי ומתי שמרת 1 תוכנה 1.
Basic Characteristics of Object-Oriented Systems
1 Why modeling? A model is a simplification of reality We build models so that we can better understand the system we are developing We build models of.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
עקרונות תכנות מונחה עצמים תרגול 11: OOP in C++. Outline  Where do the objects live ?  Inheritance  Slicing  Overriding vs Shadowing.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Java Reflection הוכן על-ידי אחמד ג'בארה
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
שימוש בעצם ממחלקה אחרת כמאפיין במחלקה הנוכחית
האוניברסיטה העברית בירושלים
Introduction to UML.
Systems Analysis and Design With UML 2
מחלקות classes.
ניתוח מערכות מידע א' הרצאה 3
השוואת נתונים למודל הסתברותי - כללית
תכנות מכוון עצמים בשפת JAVA
ממשקים - interfaces איך לאפשר "הורשה מרובה".
מערכות מסדי נתונים 1. הקדמה.
Introduction to UML.
תכנות מכוון עצמים ושפת JAVA
תכנות מכוון עצמים ושפת JAVA
מבוא לתכנות מונחה עצמים Object Oriented Programming
תוכנה 1 תרגול 13 – סיכום.
פולימורפיזם מתקדם ממשקים בC# עריכה ועיצוב: קרן הרדי
Presentation transcript:

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

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

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

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

אפיון וניתוח מערכות מידע ( ) 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 קריאות לשירותים PMorAMFlag getPMorAM () void start () Time getTime () Time getElapsedTime () PMorAMFlag getPMorAM () void start () Time getTime () Time getElapsedTime () Hour getHour ()

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

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

אפיון וניתוח מערכות מידע ( ) 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 הורשה (inheritance)  מחלקות מסודרות בצורה היררכית.  מחלקה שיורשת ממחלקה אחרת מקבלת ממנה את מבנה הנתונים ( תכונות ) שלה ואת שירותיה. כך נמנעות חזרות ומושגת הפשטה. אדם ת. ז. שם כתובת סטודנט ממוצע

אפיון וניתוח מערכות מידע ( ) 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 פיתוח מערכת בגישה מונחית עצמים  זיהוי וארגון המחלקות לפי מושגי עולם הבעיה, שאותו ממדלים, ולא לפי מושגי עולם המימוש. הדבר מאפשר שינויים ואבולוציה של המודל ביתר קלות.  התמקדות בפרטי מימוש בשלבים מוקדמים מדי של פיתוח המערכת מקטין את מרחב הפתרונות.

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

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

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

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

אפיון וניתוח מערכות מידע ( ) 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 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