Presentation is loading. Please wait.

Presentation is loading. Please wait.

מונחים בסיסיים במודל השכבות

Similar presentations


Presentation on theme: "מונחים בסיסיים במודל השכבות"— Presentation transcript:

1 מונחים בסיסיים במודל השכבות
Web Services מונחים בסיסיים במודל השכבות כתבה: זהבה יעקבסון ליווי מקצועי : ארז קלר

2 חלוקת התכנית לשכבות , מדוע ?
השכבות. דוגמה.

3 חלוקת התכנית לשכבות , מדוע ?
נתבקשנו לפתח תוכנה לניהול חנות מכולת קטנה, בעל המכולת מעוניין בתוכנה אשר באמצעותה הוא יוכל לנהל קופה רושמת, קטלוג מוצרים, וניהול מלאי המוצרים בחנות. הנתונים עצמם צריכים להישמר במסד נתונים. התוכנית תקרא ותשמור את הנתונים במסד הנתונים. לצורך כך פיתחנו תוכנה אשר פונה למסד הנתונים לצורך ביצוע הפעולות הנדרשות. הן התוכנה והן מסד הנתונים מותקנים באותו המחשב. למעשה מדובר על מערכת בעלת שכבה אחת.

4 חלוקת התכנית לשכבות , מדוע ?
המשך עברו חלפו השנים והחנות גדלה, ממכולת שכונתית קטנה הפכה החנות למינימרקט, ויש צורך בעמדות קופה נוספות. ניסינו לקחת את התוכנה ואת מסד הנתונים ולהתקינם כמות שהם על המחשבים הנוספים.

5 חלוקת התכנית לשכבות , מדוע ?
המשך ... מסד הנתונים לא היה משותף ולכן נוצרו בעיות רבות. לדוגמה: בכל פעם שנוצר הצורך לעדכן את מחירי המוצרים צריך היה לעדכן בכל אחד מהמחשבים בנפרד. לא ניתן היה לדעת מה המלאי האמיתי שקיים בחנות.

6 חלוקת התכנית לשכבות , מדוע ?
המשך ... אז חיפשנו פיתרון טוב והגיוני יותר, הפרדנו את מסד הנתונים מהמחשבים והעברנו אותו לשרת המשותף לכולם:

7 חלוקת התכנית לשכבות , מדוע ?
המשך... חלפו ועברו להן עוד שנים העסקים האירו פניהם לבעל המכולת המאושר , העסק התרחב עוד יותר , וממינימרקט הוא הפך להיות רשת סופרמרקטים גדולה ועניפה. כמובן נוצרו צרכים חדשים ועימם בעיות חדשות, לדוגמה : כמות המידע היא ענקית ומסד הנתונים כבר לא היה חזק דיו על מנת לשרת את מאות המחשבים והקופות הרושמות אשר בסופרים השונים. היה צורך בתקשורת בין הסניפים, רצון להקים אתר מכירות באינטרנט, והמסד נתונים כשל לא אחת עקב העומס הרב, צריך דחוף להחליף את מסד הנתונים לאחד שמסוגל לעבד כמויות גדולות מאוד של מידע.

8 חלוקת התכנית לשכבות , מדוע ?
המשך... התקנו מסד נתונים חדש, מהיר וחזק בשרת, ופתאום כל המחשבים ברשת חדלו מלפעול. מדוע? משום שהתוכנות שיודעות להתחבר לעבוד מול מסד נתונים מסוג אחד, אינן יודעות כיצד להתחבר ולעבוד מול מסד נתונים אחר, וכמובן צריך היה לשנות את התוכניות אשר יושבות במחשבים בסופרים ולהתקינן מחדש בכל אחד מ- 137 הסניפים של הרשת, סה"כ עודכנו 3743 מחשבים בתוכנה החדשה, כאב ראש לא קטן.

9 חלוקת התכנית לשכבות , מדוע ?
המשך... האם ניתן היה מראש למנוע את כל שרשרת הבעיות, תקלות וכאבי הראש הללו? כמובן, באמצעות חלוקת התוכנית לשכבות ייעודיות.

10 חלוקת התכנית לשכבות , מדוע ?
מודל שלוש השכבות בפיתוח יישומים המודל מחלק כל יישום לשלושה רבדים : שכבת התצוגה (Presentation layer) או ממשק המשתמש (User interface) שכבת הביניים – הלוגיקה העסקית Business Logic Layer שכבת המידע – מסד הנתונים + Data Access layer

11 חלוקת התכנית לשכבות , מדוע ?
מודל שלוש השכבות בפיתוח יישומים יתרונות גמישות מערכת , כך שניתן לשדרג כל אחת מהשכבות ללא תלות בשכבה אחרת. קלות פיתוח המערכת. עדכון קוד התכנית הוא פשוט ומרוכז במקום אחד. שימוש חוזר בקוד הופך את היישום לקטן ופשוט יותר. תחזוקת המערכת פשוטה יותר.

12 חלוקת התכנית לשכבות , מדוע ?
השכבות. דוגמה.

