טכנולוגיה

Planit הנה תוכנת Desktop שפותחה בכלי vs.net של חברת Microsoft. ככזו, היא מנצלת את יכולות מערכת ההפעלה Windows הן לצורך תצוגה וממשק משתמש מגוון ויעיל והן לביצוע חישובים מורכבים בזמן קצר. Planit איננה מיועדת להפעלה מתוך אתר אינטרנט, אולם ישנם מערכות Planit המותקנות מול בסיס נתונים אינטרנטי. מערכות רבות מותקנות בשיטת Terminal Server מסוגים שונים ובכך מאפשרת לארגונים תחזוקת גרסה מרכזית לארגון בצורה נוחה.

בסיס נתונים

ל- Planit אין בסיס נתונים מובנה משל עצמה. לעומת זאת ישנו בתוכנה מנגנון גמיש לקישור לבסיסי נתונים ממשפחת SQL ולמיפוי שדות הטבלאות והשאילתות הלוקחות חלק בתהליכי התכנון לצורך קריאה וכתיבה. בכל יישום של Planit ישנן מספר טבלאות יסודיות שחייבות להימצא: טבלת משאבים, טבלת המשימות, טבלאות הזמינות ועוד. ברוב המקרים, ניתן לעשות שימוש בטבלאות הקיימות אצל הלקוח ומשמשות במערכת המידע. בנוסף לטבלאות היסוד ישנה אפשרות להוסיף טבלאות נתונים נוספות על פי העניין וייצוג הפתרון אצל כל לקוח. דוגמאות לטבלאות נוספות שיכולות לשמש: טבלת קצב יצור פריט בקו יצור ביישום תכנון יצור, התאמת סוג מטען למשאית ביישום תכנון הפצה, התאמת הכשרה נדרשת לעובד ביישומי סידור עבודה ועוד. להבדיל מאופן הפעולה ברוב מערכות המידע, Planit טוענת את נתוני השיבוץ לזיכרון, ומאותו רגע המערכת מאפשרת למשתמש לעבוד במנותק מבסיס הנתונים (Offline) ובכך לאפשר ביצוע חישובים מורכבים ועדכוני תצוגה בזמני תגובה טובים. שמירת הנתונים ועדכונם בבסיס הנתונים יתבצעו בסיום שלב או בסוף תהליך השיבוץ על ידי המתכנן. כמובן שנושא ריבוי משתמשים ועדכונים שבוצעו ברקע נלקחים בחשבון ומטופלים.

משאבים ועבודות

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

פרוצדורת חישוב המצב

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

שיבוץ אוטומטי ואופטימלי

שיבוץ אופטימלי דורש להגיע לסידור עבודות אשר מייצג מצב בו מתקבל ערך מינימום מתמטי של פונקציית מטרה. על מנת להגדיר פונקציית מטרה אליה אנו מכוונים יש להגדיר תחילה מדדים אשר יגדירו ציון לטיב השיבוץ בכל מצב. מימוש מדד כזה ב- Planit נעשה על ידי מאפיין עבודה בסיסי בשם עלות (Cost). בעזרת פרוצדורת החישוב ניתן לחשב את מדד זה כתלות בגורמים שונים: עמידה בתאריך יעד, פעולות הכנה בין סדרות יצור, עדיפות תפקיד לעובד וכו'. גורמים אלה חייבים לקבל ביטוי מספרי ולהיות משוקללים כסכום ערכים לתוך מאפיין העלות. Planit מכילה אפשרויות מובנות לחיפוש מצבי עלות טובים יותר ובכך להמליץ למתכנן לשנות את השיבוץ בהתאם. יחד עם זאת, מצב סידור אופטימלי אינו מובטח שכן אין באפשרותנו לבדוק את כל צירופי השיבוץ מצד אחד ואף לא להפעיל אלגוריתם מתמטי ידוע שכן מבנה הנתונים אינו ידוע מראש, משתנה עבור כל לקוח ומפני שלבעיות מסוג זה אין פתרון מתמטי מוחלט. בהחלט כן ניתן להגיע להליך שיבוץ אוטומטי תוך חיקוי סדר הפעולות של המתכנן והישענות על הידע הארגוני. יש לציין ששיבוץ אוטומטי יחייב בקרה אנושית ותחזוקת מתמדת של הפרמטרים המשפיעים על התכנון.

התאמות מיוחדות

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

תצוגות מגוונות

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

תהליך יישום

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