עיצוב מעלה-מטה ומטה-מעלה – הבדלי גרסאות

מ
שוחזר מעריכה של 212.150.215.240 (שיחה) לעריכה האחרונה של Yonidebot
אין תקציר עריכה
תגית: הסרת קטגוריות
מ (שוחזר מעריכה של 212.150.215.240 (שיחה) לעריכה האחרונה של Yonidebot)
'''מעלה-מטה''' ו'''מטה-מעלה''' הן אסטרטגיות ל[[פיתוח תוכנה]], המופיעות גם בהקשר של [[תורת המערכות|תורות המערכות]] הומניות ומדעיות.
== מעלה מטה ==
 
במודל '''מעלה-מטה''' מנוסחת תחילה סקירת מערכת בקווים כלליים בלי להיכנס לפרטים של שום חלק ממנה. לאחר מכן מנוסח כל חלק של המערכת לפרטיו, ואז כל פרט חדש עשוי להיות מנוסח שוב תוך שמגדירים אותו לפרטים נוספים עד שכל המפרט מפורט דיו כדי לתקף את המודל. מודל מעלה-מטה מעוצב לעתים קרובות תוך הסתייעות ב"[[קופסה שחורה (הנדסה)|קופסאות שחורות]]" שמקלות את מימוש סקירת המערכת, אך באופן שאין בו די להבנת המנגנון שביסוד המערכת.
לפי מודל מעלה-מטה מודל זה תהליך הקריאה מודרך דווקא מלמעלה-מהמשמעות המצויה במוחו של הקורא: הידע שלו, נסיון חייו וציפיותיו. בעזרת ידע זה הקורא מצליח להבנות את המשעות של הכתוב.
 
במודל מעלה-מטה הקורא המיומן עובר מן הדפוס למשמעות, בלי לעבור מצופן אחד לאחר. כלומר, אין כאן מעבר מכתב לדיבור ואחר כך למשמעות
בניגוד לזאת, במודל '''מטה-מעלה''' מוגדרים תחילה החלקים הפרטיים של המערכת לפרטיהם, ואז מצורפים החלקים יחדיו לרכיבים גדולים יותר, שבתורם מצורפים גם הם עד להשגתה של המערכת השלמה. אסטרטגיות שמבוססות על זרימת מידע מטה-מעלה עשויות להראות כחיוניות ומספקות עקב היותן מבוססות על ידיעת כל הגורמים שעשויים להשפיע על חלקיה היסודיים של המערכת.
והקורא פעיל בתהליך; הוא אינו מפענח את סימני הכתב באופן אוטומטי, אלא מפעיל בצורה מושכלת את מאגרי הידע המאוחסנים במוחו (דקדוקי, סמנטי, פרגמאטי-סיטואציוני), ובעזרתם הוא יוצר את משמעות הטקסט: מפתח השערות לגביו, בוחן אותן כדי לאמתן או להפריכן, וחוזר חלילה.
 