13 השכבות שכבת התצוגה – Presentation Layer
שכבת התצוגה מכילה את רכיבי ממשק המשתמש , שכבה זו יכולה להיות מחלקה המנהלת את הקלט והפלט בממשק טקסטואלי (Console Application) או בממשק משתמש גרפי טופס ביישום חלונות (Windows Application ) או דף Application) ASP.NET (Web . בהרבה מערכות שכבת התצוגה מורכבת גם מ- Windows Forms וגם מ- Web Forms . תפקיד הממשק הגרפי לספק ממשק משתמש ברור וידידותי. שכבת התצוגה תטפל רק בקלט והפלט מהמשתמש ולא תכיל קטעי קוד ארוכים שאינם מטפלים בממשק המשתמש ( טופס רישום לקוח , רשימת המוצרים ומחיריהם , עגלת קניות ועוד).

14 השכבות שכבת הביניים – Business Logic
שכבת הביניים מהווה את הלוגיקה העסקית (Business Logic Layer ) ביישום ומכילה את המחלקות חישוב עלות סל הקניות , עלות משלוח ועוד. שכבת המידע – Data Access Layer השכבה השלישית , שכבת המידע Data Access layer מכילה את מסד הנתונים הכולל את נתוני החנות קטלוג מוצרים , מלאי , מאגר לקוחות ועוד ובנוסף את כל הקוד הנדרש לקריאת הנתונים או עידכונם במסד הנתונים.

15 השכבות חלוקת היישום לשכבות מאפשרת להגדיר תפקיד לכל חלק ביישום בצורה ברורה יותר. שינויים המתבצעים בשכבה אינן מחייבים שינויים בשכבות אחרות. לדוגמה: שינוי מסד הנתונים יגרור שינויים רק ב- DAL, שאר השכבות מנותקות ממסד הנתונים ולכן לא יושפען.

16 חלוקת התכנית לשכבות , מדוע ?
השכבות. דוגמה.

17 דוגמה דוגמא משחק מילים – התליין
על המסך מוצגת מילה והשחקן צריך לנחש את המילה בששה ניסיונות . בשלב ראשון השחקן בוחר נושא , המחשב בוחר באופן אקראי מילה ממאגר מילים, על המסך יוצגו מספר האותיות , בכל שלב שבו השחקן מגלה אות שגויה יתווסף על עמוד התליה , המשחק מסתיים כאשר השחקן ניחש את המילה או לאחר 6 כשלונות יוצג עמוד התלייה.

18 דוגמה דוגמא משחק מילים - התליין

19 דוגמה שכבת התצוגה השכבה הראשונה שכבת התצוגה מכילה את ממשק המשתמש
בדוגמא של המשחק ממשק המשתמש רצוי שיהיה גרפי, צבעוני וקל להבנה ולכן ממשק המשתמש יהיה ממשק חלונאי (Windows Application) או טופס ASP.NET (Web Application ) הממשק יכיל את רכיבי התצוגה בטופס.

20 דוגמה שכבת הביניים שכבת הביניים מגדירה את הלוגיקה, שכבה זו תכיל מספר מחלקות : משחק – המחלקה תכיל את המילה, מספר ניחושים נכונים ומספר ניחושים שגויים. שירות מילים – המחלקה תכיל את רשימת המילים לפי הנושא הנבחר ותטפל באחזור מילה חדשה מרשימת המילים , טעינת רשימת המילים ממאגר המילים לפי הנושא הנבחר.

21 דוגמה שכבת המידע השכבה השלישית , שכבת המידע - Data Access layer
מכילה את מסד הנתונים הכולל את טבלת סוגי המילים ואת טבלת המילים ואת המחלקות המטפלות בגישה למסד הנתונים.

22 דוגמה

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

24 דוגמה הדיאגרמה :

25 דוגמה התהליך – ממשק המשתמש : משתמש מקליד שם משתמש וסיסמה בממשק המשתמש.
ממשק המשתמש בודק שאכן הוקלד מידע כלשהוא ושהוא חוקי ברמת המבנה (אורך המחרוזת לדוגמה). ממשק המשתמש מצפין את המידע ושולח אותו לשרת. ממשק המשתמש לא בודק את תוכן המידע.

26 דוגמה התהליך – שכבת הביניים : שכבת הביניים מתרחשת בשרת.
המידע שמגיע משכבת התצוגה עובר פענוח. שכבת הביניים מבקשת מידע משכבת המידע, האם קיים משתמש שפרטיו נתקבלו. שכבת הביניים פונה למסד הנתונים ומריצה שאילתה, מקבלת תשובה ושולחת אותו חזרה לשכבת הביניים. שכבת הביניים בודקת את התשובה משכבת המידע ובמידה וקיים כזה משתמש אז היא מאפשרת לו להתחבר למערכת. במידה ולא קיים, המשתמש מתבקש לעבור תהליך רישום.

27 דוגמה התהליך – שכבת המידע : מקבלת מידע משכבת הביניים.
מריצה שאילתה על מסד הנתונים. מקבלת אוסף נתונים ומחזירה אותם לשכבת הביניים. במקרה של רישום משתמש חדש, השכבה מקבלת את הנתונים ומעדכנת את מסד הנתונים בפרטיו.


Download ppt "מונחים בסיסיים במודל השכבות"

Similar presentations


Ads by Google