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

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

רשימת כותבים
גדעון קוך
גדעון קוך

ניתוח אפיון ועיצוב מערכות מידע

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

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

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

3. מסדי נתונים השתנו וכיום יש רבים העושים שימוש מיטבי בתשתיות האינטרנטית
בתהליך עיצוב המערכת ולאחר הגדרת המחלקות, מתבצע שלה הגדרת ישויות ERD .
כיום, בשלב ה-ERD יש לבחון חלופות מסד הנתונים ליישום המערכת. קיימים מספר סוגים ויש לבחון את התועלת לארגון ולמערכת המידע במגוון נושאים החל מעלויות וכלה בזמינות למספר רב של משתמשים. ברבים מהמקרים מערכת משולבת של SQL ו-NoSQL תספק את הזמינות והשלמות הנדרשת.
בין סוגי מסדי נתונים כחלופות ליישום נמצאים:
SQL - ACID
NoSQL - Document - JSON - BASE

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

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

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

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

הגדרת עץ המשתמשים במערכת
לכל משתמש יש להגדיר את התפריט שלו
מידור והרשאות נדרשות

הגדרת דרישות
פונקציונאליות של המערכת על כל משתמשיה
לא פונקציונאליות הכוללות שימושיות, גיבויים, גודל, זמינות ועוד
מערכתיות
תשתיות
רגולציה
תקני החברה
מדיניות החברה

מקרי שימוש Use Case Diagram
הגדרת תכולת המערכת והתהליכים העיקרים שהמערכת החדשה תתפעל.
כדי לאפיין זאת עלינו להבין מי המשתמשים במערכת ותפקידים.

תרשים פעילות Activity Diagram
תרשימים כלליים לניתוח תהליכי המערכת הקיימים ולאפיון תהליכים חדשים והמשופרים.
חשוב שתהליכים אלו יהיו שלמים.
כבר בשלב זה רצוי לרשום את הנתונים איתם נדרש לפעול לשם ביצוע הפעילות.

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

תרשים רצף Sequence Diagram
תרשים זה חשוב מאוד, ודורש הבנה של יכולות המערכת יחד עם תפיסה של מערכת מידע ואופן הפעולה שלה.
בשלב זה נאפיין את מרכיבי (Partition) המערכת השונים לביצוע מלא של התהליכים במערכת המידע.
תרשים זה משמש את המתכנתים להגדרת הממשקים בין תחומי הידע בכתיבת הקוד ומסד הנתונים.
יש להגדיר מחיצות Partitions מפורטים הנדרשים לביצוע הפונקציה.
מחיצות יכולות להיות מסד נתונים, לוגיקה, שרת SMS, שרת מיילים, מערכת סליקה וכ"ו.

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

תרשים אובייקטים Object Diagram
בדיקת תרשימי המחלקות באמצעות ערכים לבדיקת נכונות ושלמות

תרשים ישויות Entity Relation Diagram
בשלב זה נוספו למערכת מפתחות ראשיים ומשניים כולל הגדרת שדות מקשרים PK ו-FK בין הטבלאות השונות.
כעת יש לבחון חלופות למימוש:
SQL - ACID
NoSQL - Document - JSON - BASE

מסד נתונים רלציוני
יש לבדוק נרמול 1NF..3NF ובמקרים מסוימים עד 5NF
מסדי נתונים רלציונים מאפשרים הגדרת מידע במחיצות.
קיימים מחיצות אנכיות ואופקיות הנשמרות כל אחת בשרת אחר להשגת מהירות גישה מיטבית.
יש להבין את יכולת הגדילה והמגבלות של מסד נתונים כזה על ידי בחינה מעמיקה במעבר בין ה-ERD למסד הנתונים הפיזי.
תהליך בחירת חלופות למסד נתונים
בחירת מסד נתונים נכון הוא גורם מכריע בהצלחת הפיתוח, יכולות המערכת לעמוד בדרישות שהוגדרו והוא גורם מכריע בהצלחת היישום של מערכת המידע שפותחה.

---------------------------------------------------------------------------------------------------------------------------------------------------------
בתהליכי ניתוח אפיון ועיצוב מערכת מידע אנחנו מבחינים בתהליכים ובפעילויות הבאות:

הגדרת דרישות
הגדרת דרישות המשתמשים ובעלי העניין מהמערכת

פירוט הפונקציונאליות הנדרשת לעמוד בדרישות
מה הפונקציונליות הנדרשת מהמערכת.
דרישה יכולה להיות כללית בעוד הפונקציונאליות צריכה להיות פרטנית ומדויקת לצורך ביצוע הפונקציה

מידע נדרש
מה המידע הנדרש לכל הפונקציות במערכת.
מי משנה איזה מידע.
ארכיטקטורת המידע של המערכת (SQL, NoSQL, NewSQL)

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

תצוגה
מה תהיה תצוגת המערכת.
טכנולוגית הצגת הנתונים (במקרה של אתר WEB): iFrame, Form, AJAX וכ"ו

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

פירוק לחבילות עבודה
את העבודה יש להגדיר בחבילות עבודה WBS להבנה ברורה של תהליכי הפיתוח והערכות של העובדים והעבודה הנדרשת.

עבודה בצוות
חלוקה לעבודה בצוות אם באמצעות תרשים Gantt או בעבודה במודל זריז עם לוח Kanban .

שילוב
לאחר שכל אחד סיים את כתיבת הקוד שלו במקביל לולם, יש לשלב את כל המערכת ולראות את הפעולה המלאה.

בדיקות
יש לבצע בדיקות פעילות בכל שלב של המערכת.

תיעוד
רצוי לתת תיעוד לארכיטקטורת המערכת ברמת הקוד.

תגובה לנושא
הצעה לנושא חדש


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

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

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

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

החלטה לגבי מסדי הנתונים של מערכות המידע אלו דורש קבלת החלטה אסטרטגית.

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

בשלב זה נבדקות חלופות באיזה סוג מסד נתונים הכי מתאים לנו לפעול או במשולב.

קיימים מסדי הנתונים רבים ומסוגים שונים.
כלי מומלץ לבדיקת חלופות למסד נתונים SQL או NoSQL:
באמצעות כלי להערכת חלופות למסד נתונים מתקדמים


תגובה לנושא
הצעה לנושא חדש



כל הזכויות שמורות לגדעון קוך