תהליך של מעלה מטה בקריאה זה המילה שאנו מנחשים ואנו מנחשים מתוך הקשר ומתוך הידע הקודם שיש לנו כלומר אני משתמשת בידע הקודם שבעיקרו נשאן על ניחוש ועל הידע הקודם
==מדעי המחשב==
מעלה-מטה ומטה-מעלה הן אסטרטגיות לפיתוח תוכנה, המופיעות גם בהקשר של תורות המערכות הומניות ומדעיות.
:כמה חלקים של פרק זה תורגמו ממקור שהתבסס על הספר האינטרנטי [http://www.perldesignpatterns.com/?PerlDesignPatterns Perl Design Patterns]
במודל מעלה-מטה מנוסחת תחילה סקירת מערכת בקווים כלליים בלי להיכנס לפרטים של שום חלק ממנה. לאחר מכן מנוסח כל חלק של המערכת לפרטיו, ואז כל פרט חדש עשוי להיות מנוסח שוב תוך שמגדירים אותו לפרטים נוספים עד שכל המפרט מפורט דיו כדי לתקף את המודל. מודל מעלה-מטה מעוצב לעתים קרובות תוך הסתייעות ב"קופסאות שחורות" שמקלות את מימוש סקירת המערכת, אך באופן שאין בו די להבנת המנגנון שביסוד המערכת.
===רקע היסטורי===
יתרונות וחסרונות
בתהליך [[פיתוח תוכנה]] הגישות מעלה-מטה ומטה-מעלה משחקות תפקיד מרכזי.
שיטת מעלה-מטה
 
עיצוב מעלה-מטה הוא המקור העיקרי של [[שפת תכנות|שפות תכנות]] [[תכנות פרוצדורלי|פרוצדורליות]] מסורתיות. עיצוב זה קודם בשנות השבעים של [[המאה ה-20]] על ידי [[הרלן מילס]] ו[[ניקלאוס וירת]]. מילס פיתח תפישות של [[תכנות מובנה]] לשימוש מעשי, שאותן הוא בחן בפרויקט מיכון אינדקס הארכיון של ה[[ניו יורק טיימס]] בשנת 1969. הצלחתו ההנדסית והניהולית של הפרויקט הובילה לתפוצת גישת מעלה-מטה דרך [[IBM]] ושאר תעשיית המחשבים. ניקלאוס וירת, שפיתוח [[שפת תכנות|שפת התכנות]] [[פסקל (שפת תכנות)|פסקל]] הוא אחד מהישגיו, כתב את המאמר המשפיע "Program Development by Stepwise Refinement".
 
שיטת מעלה-מטה הועדפה ב[[הנדסת תוכנה]] עד לעלייתה של פרדיגמת [[תכנות מונחה עצמים]] בשנות השמונים המאוחרות של המאה העשרים. בשפות מונחות עצמים כדוגמת [[C Plus Plus|C++‎]] או [[Java]] הועדפה שיטת תכנות מטה-מעלה.
 
גישות מודרניות לעיצוב [[תוכנה]] משלבות בדרך כלל את הגישות מעלה-מטה ומטה-מעלה. מחד, הבנה של המערכת בכללותה נחשבת לרוב כחיונית לעיצוב טוב, מה שאופייני לגישת מעלה-מטה. ומאידך, ברוב הפרויקטים לפיתוח תוכנה מנסים להשתמש בקוד קיים להשגת כמה יתרונות, והאפשרות לשימוש חוזר בקוד אופיינית לגישת מטה-מעלה.
 
===תכנות===
עיצובו של [[תכנות]] מעלה-מטה מתחיל בהגדרת מכלול של חלקים ואז פיצולם לחתיכות קטנות בזה אחר זה. עד שלבסוף, כשהרכיבים מפורטים דיים כך שניתן יהיה לקודד אותם, נכתבת התוכנה.
 
הטכניקה לכתיבת תוכנה בגישת מעלה-מטה היא לכתוב [[פונקציה (תכנות)|פונקציה]] ראשית שנותנת שמות לכל הפונקציות העיקריות שידרשו לה. בהמשך, צוות התכנות בוחן את המפרט הדרישות של כל אחת הפונקציות הללו והתהליך חוזר על עצמו. לבסוף פונקציות מפוצלות אלו יבצעו פעולות בסיסיות, שהקוד שלהן יכול להיכתב בתמציתיות. כאשר כל אותן פונקציות מגוונות כבר נכתבו, התוכנה מוכנה.
 
שיטת מעלה-מטה מדגישה תכנון והבנה מלאים של המערכת. משמעות הדבר היא, שכתיבת הקוד אינה מתחילה עד שהושגה רמה מספקת של פרטים בעיצובם של לפחות כמה מחלקיה של המערכת. דבר זה מעכב בדיקה של יחידות פונקציונליות בסיסיות של המערכת עד להשלמתו של חלק משמעותי מהעיצוב.
 
לעומת זאת, שיטת מטה-מעלה מדגישה כתיבת קוד ובדיקות מוקדמות, שעשויות להתחיל מיד משהוגדר המודול הראשון. גישה זו טומנת בחובה סיכון שבקידוד מודולים בלא שיהיה ברור כיצד הם אמורים להיות מקושרים לחלקיה האחרים של המערכת, וקישור כזה עלול להיות קשה מכפי שזה נראה במחשבה ראשונה.
 
הטכניקה לכתיבת תוכנה בגישת מטה-מעלה היא לעצב ולקודד באופן מלא מערכת בעלת פונקציונליות חלקית, ואז להרחיב את המערכת עד למימוש כל דרישות הפרויקט.
 
===יתרונות וחסרונות===
'''שיטת מעלה-מטה'''
 
יתרונות:
•צוות*צוות התכנות נותר ממוקד במטרה
•בשעה*בשעה שהתכנות מתחיל אין יותר שאלות
•הקוד*הקוד קל למעקב, כיוון שהוא נכתב בשיטתיות ועם מטרה
 
חסרונות:
*תכנות מעלה-מטה עלול להכביד על הבדיקות, כיוון ששום תוכנה שניתנת לביצוע אינה קיימת עד סמוך לגמר ביצוע הפרויקט
 
'''שיטת מטה-מעלה'''
== הסטוריה של מעלה מטה: לפי Goodman, 1970, Smith,1979) ==
 
