JOKOPOST | עיתון המאמרים והבלוגים המוביל בישראל

facebook twitter linkedin

ריקוד המכונה

פסאדו קוד – מה זה ולמה הוא חשוב למנתחי מערכות

ריקוד המכונה ארז כספי
אפריל 16
19:30 2019

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

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

באפיון של כל ישות במערכת יש להוסיף טבלת חוקים עסקיים במבנה מוגדר. הטבלה מורכבת משלוש עמודות: עמודה ראשונה היא שם החוק: שם קצר ותמציתי לחוק העסקי; עמודה שנייה היא הטריגר: תנאים להפעלת החוק. טריגרים יכולים להיות מסוג צד מסך – אירועים המתרחשים במסך, כגון הצגת מסך (on load) ושינוי ערך (on change) בשדה, ויכולים להיות מסוג צד שרת – אירועים המתרחשים בשרת, כגון יצירה (create), עדכון (update) ומחיקה; עמודה אחרונה בטבלה היא תיאור החוק: תיאור כללי קצר וברור, רצוי כולל הסבר על התועלת העסקית שתצמח מהחוק העסקי. כמו כן יש לנסח את החוק העסקי בצורה מובנית ככל האפשר, רצוי באמצעות פסאודו-קוד.

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

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

לדוגמה, נאמר שהמערכת צריכה למנוע יצירה של איש קשר כפול. שם החוק הוא "בדיקת כפילויות" והטריגר שלו יהיה Pre Create. המערכת צריכה לוודא שלא קיים מופע איש קשר (contact) עם המאפיינים האלה: פעיל (מצב = פעיל) ודואר אלקטרוני (emailaddress1). אם נמצא איש קשר כפול, המערכת תכשיל את הפעולה ותציג התראה בנוסח "איש קשר קיים במערכת".

דוגמאות נוספות לפסאודו-קוד:

1) תנאי פשוט

אם סוג משתמש = מנהל מערכת

  • שדה "ערך לקוח" מאופשר

אחרת

  • שדה "ערך לקוח" לא מאופשר

סוף אם

2) תנאי מקונן

אם סטטוס = "מאושר"

  • שדה "תיאור תנאי" מוסתר ולא חובה
  • שדה "תיאור סיבת דחייה" מוסתר ולא חובה

אחרת

  • אם סטטוס = "מאושר בתנאי"
    • שדה "תיאור תנאי" מוצג וחובה
    • שדה "תיאור סיבת דחייה" מוסתר ולא חובה
  • אחרת אם סטטוס = "דחייה"
    • שדה "תיאור תנאי" מוסתר ולא חובה
    • שדה "תיאור סיבת דחייה" מוצג וחובה
  • סוף אם

סוף אם

3) השמה אוטומטית

יש לבצע השמה אוטומטית לשדות האלה:

  • סטטוס (statuscode) = "חדש"
  • מקור רשומה (sourcecode) = "ידני"
  • צוות מטפל (new_teamid) = צוות ראשי של משתמש מבצע הפעולה

דגשים נוספים: כאשר מתייחסים לישות, יש לרשום בסוגריים את שם הסכמה שלה, למשל אירוע (incident). כאשר מתייחסים לשדה, יש לרשום בסוגריים את שם הסכמה שלו, למשל בעלים (Ownerid). כמו כן מומלץ להבחין בין חוקים עסקיים צד שרת וחוקים עסקיים צד מסך (שני סעיפים נפרדים).

במאמר הבא אדון באפיון תהליכים מובנים: למה, איך ומתי.

על המחבר / המחברת

Avatar

ארז כספי

מנתח מערכות בכיר בחברת "מטריקס".

6 תגובות

  1. משה יעקובי
    משה יעקובי אפריל 16 2019, 22:42
    איפה לומדים את כל זה

    כמה זה מקדם בקריירה המקצועית?

    השב לתגובה
    • ארז כספי
      ארז כספי אפריל 17 2019, 11:13
      מתודולגיה

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

      השב לתגובה
  2. יפעת ערוסי
    יפעת ערוסי אפריל 18 2019, 14:42
    למה לא מלמדים דברים כאלה

    למשל בשיעור שלמדתי ושקוראים לו: ניתוח מערכות?

    השב לתגובה
    • ארז
      ארז אפריל 18 2019, 19:19
      ריקוד המכונה

      שאלה טובה. מוזמנת לעיין גם במאמר הבא שיפורסם בקרוב ועוסק בתהליכים מובנים

      השב לתגובה
  3. חרות
    חרות אפריל 21 2019, 19:18
    יש סטנדרט בינלאומי?

    יש כמה אלטרנטיבות?

    השב לתגובה
  4. ארז
    ארז אפריל 22 2019, 07:35
    מתודולוגיה

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

    השב לתגובה

כתוב תגובה

הוסף תגובה:

<

* אני מתחייב לפעול על פי תנאי השימוש באתר


התגובות יפורסמו לפי שיקול דעת העורך

כתבות נוספות

פוסטים אחרונים בIT

יתר המאמרים במדור
Do NOT follow this link or you will be banned from the site!