תרשים מחלקות
נכון, אני מגיע מעולם התוכנה "הקלאסי", כלומר, זה שמחייב אפיון ברור של העצמים במערכת - על היחסים ביניהם. לכן אני מציב רף דרישות גבוה בעת אפיון אתר רציני. אני מסכים שבלוג אינו צריך אפיון כזה וגם אתר תדמית לא תמיד חייב כזה תרשים; אולם כל אתר שיש בו קצת מעבר לזה, מחייב תרשים מחלקות ברור.
מהו תרשים מחלקות
התרשים מורכב בעיקרו משני סוגים של סמלים: 1. ישויות; 2. קשרים בין הישויות. מלבן מייצג ישות וחץ מייצג קשר כאשר ראש החץ סמוך לישות המוצבעת וזנב החץ סמוך לישות המצביעה. תרשים המחלקות מהווה יכולת לראות באופן מידי, בצורה גרפית, מי הם המשתתפים במערכת ומה היחסים ביניהם. תרשים מחלקות הנו אחד התרשימים הניתנים לייצור באמצעות שפת UML - Unified Modeling Language - והוא בין הפשוטים ביניהם.
למה חשוב לייצר תרשים מחלקות
התרשים צריך להיכתב כחלק מתהליך האפיון ובתחילתו, לאחר הגדרת מטרות האתר וחשיפת הישויות במערכת. הוא יעזור מאוד הן למצוא בעיות באפיון (קשרים שגויים, הפוכים או מיותרים, ישויות שיש לבטל, וכדומה) והן לבנות את המערכת באופן נכון. בהמשך, הוא יהווה מעין מפה אליה ניתן לפנות כל אימת שרוצים להיזכר "מי נגד מי". בנוסף, תרשים המחלקות מהווה תיעוד לבונה האתר שיצטרך אולי לחזור ולעשות בו שימוש כאשר הוא רוצה להיזכר במבנה המערכת (למשל, לשם הוספת ישויות או לשם יצירת חיתוכי מידע מתוך מסד הנתונים). לבסוף, התרשים ישמש לשם הבנה ראשונית של המערכת על ידי בוני אתרים אחרים שיצטרכו לתחזק את האתר ולשדרגו בעתיד.
דוגמא לתרשים מחלקות פשוט
הרי תרשים מחלקות לדוגמא. לאלו שיודעים UML - הם כבר יראו שאולי חסרים פה נתונים שהם מכירים שעשויים לתת מידע נוסף (קרדינליות, הכלה, וכדומה) אולם אני מעדיף, לשם ההדגמה, להימנע מסיבוכיות כדי לעזור למי שאינו מכיר UML לראות עד כמה התרשים הוא למעשה אינטואיטיבי.

כלים לייצור תרשימים
ראשית, חשוב לציין שניתן כמובן לשרטט תרשים גם על נייר באמצעות עיפרון (כן, כן - Low-tech...) ואין שום חובה להשתמש בכלי דיגיטלי. עם זאת, השימוש בכלי דיגיטלי מאפשר שינוי נוח יותר של הישויות והיחסים ביניהן. התרשים לעיל מיוצר באמצעות הכלי הוובי החינמי (אך בקוד סגור) הנמצא באתר yUML.me. הכלי מאפשר להגדיר באמצעות טקסט פשוט מהן הישויות ומהם הקשרים ביניהן. הטקסט באמצעותו יצרתי את התרשים לעיל הוא:
[Order]->[Product]
[Order]->[Customer]
[Product]->[Category]
[Customer]->[Targeted group]
[Product]->[Targeted group]
להבדיל מתכנה גרפית המחייבת גרירה והנחה של האובייקט על הקנוואס, שימוש בטקסט פשוט כמו בכלי זה מאפשר לך להתנער מן הצורך בהזזה ידנית וסידור מחדש של האובייקטים לאור שינוי של הישויות או היחסים. לבוחרים לעשות שימוש בכלי זה, מומלץ לשמור את הטקסט על-מנת לחזור ולעשות בו שימוש בעתיד וכן כדי לגבות את תיעוד הישויות והיחסים ביניהן למקרה שהאתר יחדל מלתת שירות זה בעתיד. אגב, המעוניינים בכלי בקוד פתוח יכולים לנסות את MySQL Workbench.
יצירת תרשים מטבלות מסד הנתונים
איני חסיד של קידוד אוטומטי מתוך תרשים מחלקות ולכן לא התייחסתי לכך. לעומת זאת, התהליך ההפוך, קרי: קבלת תרשים כללי או פרטני בתור תיעוד מתוך מערכת קיימת, הנו מבורך לדעתי. אולם, המערכת אינה יכולה לדעת מה הייתה "כוונת המשורר" אלא רק מה קיים בפועל במסד הנתונים. היות שהישויות באות לידי ביטוי באמצעות טבלאות במסד, הרי שהתרשים שנוצר הנו למעשה ERD - תרשים ישויות וקשרים. ייצור התרשים הוא למעשה הפשטה גרפית מתוך קוד בשפה או במערכת ניהול מסוימות, ולכן הכלי מסופק, אם מסופק, על ידי האנשים שעובדים עם אותה המערכת. אני אתן דוגמא מתוך דרופל, מערכת הניהול המועדפת עליי.
תרשים ישויות-יחסים בדרופל
הקשרים באים לידי ביטוי באמצעות רכיבי Node reference ו- User reference הבאים בדרופל 6 כחלק מרכיב CCK ובדרופל 7 ברכיב ייעודי References (נמצא בבטא בשלב כתיבת מילים אלה). ניתן לייצר תרשים באמצעות הרכיב Node Relationships. הערה: הרכיב דורש מספר רכיבי-משנה נוספים, חלקם בשלב בטא, ולכן מומלץ לשימוש בגירסת פיתוח בלבד ולא בגירסת ייצור. הרי תמונה של תרשים ישויות-יחסים כפי שמסופקת על-ידי הרכיב בדרופל.






הוסף תגובה לא דרך פייסבוק