יתרונות:
 בשנות השבעים והשמונים של המאה העשרים, עם גבור ההתעניינות בקריאה, חברו בחקר הקריאה גישות פסיכולוגיות עם ידע בלשני. החוקרים המייצגים את הגישה הפסיכולינגווסטית בחקר הקריאה הדגישו הן את ההיבט הלשוני של תהליך הקריאה והן את ההיבט החשיבתי שלו.
*אפשרות לשימוש חוזר בקוד
 לדעת גודמן, תפקידו של הקורא בתהליך הקריאה הוא להבנות את משמעות הטקסט בעזרת הידע הקודם שברשותו ובעזרת רמזים בטקסט.
*ניתן לבצע בדיקות סמוך לתחילת הפרויקט
 כיצד הוא עושה זאת?
 הוא "מנחש" את המשמעות. בודק את ניחושיו במהלך הקריאה ומנסה להמיר את "ניחושיו" המוטעים באחרים הנראים לו מתאימים יותר.
 ב"משחק ההשערות הפסיכולינגווסטי" נעזר הקורא בשלוש מערכות רמזים:
 רמזים גרפמיים –פונמיים
 רמזים דקדוקיים משני סוגים: תחביריים ומורפולוגיים.
 רמזים סמנטים –תוכניים
לא תמיד מצליח הקורא להיעזר ברמזים השונים בטקסט. גודמן תפס שגיאות בקריאה כ"פספוס" של רמזים הטמונים בטקסט במהלך משחק ההשערות וטבע את המושג החטאת רמזים (miscue).
 שלבי פעולה של הקורא:
 הקורא מסתכל על הכתוב
 בחירת רמזים מתוך המידע החזותי
 החלטת הקורא (על סמך ידע עולם קודם)
 בחירת דפוס\ מילה
 כניסה לזיכרון
 בדיקה אם מתאים למה שציפינו (אישוש או הפרכה) ואם לא מתאים חוזר אחורנית עם העיניים.
 דשנט (Dechant,1991) טען כי אין זה מתאים לאפיין את הקריאה כ"משחק השערות פסיכולינגווסטי", כי אפשר לקבל מידע רב מסימני הכתב המייצגים מילים, ממבנה המילים הכתובות ומאופן הגייתן.
 פרפטי (1985) וסטנוביץ(1980) טוענים שאפשר לזהות מילים רבות גם בעזרת הקשר סמנטי ותחבירי מזעריים.
 ריינר ופולסטק(Rayner & Pollatsek, 1989) מצאו שה"ניחוש" ממלא תפקיד מזערי בתהליך הקריאה של קוראים מיומנים וכי בכיתות ד'-ה' ה"ניחושים" פוחתים במידה רבה.
 חסרונות המודל :
 דשנט (Dechant,1991) טען כי אין זה מתאים לאפיין את הקריאה כ"משחק השערות פסיכולינגווסטי", כי אפשר לקבל מידע רב מסימני הכתב המייצגים מילים, ממבנה המילים הכתובות ומאופן הגייתן.
 פרפטי (1985) וסטנוביץ(1980) טוענים שאפשר לזהות מילים רבות גם בעזרת הקשר סמנטי ותחבירי מזעריים.
 ריינר ופולסטק(Rayner & Pollatsek, 1989) מצאו שה"ניחוש" ממלא תפקיד מזערי בתהליך הקריאה של קוראים מיומנים וכי בכיתות ד'-ה' ה"ניחושים" פוחתים במידה רבה.
