Soumettre la recherche
Mettre en ligne
Object oriented analysis and design by alberta university - Typed
•
2 j'aime
•
376 vues
Ohad Esperansa
Suivre
Summary of Object Oriented Analysis and Design course.
Lire moins
Lire la suite
Design
Signaler
Partager
Signaler
Partager
1 sur 17
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
תיכנון נכון - שחר סעדו
תיכנון נכון - שחר סעדו
Asher Barak
איך חותכים עיצוב כמו נינג'ות בשנת 2013
איך חותכים עיצוב כמו נינג'ות בשנת 2013
Sagi Shrieber
Sales Kit To Be Excellent Account Manager By Zion Levi
Sales Kit To Be Excellent Account Manager By Zion Levi
shelymika
קורס אנדרואיד
קורס אנדרואיד
Nathan Krasney
Angular 2 introduction
Angular 2 introduction
Nathan Krasney
291210773 new-cto-architect-2015
291210773 new-cto-architect-2015
Inbalraanan
351141071 big-data-2016
351141071 big-data-2016
Inbalraanan
PWR Labs 2020 Course Catalogue
PWR Labs 2020 Course Catalogue
Dana Davidi
Recommandé
תיכנון נכון - שחר סעדו
תיכנון נכון - שחר סעדו
Asher Barak
איך חותכים עיצוב כמו נינג'ות בשנת 2013
איך חותכים עיצוב כמו נינג'ות בשנת 2013
Sagi Shrieber
Sales Kit To Be Excellent Account Manager By Zion Levi
Sales Kit To Be Excellent Account Manager By Zion Levi
shelymika
קורס אנדרואיד
קורס אנדרואיד
Nathan Krasney
Angular 2 introduction
Angular 2 introduction
Nathan Krasney
291210773 new-cto-architect-2015
291210773 new-cto-architect-2015
Inbalraanan
351141071 big-data-2016
351141071 big-data-2016
Inbalraanan
PWR Labs 2020 Course Catalogue
PWR Labs 2020 Course Catalogue
Dana Davidi
107 HTML & CSS
107 HTML & CSS
Eran Lahav
Pwr Labs 2020 course catalogue
Pwr Labs 2020 course catalogue
Dana Davidi
Private cloudwarnings
Private cloudwarnings
amir
PWRLabs 2020 Course Catalogue
PWRLabs 2020 Course Catalogue
Dana Davidi
Business Models in the Creative Industry - B (Hebrew)
Business Models in the Creative Industry - B (Hebrew)
Erez Yerushalmi
UPA I srael event 2011- Ignite
UPA I srael event 2011- Ignite
tlavie
Adobe Creative Cloud For Teams
Adobe Creative Cloud For Teams
Motty Ben Atia
מערכות מסחר מקוונות – מה נכון (dan@codecape.com)
מערכות מסחר מקוונות – מה נכון (dan@codecape.com)
Dan Porat
Uxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_ux
Yaniv Michaeli
Rm saa s for share 2
Rm saa s for share 2
Manageware
Rm saa s for share 2
Rm saa s for share 2
Manageware
Rm saa s for share
Rm saa s for share
Manageware
דרופל וחווית משתמש
דרופל וחווית משתמש
Michael Shmilov
Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product
Manageware
Agile For Website Managers
Agile For Website Managers
Udi Salant
STKI's Israeli IT Vendor Discovery Newsletter 4q2011
STKI's Israeli IT Vendor Discovery Newsletter 4q2011
Dr. Jimmy Schwarzkopf
מהי אנליזה סטטית?
מהי אנליזה סטטית?
TrinitySB
Dover is now a Noetix Disributer
Dover is now a Noetix Disributer
Boaz Dombrover
213313799 dbms-2013
213313799 dbms-2013
Inbalraanan
חוברת קבלנים למייל
חוברת קבלנים למייל
ROMAN GOLUB
Contenu connexe
Similaire à Object oriented analysis and design by alberta university - Typed
107 HTML & CSS
107 HTML & CSS
Eran Lahav
Pwr Labs 2020 course catalogue
Pwr Labs 2020 course catalogue
Dana Davidi
Private cloudwarnings
Private cloudwarnings
amir
PWRLabs 2020 Course Catalogue
PWRLabs 2020 Course Catalogue
Dana Davidi
Business Models in the Creative Industry - B (Hebrew)
Business Models in the Creative Industry - B (Hebrew)
Erez Yerushalmi
UPA I srael event 2011- Ignite
UPA I srael event 2011- Ignite
tlavie
Adobe Creative Cloud For Teams
Adobe Creative Cloud For Teams
Motty Ben Atia
מערכות מסחר מקוונות – מה נכון (dan@codecape.com)
מערכות מסחר מקוונות – מה נכון (dan@codecape.com)
Dan Porat
Uxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_ux
Yaniv Michaeli
Rm saa s for share 2
Rm saa s for share 2
Manageware
Rm saa s for share 2
Rm saa s for share 2
Manageware
Rm saa s for share
Rm saa s for share
Manageware
דרופל וחווית משתמש
דרופל וחווית משתמש
Michael Shmilov
Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product
Manageware
Agile For Website Managers
Agile For Website Managers
Udi Salant
STKI's Israeli IT Vendor Discovery Newsletter 4q2011
STKI's Israeli IT Vendor Discovery Newsletter 4q2011
Dr. Jimmy Schwarzkopf
מהי אנליזה סטטית?
מהי אנליזה סטטית?
TrinitySB
Dover is now a Noetix Disributer
Dover is now a Noetix Disributer
Boaz Dombrover
213313799 dbms-2013
213313799 dbms-2013
Inbalraanan
חוברת קבלנים למייל
חוברת קבלנים למייל
ROMAN GOLUB
Similaire à Object oriented analysis and design by alberta university - Typed
(20)
107 HTML & CSS
107 HTML & CSS
Pwr Labs 2020 course catalogue
Pwr Labs 2020 course catalogue
Private cloudwarnings
Private cloudwarnings
PWRLabs 2020 Course Catalogue
PWRLabs 2020 Course Catalogue
Business Models in the Creative Industry - B (Hebrew)
Business Models in the Creative Industry - B (Hebrew)
UPA I srael event 2011- Ignite
UPA I srael event 2011- Ignite
Adobe Creative Cloud For Teams
Adobe Creative Cloud For Teams
מערכות מסחר מקוונות – מה נכון (dan@codecape.com)
מערכות מסחר מקוונות – מה נכון (dan@codecape.com)
Uxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_ux
Rm saa s for share 2
Rm saa s for share 2
Rm saa s for share 2
Rm saa s for share 2
Rm saa s for share
Rm saa s for share
דרופל וחווית משתמש
דרופל וחווית משתמש
Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product
Agile For Website Managers
Agile For Website Managers
STKI's Israeli IT Vendor Discovery Newsletter 4q2011
STKI's Israeli IT Vendor Discovery Newsletter 4q2011
מהי אנליזה סטטית?
מהי אנליזה סטטית?
Dover is now a Noetix Disributer
Dover is now a Noetix Disributer
213313799 dbms-2013
213313799 dbms-2013
חוברת קבלנים למייל
חוברת קבלנים למייל
Object oriented analysis and design by alberta university - Typed
1.
Object Oriented Analysis
and Design by Alberta University יש שלי לפרויקט האםDesign?טוב ה את לשפר ניתן האם-Design? בכלל שם יש האםDesign? יש שלתוכנה נדע איךDesign?טוב ?בקוד מקומות בעוד לשינויים "גל "אפקט יוצר שלנו בקוד קטן שינוי האם ( שלי בקוד חוזר שימוש לעשות קשה האםReuse?) אחרי שלי הקוד את לתחזק קשה האםRelease? וניתן ,חוזר לשימוש ניתן ,גמיש :יותר להיות שלי לקוד יגרום נכון עצמים מונחה תכנון .לתחזוקה מודול1: SW-Designבאספקט מבחינה :( הנמוכים יםLow-level).המערכת של SW-Architecture( הגבוהים באספקטים מבחינה :High-Level.המערכת של ) המלצהבקוד פשטות על לשמור :–אם.נכון שזה כניראה ,פשוט זה ,גמיש ,מאורגן נשאר הקוד ,בקוד דברים לייצוג באוביקטים שימוש ע"יולשימוש ניתן .חוזר מאורגן–"עספציפ ופונקציות קשורים מאפיינים השמת יברור במקום יות .אותו למצוא ושקל גמיש–בתוך מודולרי באופן ,בקלות להשתנות יכולים המאפיינים/הפרטים .הקוד יתר על השפעה ללא ,האוביקט חוזר לשימוש ניתן–אוביקטיםלכתוב שצריך הקוד כמות את מפחיתים .פשוטות תוכניות על ושומרים לעצמם מודעים אוביקטים: .מיקומו ואת מימדיו את מכיר כיסא .שלו המפרט את יודע פלאפון תוכנה בפיתוח תהליך: 1.נכתוב.הבעיה/בעיות על המבוססות דרישות 2.מודל ניצורConceptual Designו-Technical Designed Diagrams. 3..בקוד והדיאגרמות המודלים את נממש 4..טסטים קוד עם מראש להתחיל–מועד!!! לפורענות .והעיצוב הדרישות של הבנה חוסר להיות עשויה
2.
1.דרישות–תנאיםבמ להתממש שחייבים
יכולות אובקשת על בהתבסס וצר .המשתמש/לקוח.רוצה הלקוח מה להבין חייביםיותר להיות צריך ,לכך מעבר שק דברים עוד על לעלות ולנסות ""חקרניםלדריש שוריםלא שאולי דברים ,ולמוצר ות שהלקוח דברים יש אם אולי להבין .עליהם חשב לא שהלקוח דברים לחלץ או ,נאמרו תכולות על לוותר :להקריב מוכן שהלקוח דברים יש אם אולי להבין .עליהם חשב לא מ ריצה בשביל מסויימות.יותר הירה 2.Design–לאחרלהפיק הוא הבא שלב ,נכתב הדרישות שסטConceptual Design & Technical Design. Conceptual Design–ניצור.דרישות של התחלתי סט באמצעות אותו .התוכנה מוצר של מתאימות ואחריויות קשרים ,רכיבים מזהה המודל סימונים הם אלה .תפיסתיים דגמים באמצעות ביטוי לידי בא זה עיצוב .יסופקו שהדרישות איך עבור התחלתית מחשב מספקים אשר ויזואליים לז נוכל שכזה דגם שנצייר ברגעלא שעשויים או חסרים אשר רכיבים הות עוד לנו שיוסיפו או הלקוח מצד הבהרה יתר ידרשו אלה פגמים ואז .לעבוד עבודתDesign. -הרכיב אחריות–משימה.לבצע במודול רכיב שעל Technical Design–פההרכיבים מרביתהאחרויות כן וכמו ,והקשרים הפי בתהליך התוכנה (של שלהם.מתוארים )תוחמסתיים לא הטכני העיצוב זוקקו הרכיבים אשר עדלכדילקבל כדי מספיקה ספציפיות.לפרטים עיצוב לתתי הרכיבים בפיצול מתחיל טכני עיצוב ,זאת לבצע מנת על-קטנים רכיבים לפרטים מעוצבים שיהיו כך מספיק ספציפיים שיהיו ויותר יותראנו ואז . תת עבור מפורט עיצוב לתת יכולים-.רכיבשרטוטים של רב מספר ישנו .הרכיבים של וההתנהגות המבנה את לתאר שיכולים שונים טכניים :להמחשה דוגמהמטבנית שני ומצד ,הבית בתכנון עצמו בפני רכיב הוא חן לציי עשוי הטכני העיצוב .הריצוף כמו רכיבים לעוד אותו לפרקשהריצוף ן .הרבה ולאפות לבשל הולך הלקוח אם בייחוד ,לניקוי קל מחומר ייעשה .שלנו ומהצד הלקוח מצד פשרות נצטרך זה בתהליך גם לסיכום: .עצמים מונחה הינו שלנו שהעולם כיוון עצמים מונחה באופן למדל קל יש עצם לכלDetails & Responsibilitiesיוד עצם וכל.שלו הפרטים/מאפיינים את ע לדוגמה דרישה(User Story) As a learner, I want to search for relevant courses through a 'search-page'. Components: courses, search-page. Search-page has responsibility: search for relevant courses.
3.
.חסרים רכיבים ישנם
כי לב נשים לברורו הדרישות את נעשהה את ונציג ,יותר ת-mock-up:הבא מה-mock-up:קשרים מספר נזהה אנו הנ"ל של האחריות את למלא שיוכל כדי ,חיפוש דף עבור ,למשלשדה צריך הוא חיפוש לבצע ו .תוצאות ודף חיפוש כפתור ,חיפוש .תוצאות ודף חיפוש כפתור ,חיפוש לשדה קשרים לו שיש חיפוש לדף יתורגם גם זה כגון הפרטים שם ,טכני לעיצוב נעבור רעיוני מעיצובComponents, Connections and Responsibilities.מימוש לידי לבוא יכולים Components–לאחרהם ,מספיק שזוקקולאוספים מתורגמים,פונקציות של רכיבי או מחלקותח מכן לאחר .אחרים םאל לקיםיותר הרבה פשוטה בעיה מייצגים ה .לפתח אינדיבידואלי באופן יכולים שמפתחים
4.
איכויותמתחרות מעצבים כאשר.חשובות החלטות
הרבה לבצע עלינו ,הדרישות את לספק ובבואנו ,תוכנה -דרישות לספק–החלטותיכלל תוכנה בעיצוב מסויימותהאיכות בתכונות איזונים ו ,ביצועים :כגון ,השונות.ואבטחה נוחות -בפתרון להתחרות יכולות איכויות איך על לחשוב מהותי זה ,תוכנה מעצבים כאשר .הולמת פשרה ולקבוע מסויימות סיטואציות תחת מוצע -לרוב פשרותאיכ ,לאבטחה באשר יצוצו.לשוק זמן ,מוצר ות -Context–חשובפתרו בחירת איזו לקבוע כדי.האיכויות איזון לשם נכונה הינה ן יצ נמוך פשע באיזור בית ,למשלטר.גבוה פשע באיזור מבית שונה אבטחה סידור ך ב עם שיחה ,תוכנה עבור.ההקשר את להבין תעזור העניין עלי עיצ על שישפיע מה ,איכויות להן צפות כיצד ניראה.התוכנה וב פונקציונליות דרישות–מתארותהמער מהלמשל .לבצע נדרשת האפליקציה או כת יכ שתהיה פונקציונלית דרישה מדיה לאפליקציתל ולת.מלא באורך סרט הוריד צר תוכנה עיצוב טבעי באופןנכונה בצורה דרישה כזאת שיכסה פתרון לצייר יך, כלומרנכונות.לספק מפתח איכות הינה פונקציונליות לא דרישות–מצייניםמה עושות האפליקציה או המערכת טוב כמה שהןעדריש .ושותכמה מתארת שכזאת ה.מסויימות בסיטואציות רצה התוכנה טוב מלא באורך סרט להוריד ,למשלבמהירותספציפיתולהריץשכזה סרטאילוץ תחת זיכרון הגבלת. כמו .ויעילות במשאבים שימוש ,ביצועים יכללו לספק אחרות איכויות ,לנכונות מעבר לא צריך מימוש כןשיש אחרות שאיכויות כך .בעתיד שינויים פשר:בתוכנה לספק .תחזוקתיות ,גמישות ,חוזר שימוש תמידנשאל.צריך לאחור תאימות או אבטחה ,תחזוקה ,ביצועים כמה Class Responsibility Collaborators (CRC) .התוכנה לייצוג בכרטיסיות שימוש יצירת בזמן מדרישות ואחריויות קשרים ,רכיבים מזהים אנוConceptual Design. זה בשלבהמ את מספקים אנו.הדרישות את נכסה איך לגביי הראשוניות חשבות ב-Technical Designלתת בכדי ויותר יותר מזוקקים אלו וקשרים רכיבים איך למדנו , .למימוש קלים אותם שהופך מה .טכניים מאפיינים להם ראשוני שלב הינו הקשרים וכן שלהם האחריויות ,הרכיבים שזיהוי ולמרותטוב .אותם לייצג דרך המחשנו לא עדיין ,תוכנה בעיצוב .שלנו העיצוב עם לשחק מסוגלים להיות ב המידע לייצוג דרך נלמד-high levelה יצירת בזמן-Conceptual Design. כרטיסי הם אלהCRC (Class Responsibility Collaborator). כרטיסיCRCלנ עוזריםל שלנו הרכיבים את לארגן והאחריויות את לזהות ,מחלקות פעולה ישתפו הם כיצד ולקבוע ,שלהם.השני עם אחד .שלנו בעיצוב הרכיבים את ולזקק לארגן ,לתעד לנו יעזרו אלה
5.
Component's name–הולךל-Class name, אחריויותל-Responsibilities. ל
הולכים והקשרים-Collaborators. לדוגמה–בנק: -כ מכניס לקוח...חשבון מאזן בדיקת ,הפקדה ,משיכה פעולות לבצע ויכול רטיס -נשים ,משימותיו את להגשים כדי הלקוח רכיב עבור נחוצה הכספומט ומכונת מאחר ה תחת-Collaboratorsאת שלוBank Machine.
6.
-ו:הכספומט למכונת כעת -לקוח
את נשים למשל .יחדיו פעולה המשתפים רכיבים מיקום ע"י דברים לארגן נוכל הבנאב עיצוב לסמלץ ונוכל מימין הכספומט מכונת ואת משמאל ק-של טיפוסי .כה עד המערכת -.כרטיס להכניס הלקוח אחריות את ונגלם נניח -כ נשאל כניראה זה בתהליך?הלקוח את מאמת הכספומט יצד -.הבנק ,רכיב עוד לנו תביא זו שאלה ואז -.הלקוח את לאמת מתקשר הכספומט שם -והכס מאחר וכעת:רשת רכיב עוד נכניס ,הבנק עם לדבר כדי ברשת יעזר פומט
7.
-נוסף רכיב עם
פעולה תשתף שהרשת נעשה אז ,מאובטחת תהיה שהרשת נרצה הצפנה לו שנקרא. -.הבנק עם מאובטחת בתקשורת תומך זה רכיב -מתת מורכב כשלעצמו הכספומט כן כמו-:למשל כמו קטנים רכיבים o.הכרטיס קורא o.מקלדת o.לצ'קים פתח/חריץ o.)כסף (מנפק לכסף פתח/חריץ .משלו כרטיס לקבל יכול כזה אחד כל כאשר -הכרטיסים שיטת באמצעות.בדרישות או בעיצוב מגרעות לחשוף ניתן המזלג על דיאגרמות: Use-Case.התוכנה עם לעשות רוצה המשתמש מה : הי הבאה השאלה."המשתמש של הצורך את להשיג "איך א באמצעות זאת >=Sequence Diagram. כלUse Caseסידרת באמצעות תושג מטרה וכל המשתמש של מטרה מייצג .ומערכות מכשירים ,אנשים בין אינטרקציות Sequence Diagram.אלו לאינטרקציות ייצוג מהווה עיצוב עקרונות ארבעה: 1.אבסטרקציה/הפשטה–פהמושג עבור רלוונטיות והתנהגויות תכונות איזה נקבע ( בהקשרContext).מסויים 2.אנקפסולציה/כימוס–מבטיחהכחלק .מחלקה באותה יחד נאספים אלה שמאפיינים ניצור כך .והתנהגויות מאפיינים עבור הרשאות נגדיר מהענייןממשק.חוץ כלפי ה:מטרההסתרהוכך הערכים את חושפים אנו בה המימוש דרך ושל מאפיינים של .חוץ כלפי ממשק יוצרים 3.Decomposition/הרכבה–פירוק( קטנות ליחידות,מגלגלים מורכבת מכונית הכולל החלק לעיתים .)...שלדהס יאצילתת על מכויות-החל(כך שלו קיםהמקרר ו מאחר .)למקפיא האוכל של והאחסנה ההקפאה סמכות את מאציל- decompositionלתת חלוקה מאפשר-אזי ,ברורים חלקיםדישהחלקים מובן .נפרדיםש קבוע מספר להיות יכולים הכולל לחלקשל דינאמי מספר או חלקים ל החי לאורך גם לב נשים .חלקים.וחלקיו הכולל האוביקט של ים
8.
Lifetime Closely Related–למשלחיים
אורך אותו בעלי הינם ומקפיא מקררהאחד , י לא.השני בלי להתקיים כול Not Related–למשל.והמוצרים מקרר בין שיתוף יש לעיתיםחלקים.לשתף ניתן לא ולפעמים מבתוכנה העיצוב עקרונות ימוש -Abstraction–נחליט""שנזרוק והפונקציות המשתנים אסופת על ומשתנים פונקציות נגדיר .מסויים להקשר בהתאם ,מחלקה לתוךעם .משמעותיים שמות -Encapsulation–נגדירולפונקציות למשתנים גישה הרשאות שישמשו הפונקציות את נבחר ,שכתבנוממשק(Interface)של האוב( אותם ונחשוף יקטהרשאותpublic)יהיו הדברים יתר וכל ( יותר מחמירות בהרשאותprotected, private…). -Decomposition–נדון:סוגים בשלושהAssociation, Aggregation, Composition. Association–מוגדר" מסוג כקשרSome."קשר ,כלומר זה עם זה יתקשרו אלה אוביקטים .אוביקטים שני בין רופף ( פעם מדיfor some time.) דוגמה–הקשרביןpersonל-airline.מחזיק לא אדם אבל ,מטוס קרובות לעיתים.איתו באינטרקציה להיות יכול .אנשים הרבה עם באינטרקציה להיות יכול מטוס ,כן כמו .בשני תלוי לא אחד ואף ,מטוסים ומספר אנשים מספר ישנם Aggregation–זהומסוג קשרhas-aשל היכן ,-ישנם ""שלם הש חלקיםייתכן .לו ייכיםה בין חלקים של שיתוף-""שלמים זה בקשרה בין הקשר .כלומר ,חלש נחשב לחלקיו שלם .מצב בכל עצמאי באופן להתקיים יכולים והשלם שהחלקים זמהותי חלק .לצוות נוסעים מטוס שבין לקשר דומה ה ל ,הצוות הוא מהמטוסהצוות לא,להמריא המטוס יוכל לא בל להתקיים חודל לא המטוס ,זאת עם אךכנ"ל .עליו הצוות י מת חלק שהם הצוות לגבייו המטוס פעולחודלים אינם .המטוס על אינם הם אם מושמדים או מלהתקיים
9.
oיהיו למטוס0.צוות אנשי
יותר או oמסוג אוביקטCrew Memberע"י להתווסף יכול0או של אוביקטים יותרAirliner. Composition–הכלהכ המוכרת ,חלקים של בלעדית- "has-a".חלקיו בלי להתקיים יכול לא השלם ,כלומר .חזק אם .להתקיים יפסיק השלם ,מחלקיו אחד אפילו יפסיד אם גישה תיתכן בדר"כ .איתו יחד נהרסים חלקיו ,נהרס השלם .וחדריו בית למשל כך .השלם מתוך רק לחלקים .חדרים של יותר או אחד אוביקט יהיו בית מסוג לאוביקט
10.
-Generalizationירושה עם:
11.
-Generalizationממשקים מימוש עם: Coupling
and Cohesion Module–יחידה.מתודה או מחלקה למשל כמו הינם עיצוב של מורכבות להעריך אותנו ישמשו אשר מטריקותCoupling & Cohesion. Coupling–למודו מודול שבין מורכבות/סיבוכיות.אחרים לים Cohesion–מורכבות.המודול בתוך .המערכת את לנהל יותר קל יהיה הנ"ל השניים באמצעות רע לעיצוב דוגמה–פאזל–נוכללכל לא אבל אחר לחלק אחד חלק לחברחלק .שנרצה הינו טוב עיצובלגו–שםחלק כל לחבר נוכלחוזר שימוש לבצע ובעצם חלק לכל (reuse).חלקים של הינו זה מודול כי נאמר ,אחר במודול יתרה תלוי מודול כאשרtightly coupledביחס .)בפאזל (כמו לאחרים ניתן אם ,שני מצדא מודול בקלות לחברהינו זה מודול כי נאמר ,אחרים למודולים חד loosely coupled.אחרים למודולים ביחס.)בלגו (כמו ל נשאף-couplingשיהיהLoose or Lowל ולא-tight. ה את להעריך בבואנו-coupling:הבאים הדברים את בחשבון ניקח ,מודול של oDegree–מספר.לאחרים אחד מודול שבין הקשריםעל לשמור נשאף degreeלמשל .נמוךמספר דרך אחרים מודולים עם לתקשר צריך מודול אם , ה אז ,צרים ממשקים או פרמטרים-degreeוה נמוך יהיה-couplingיהיה .משוחרר
12.
oEase–אומר"כמהב ."ומובנים ברורים
לאחרים מודול שבין הקשרים- couplingהמימוש את להבין הצורך בלי לביצוע קלים יהיו שהקשרים נרצה .אחרים מודולים של oFlexibility–זהב .בנוכחי האחרים המודולים את להחליף קל כמה עד- coupling.בעתיד בקלות תחליף לקבל יוכלו אחרים שמודולים נרצה Cohesion.מודול של האחריויות ברורות כמה מציין High cohesion–מתקייםמטרה לו שיש או ,בלבד אחת משימה מבצע המודול אם .ברורה Low cohesion–מתקייםאם( לכמס מנסה המודולEncapsulate)ממטרה יותר .ברורה לא מטרה לו שיש או ,אחת ל נשאף-Chi-Cohesion. .לפצל הזמן כניראה זה ,אחת מאחריות יותר שלנו למודול ויש במידה ורע לטוב דוגמאות: למחלקה.מהסנסור וטמפרטורה לחות לקבל :מטרות שתי זו אז ,ברורה אחת מטרה אין זו ולמחלקה מאחרמ סובלת שהיא י-Low Cohesion. להבין בכדי אותה ולקרוא ,המחלקה את לפתוח יצטרך זו מחלקה של ולקוח מאחר פונקציית עושה מהget.ברורה לא כאן שהמטרה הריי , לא זהLoose Coupling.
13.
ברור שלא מה–של
המשמעות מהcontrolFlagכדי במחלקה להציץ שצריך כך , אנק מספק לא זה .לתת ערך איזה על להחליטב פגם ישנו כן וכמו פסולציה-Easeכי , ,ברורה אינה המתודה.במתודה להשתמש עלינו מקשה שזה כך :יהיה מחלקה לכל ברורה מטרה עם תקין עיצוב המחלקות תוכן את להבין כדי אנקפסולציה להפר נצטרך לא. שמתודת להניח הגיוני יהיה זה כאןgetוכן ,הלחות את מחזירה הלחות חיישני של שמתודתget.טמפרטורה מחזירה הטמפרטורה חיישני של יהיה אלו במחלקות שימוש שיעשה אחר מודול זה באופןloosely coupled. סמכויות הפרדת אח,תוכנה עיצוב עקרונות של המטרות ת:שהיא מערכת ליצור לנו לעזור הינה .לתחזוקה ניתנת ,חוזר לשימוש ניתנת ,גמישה ( סמכויות הפרדת :נקרא אלה מעקרונות אחדSeparation Of Concerns). Concern–מושג.לבעיה פתרון במתן שחשוב דבר כל הוא שבבסיסו ,כללי מאוד בסופרמרקט למשל–הדאגהאופה אני איך ,הבשר את קוצץ אני איך ,להיות יכולה אלה דאגות .המדפים את מאחסן אני ואיך ,תשלום אכבד אני איך ,הלחם את .אדם בני לשרת בכדי העסק את מפעילים כאשר חשובות ?אלה בעיות עם להתמודד בכדי מאורגן הסופר כיצד אז דאגה בכל מתמקדות אשר בסופרמרקט נפרדות מחלקות ישנןת מציגה דאגה כל .ת- .שלה הספציפיות לדאגות לפנות ואיך לעשות מה יודעת מחלקה וכל ייחודיות בעיות דו באופן.בעיה ופותרת מתנהלת תוכנה מערכת גם מה ישיכ מושגים שנםלהיות וליםמופשטים.הבעיה מרחב סמך על איךשהפשטותממומשו אלהב ת.דאגות לעוד להוביל יכול ,תוכנהאלה מדאגות חלק עשוייםשל בסופו מוצג מה ?מפעיל הוא מה ?מייצג המימוש מידע איזה :לכלול ?דבר שאנחנו איך את מבטאים אנו ,ובנייתה התוכנה פתרון עיצוב ברגעלפנות יכולים לתתי-ל פיצולם ע"י ,השונות הבעיות-Separate Sections. מפתח רעיון הינו דאגות פיצולב שמופעל.והתכנות עצמים המונחה המידול עת
14.
מ כאשר מופרדות
החשובות הדאגות:שלמדנו העיצוב עקרונות את פעילים Abstraction, Encapsulation and Generalization. רעיון כל.משלו והתנהגויות מאפיינים עם ,נפרד למכשול מוביל הבעיה שבמרחב ( נכמסים אלה והתנהגויות מאפייניםEncapsulated)משלהם קוד מחיצת לתוך הנקראת.מחלקה המערכת שאר ע"י המחלקה נראותכך .נפרדות הן שלה והמימושהמימוש שמאפייני .להשמר יכולה ממשק שדרך שהנראות בעוד ,להשתנות יכולים .רבות ממחלקות כחלק מורכבת להיות יכולה מחלקה כן כמו נוכלג לזהותלתוך ויוכללו יופרדו מכן שלאחר ,מחלקות בין משותפים ורמיםSuper Class. ,רואים שאנו כפי אזיSeparation Of Concernsתהליך לאורך המתמשך תהליך הינו .העיצוב דוגמה–למחלקת ההאכלה ואת שלו למחלקה כלב של האכילה פעולת פיצול .בעלים rmation HidingInfo .טוב מאורגנת להיות צריכה היא ,טוב מעוצבת תהיה שמערכת כדי לגישה שלנו בהתייחסות נדון ופה שונים עיצוב עקרונות עם זאת עושים איך ראינו .למידע .עבודתו לביצוע שרלוונטי למידע רק גישה להיות צריכה כלשהו למודול נגבי."מידע "הסתרת באמצעות השונים המודולים של גישה ל מידע הסתרת–מאפשרהכמות את לאחרים לתת שלנו המערכת של למודולים של המינימלית.אחר דבר כל להסתיר ובכדי ,נכון בהם להשתמש כדי הנדרשת מידע לי מאפשר זה דבר–,המפתחאחרים שמפתחים מבלי בנפרד מודול על לעבוד .המודול של המימוש פרטי את לדעת צריכים ה באמצעות זה במודול להשתמש יכולים הם כך-interface.שלו באשעש דברים ,כללי ופןפר כמו ,להשתנות ויים.מוסתרים להיות צריכים ,מימוש טי שאינ ודבריםממשקים דרך נחשפים ,האחריויות כמו ,להשתנות צריכים ם (interfaces). עם נקשרת בדר"כ מידע הסתרתEncapsulation. Information Hiding through Encapsulation משתמש אנומאפיינים לקשור כדי באנקפסולציה יםהמחלקה לתוך והתנהגויות .גישה שיספק ממשק לחשוף וכדי ,שלהם המתאימה אכיוון ,ההתנהגויות של המימוש את להסתיר יעיל באופן ,דואגת כבר נקפסולציה .ספציפיות מתודות של הממשק דרך הינה היחידה שהגישה יכולו אחרות מחלקותהמי על להסתמך רק ת,)(ותיעוד מספקת המתודה שחתימת דע .עצמו המימוש על ולא המ את לשנות לנו מאפשרת אנקפסולציה.הנדרשת התוצאה את לשנות בלי ימוש :דוגמה String a = "Hello"; ;)("World"concatString b = a. Concat.המימוש פרטי ידועים ולא ממשק דרך נחשף
15.
להסתיר ניתן ,כן
כמוattributesבמחלקה קריטי מידע של שינוי יתאפשר שלא בכדי , ישנו אם למשל .ישיר באופןattributeנרצה לא ,במחלקה מתודות מספר שמשמש למחלקה מחוצה להשתנות שיוכל. באמצעות מתאפשרת המידע הסתרתAccess Modifiers.)גישה (הרשאות Access Modifiers–מגדיריםי חיצוניות מחלקות האםלמאפיינים לגשת וכלו .ילדיה עם תשתף אב מחלקת והתנהגויות מאפיינים איזה מגדירים וכן ,ולהתנהגויות ב-JAVA:public, protected , default, private. Public–נגיש.)להתנהגויות מימוש שינוי מאפשר (לא במערכת מחלקה לכל Protected–נגישבאותו ולמחלקות ,יורשות למחלקות ,המכילה למחלקהpackage. Default–נראהכמוprotected. Private–רק.המכילה למחלקה ירושה בעיות הקדמה OOD.תוכנה של בחלק אותם ולמדל הבעיה בעולם מושגים לקחת מנסה בהינבאמצעות שלנו המודלים את לזקק עלינו ,מורכבת להיות יכולה הבעיה כמה תן עקרונ.והכללה הרכבה ,אנקפסולציה ,אבסטרקציה :עיצוב ות לקב מצריך אלו מעקרונות אחד כל.שלי במערכת אותם ליישם איך לגביי החלטה ל Abstraction–איזה?צריך והתנהגויות מאפיינים Encapsulation–כיצדנו המאפיינים את יחדיו קבץתכונותתאפשר כיצד ?אלה ת ?אליהם הגישה Decomposition–האם?יותר קטנים לחלקים שלי המחלקות את לפשט ניתן Generalization–האם?להכליל שניתן שלי האוביקטים מבין משותפים דברים ישנם וירושה הכללה ניתנות ,נקיות תוכנה מערכות ליצירת לתרום שיכול חזק עיצוב כלי הינה נכונה ירושה .חוזר ולשימוש לתחזוקה ?בירושה לרעה משתמשים שאנו נדע איך ישנן.ירושה מסתמנת כאשר אליהן מודעים להיות נקודות מספר oע את נשאלצמינו–"מאפיינים לשתף כדי בירושה משתמש אני האם לתתי אחרת משמעותית תוספת כל ללא ,והתנהגויות-?שלי המחלקותאם אב מחלקת כזה במיקרה .בירושה לרעה משתמש אני אז כן היא התשובה .בנים ללא מספיקה דוגמה–נניחעושים ואנוDesignמגוון כל את למדל עלינו .לפיצרייההפיצות בהינתן .שלה בתפריט שישתוספות של הקומבינציות כללפי והשמות,צות במחלקת להשתמש מספיק זה יהיה אך ,בירושה להשתמש מפתה זה יהיה .אב oעקרון של שבירה–Liskov Substitutionתת :אומר זה עקרון .-יכולה מחלקה תת אם ורק אם האב מחלקת את להחליף-את משנה אינה המחלקה הפונקציו.האב מחלקת של נליות חיה היורשת לוויתן במחלקת :זה עקרון להפרת דוגמה
16.
ממחלקת מצפים שהיינו
כפי מתנהג אינו שהלוויתן כלומר )(חיה האב.להתנהג הצו את תואמת אינה וירושה במידההאם נשקול ,שלנו רך Decomposition.יותר הולם פתרון יהיה .מירושה עדיפה הרכבה בסמרטפון לדוגמהלסמרטפון המיד .ומצלמה טלפון כמו מאפייניםשראינו כפי הוא ול כיצד לדעת צריך לא הסמרטפון כאשר ,קודמים בפרקים לבנות שעלינו נזכור .עובדות ומצלמה טלפון של המחלקות שהן מערכותReusable, Flexible and Maintainable. בעיצוב אוביקטים של קטגויות לתתי שלנו האוביקטים את מפרקטים אנו כאשר-של שונים סוגים לזהות ניתן ,אוביקטים .אוביקטים כל באופן.אוביקטים של סוגים שלושה שינם לי ( ישות אוביקטיEntity)–הםיישוי לאיזשהם מתאימים שהם כיוון ,מוכרים הכישל ות הבע במרחב האמיתי העולם.)יישות אוביקט הוא אז ,כיסא שמייצג אוביקט לי יש (אם יה באוביק כללי אופןשל התכונות על ידעו אלו טיםויהיו ,עצמם את לשנות יוכלו גם הם .עצמם כאשר .זאת לעשות איך לגביי חוקים להםונפרק ,לתוכנה שנכניס האוביקטים את נזהה אותםהק .היישות אוביקטי את נזהה תחילה אנחנו ,קטנים יותר לאוביקטיםטגוריות .התוכנה של הטכני העיצוב על לחשוב נתחיל כאשר ,מאוחר יותר יגיעו האחרות ( ממשק אוביקטיBoundary)–אלהמע שבין הגבול על שיושבים אוביקטיםיכול זה .רכות אחרת תוכנה מערכת מול שעובד אוביקט להיות–כמו.מהאינטרנט מידע שמכיל אוביקט אוב להיות יכול זהממנו לקבל וכן ,למשתמש מידע להציג אחריות עם יקטinputאנו אם . משתמש ממשק מפתחים–האספקטסבי ,התוכנה של הויזואליבעיקר שאנחנו להניח ר כל .ממשק אוביקטי על עובדיםאוביקעם מתמודד אשר טאחרת מערכת(מול,משתמש .ממשק אוביקט להוות יכול ,)האינטרנט או ,אחרת מערכת
17.
( בקרה אוביקטיControl)–אלהתיאום/תי
על האחראים אוביקטים הםאוביקט נגלה .ווךים שישלוט אוביקט להחזיק תורם זה את נמצא וכאשר ,גדול אוביקט לפרק כשננסה כאלה .האחרים האוביקטים עללמצוא נוכלדוגמאות.העיצוב בתבניות לכך רבות חזקה דוגמה–PatternMediatorהאובי של הפעילויות בין מתאמת אשרהשונים קטים סטטוס שנשמר כךLoosely Coupled. של דוגמהMediatorהינהchatפעולות יש לצ'אט .המשתתפים בין מתווך אשרRegister & Sendשאליו הצ'ט את מכיר משתתף כל .פעולות לו ויש מחובר הואSend & Receive.
Télécharger maintenant