• תכנות מעלה-מטה עלול להכביד על הבדיקות, כיוון ששום תוכנה שניתנת לביצוע אינה קיימת עד סמוך לגמר ביצוע הפרויקט
במודל מעלה-מטה הקורא המיומן עובר מן הדפוס למשמעות, בלי לעבור מצופן אחד לאחר. כלומר, אין כאן מעבר מכתב לדיבור ואחר כך למשמעות
והקורא פעיל בתהליך; הוא אינו מפענח את סימני הכתב באופן אוטומטי, אלא מפעיל בצורה מושכלת את מאגרי הידע המאוחסנים במוחו (דקדוקי, סמנטי, פרגמאטי-סיטואציוני), ובעזרתם הוא יוצר את משמעות הטקסט: מפתח השערות לגביו, בוחן אותן כדי לאמתן או להפריכן, וחוזר חלילה.
תהליך של מעלה מטה בקריאה זה המילה שאנו מנחשים ואנו מנחשים מתוך הקשר ומתוך הידע הקודם שיש לנו כלומר אני משתמשת בידע הקודם שבעיקרו נשאן על ניחוש ועל הידע הקודם
מעלה-מטה ומטה-מעלה הן אסטרטגיות לפיתוח תוכנה, המופיעות גם בהקשר של תורות המערכות הומניות ומדעיות.
במודל מעלה-מטה מנוסחת תחילה סקירת מערכת בקווים כלליים בלי להיכנס לפרטים של שום חלק ממנה. לאחר מכן מנוסח כל חלק של המערכת לפרטיו, ואז כל פרט חדש עשוי להיות מנוסח שוב תוך שמגדירים אותו לפרטים נוספים עד שכל המפרט מפורט דיו כדי לתקף את המודל. מודל מעלה-מטה מעוצב לעתים קרובות תוך הסתייעות ב"קופסאות שחורות" שמקלות את מימוש סקירת המערכת, אך באופן שאין בו די להבנת המנגנון שביסוד המערכת.
יתרונות וחסרונות
שיטת מעלה-מטה
 
חסרונות:
== יתרונות ==
*קושי בשילוב מודולים של מערכת, כיוון ששילוב זה לא תוכנן מראש.
 
==מדעי המוח ופסיכולוגיה==
• צוות התכנות נותר ממוקד במטרה
במושגים אלה נעשה שימוש גם ב[[מדעי המוח]] וב[[פסיכולוגיה]]. דוגמה ניתן לראות במחקר על [[תשומת לב]] ויזואלית. אם תשומת לבך נמשכת לפרח בשדה, ייתכן פשוט שהפרח בולט יותר באופן ויזואלי מאשר השדה שבו הוא מוקף. המידע שגרם לך לשים לב לפרח הגיע אליך בסגנון של מטה-מעלה. תשומת לבך לא הייתה תלויה במודעותך לפרח, די היה בגירוי החיצוני. השווה סיטואציה זו עם אחת שבה אתה מחפש פרח. יש לך ייצוג של מה שאתה מחפש. כשאתה רואה את האובייקט שאתה מחפש, זה בולט. זו דוגמה לשימוש של מידע מעלה-מטה.
• בשעה שהתכנות מתחיל אין יותר שאלות
• הקוד קל למעקב, כיוון שהוא נכתב בשיטתיות ועם מטרה
 
==קישורים חיצוניים==
לא תמיד מצליח הקורא להיעזר ברמזים השונים בטקסט. גודמן תפס שגיאות בקריאה כ"פספוס" של רמזים הטמונים בטקסט במהלך משחק ההשערות וטבע את המושג החטאת רמזים (miscue).
*[http://www.acm.org/classics/dec95/ Program Development by Stepwise Refinement]
 שלבי פעולה של הקורא:
*[http://search.bwh.harvard.edu/pdf/ChangingYourMind.pdf PDF about visual attention]
 הקורא מסתכל על הכתוב
 בחירת רמזים מתוך המידע החזותי
 החלטת הקורא (על סמך ידע עולם קודם)
 בחירת דפוס\ מילה
 כניסה לזיכרון
 בדיקה אם מתאים למה שציפינו (אישוש או הפרכה) ואם לא מתאים חוזר אחורנית עם העיניים.
 דשנט (Dechant,1991) טען כי אין זה מתאים לאפיין את הקריאה כ"משחק השערות פסיכולינגווסטי", כי אפשר לקבל מידע רב מסימני הכתב המייצגים מילים, ממבנה המילים הכתובות ומאופן הגייתן.
 פרפטי (1985) וסטנוביץ(1980) טוענים שאפשר לזהות מילים רבות גם בעזרת הקשר סמנטי ותחבירי מזעריים.
 ריינר ופולסטק(Rayner & Pollatsek, 1989) מצאו שה"ניחוש" ממלא תפקיד מזערי בתהליך הקריאה של קוראים מיומנים וכי בכיתות ד'-ה' ה"ניחושים" פוחתים במידה רבה.
 חסרונות המודל :
 דשנט (Dechant,1991) טען כי אין זה מתאים לאפיין את הקריאה כ"משחק השערות פסיכולינגווסטי", כי אפשר לקבל מידע רב מסימני הכתב המייצגים מילים, ממבנה המילים הכתובות ומאופן הגייתן.
 פרפטי (1985) וסטנוביץ(1980) טוענים שאפשר לזהות מילים רבות גם בעזרת הקשר סמנטי ותחבירי מזעריים.
 ריינר ופולסטק(Rayner & Pollatsek, 1989) מצאו שה"ניחוש" ממלא תפקיד מזערי בתהליך הקריאה של קוראים מיומנים וכי בכיתות ד'-ה' ה"ניחושים" פוחתים במידה רבה.
• תכנות מעלה-מטה עלול להכביד על הבדיקות, כיוון ששום תוכנה שניתנת לביצוע אינה קיימת עד סמוך לגמר ביצוע הפרויקט
 
[[קטגוריה:הנדסת תוכנה]]
== תכונות ==
[[קטגוריה:מידע]]
 
[[en:Top-down and bottom-up design]]
עיצובו של תכנות מעלה-מטה מתחיל בהגדרת מכלול של חלקים ואז פיצולם לחתיכות קטנות בזה אחר זה. עד שלבסוף, כשהרכיבים מפורטים דיים כך שניתן יהיה לקודד אותם, נכתבת התוכנה.
[[da:Top down og bottom up design]]
הטכניקה לכתיבת תוכנה בגישת מעלה-מטה היא לכתוב פונקציה ראשית שנותנת שמות לכל הפונקציות העיקריות שידרשו לה. בהמשך, צוות התכנות בוחן את המפרט הדרישות של כל אחת הפונקציות הללו והתהליך חוזר על עצמו. לבסוף פונקציות מפוצלות אלו יבצעו פעולות בסיסיות, שהקוד שלהן יכול להיכתב בתמציתיות. כאשר כל אותן פונקציות מגוונות כבר נכתבו, התוכנה מוכנה.
[[de:Top-Down- und Bottom-Up-Design]]
שיטת מעלה-מטה מדגישה תכנון והבנה מלאים של המערכת. משמעות הדבר היא, שכתיבת הקוד אינה מתחילה עד שהושגה רמה מספקת של פרטים בעיצובם של לפחות כמה מחלקיה של המערכת. דבר זה מעכב בדיקה של יחידות פונקציונליות בסיסיות של המערכת עד להשלמתו של חלק משמעותי מהעיצוב.
[[es:Top-down y Bottom-up]]
[[fr:Technologie bottom-up]]
[[nl:Top-down design]]
70,370

עריכות