Table of Contents
מודלים פונקציונליים היא משמעת בסיסית בהנדסה תוכנה אשר הופכת את הדרישות מופשטות לייצוגים קונקרטיים, חזותיים של התנהגות מערכת.על ידי התמקדות בנוגע למה מערכת חייבת לעשות ולא איך זה ייושם, מודלים פונקציונליים מגשר הפער בין בעלי עניין עסקיים וצוותי פיתוח.גישה זו לא רק מבהירה ציפיות אלא גם מפחיתה משמעותית את הסיכון של עבודת התחדשות יקרה, מאיצה מחזורי אספקה, משפרת את האיכות הכוללת של המודל.
מה זה מודל פונקציונלי?
מודלים פונקציונליים הם הנוהג של יצירת ייצוגים מופשטים, גרפיים של מערכת ’ פונקציות, תהליכים וזרימי נתונים.זה מדגיש את ההתנהגות החיצונית של המערכת & mdash; מה זה עושה & mdash; ללא מחיקה לפרטים יישום פנימי.הפרדה זו של חששות מאפשר לצוותים לאמת דרישות פונקציונליות מוקדם, להבטיח כי המערכת תפגוש את צרכי המשתמש לפני קו אחד של קוד כתוב.
החפצים המרכזיים של מודלים פונקציונליים כוללים דיאגרמות כגון Data Flow Diagrams (DFDs), השתמש ב- Case Diagrams ו- Function Flow Block Diagrams. כל אחד מהמודלים הללו משרת מטרה נפרדת: DFDs ממפה את התנועה והטרנספורמציה של נתונים, השתמש ב- Case Diagrams ללכוד אינטראקציות בין משתמשים (actors) לבין פונקציות (שימוש במקרים), ו-SD Flow Blocks את הרצף של תהליכים, ומודלים של פורמטים של פורמטים של פורמט זה.
מודלים פונקציונליים יעילים
- (FLT:0) אסטרקציה: 1FLT מודלים מפשטים את המציאות על ידי התמקדות רק בפונקציות חיוניות וזרימת נתונים, תוך התעלמות מהדאגות הלא פונקציונליות כמו ביצועים או אבטחה (אשר מטופלים במקום אחר).
- (ב) לכל אחד מהם יש משמעות מוגדרת, צמצום עמימות הטבועה בדרישות שפה טבעיות.
- (ב) ניתן לקשר את כל תפקיד המודל לביקוש עסקי ספציפי, הבטחת כיסוי מלא.
- (FLT:0) אחריות: 1FLT (מודלים פונקציונליים מתוחכמים) ניתן להתאים לפרויקטים דומים או לשמש כדי להכשיר חברים חדשים.
היתרונות של מודלים פונקציונליים ב SDLC
כאשר מוטבע כראוי לתוך SDLC, מודלים פונקציונליים מניב שיפורים ניכרים על פני ממדים מרובים. להלן אנו מרחיבים את היתרונות הליבה שהוצגו מוקדם יותר.
שיפור קלרנס והבנה משותפת
מודלים חזותיים מעבירים התנהגות מערכת מורכבת הרבה יותר יעילה מאשר מפרטים טקסטואליים.Stake בעלי ידע טכני יכול לסקור את נתוני Flow Diagram ומיד לזהות אם הנתונים נעים נכון בין תהליכים.שפה חזותית משותפת זו מונעת את העיוות כי לעתים קרובות מגיפות דרישות כתובות.לדוגמה, אנליסט עסקי יכול לצייר מקרה שימוש פשוט מראה תרשים &dquo; עיבוד מערכת עיבוד משותף; עם שחקנים כמו ו-Cudrondod; עם היקף;
תקשורת מוגברת על פני צוותים
מודלים פונקציונליים משמשים כמקור יחיד של אמת המאחד מפתחים, בודקים, בעלי מוצר, ואפילו לקוחות חיצוניים.במהלך תכנון קידוד או ביקורות עיצוב, צוותים יכולים לעבור דרך המודלים יחד, לדגל אי-הסכמות או פונקציות חסרות.תהליך משותף זה מקטין את קצב האחורי של רשתות דואר אלקטרוני ומפגש הבהרתי, בסופו של דבר מאיץ החלטות על פי מחקר שפורסם על ידי IEEE, כלומר פחות מומים הקשורים ל- 30.
גילוי מוקדם של בעיות
אחד היתרונות החזקים ביותר של מודלים פונקציונליים הוא היכולת שלה להתמודד עם בעיות לפני הקידוד מתחיל. Inconsistities כגון תהליך כי מצפה נתונים ממקור שאינו מייצר אותו, או מקרה שימוש כי משוכפל פונקציה אחרת, להיות ברור כאשר נמשכת. לתפוס זרימת נתונים החסרה ב-DFD במהלך שלב העיצוב עולה כמעט אפס; אותה שגיאה שהתגלה במהלך בדיקות המערכת יכול לדרוש היררכיה משמעותית של דרישות לאחר מציאת נתונים.
תכנון והערכה טובים יותר
על ידי מחיקת המערכת לפונקציות מוגדרות היטב, מנהלי פרויקטים מקבלים תצוגה גרפית של העבודה קדימה.כל פונקציה יכולה להיות מוקצה הערכות מאמץ (למשל, נקודות סיפור או שעות), תלות יכולה להיות ממופה, ודרכים קריטיות שזוהו. זה גרפיטי תומך תכנון מדויק יותר של סיבולת וניהול משאבים. לדוגמה, אם Data Flowgram מראה כי &quo; Intended; הפונקציה הבקבוק הראשון תלוי תיקון ותפקוד של שירות תשלומים; באופן טבעי;
בדיקה אחרונה ב-Uilitates Thorough Testing
Testers להסתמך על מודלים פונקציונליים כדי לתכנן מקרים של בדיקות כי מכסה כל התנהגות מערכת.כל תהליך ב DFD או כל מקרה שימוש בתרשים הופך מועמד לתרחיש מבחן. טכניקות בדיקת ארגז שחור כגון חלוקת שווי ערך וניתוח ערך גבולות הם חלים ישירות כאשר הגבולות התפקודיים הם מודל במפורש.
כיצד מודלים פונקציונליים ל- SDLC
מחזור חיי פיתוח התוכנה (SDLC) כולל שלבים מראש באמצעות פרישה.מודל פונקציונלי משחק תפקיד בכיכוב במספר שלבים מרכזיים, כמפורט להלן.
דרישות Gathering and Analysis
בשלב זה, אנליסטים עסקיים ומנהלי מוצר נטולי צרכים מבעלי העניין.טכניקות מודלים פונקציונליים לעזור לארגן את דרישות הגלם האלה לתוך מפרט מובנה ועקבי. השתמש ב-Digrams הם בעלי ערך במיוחד כאן כי הם בבירור delineate מי אינטראקציה עם המערכת, ועבור מה המטרה. A שימוש נרטיב (תיאור הטקסטוטקסטואל המלווה את התרשים) מגדיר עוד את זרימת הרגיל, חלופית, ויוצא דופן זה משולב דרישות טקסט ולהבטיח כי הם דרישות טקסט לא-אמתיות.
עיצוב מערכת
בשלב העיצוב, הדרישות התפקודיות מתורגמות לתבניות אדריכליות.Data Flow Diagrams הופכת לבסיס למחיקת המערכת לתהליכים, לחנויות נתונים ולגופים חיצוניים.אדריכלים מזהים אילו פונקציות ניתן לחלק למודולים או למיקרו-שירותים, וכיצד נתונים זורמים ביניהם.תפקוד בלוקים של בלוקים ממחישים את ההיגיון הטמון של תהליכים קריטיים, כגון אימות כניסה או סדר.
מדריך של ההרחבה (FLT:0)IBM על נתונים של סימולמיזציה (D) מספק הסבר מעמיק על איך לבנות ולאמת DFDs במהלך עיצוב.
יישום וקידוד
מפתחים משתמשים במודלים פונקציונליים כנקודת ההתייחסות היומית שלהם.כאשר הם מייעצים את ה- DFD המתאים כדי להבין אילו קלטות צפויות, אילו עיבוד חייב להתרחש, והיכן הפלטים צריכים לזרום. השתמש ב- Casegrams להנחות את יצירת ממשקי המשתמש ונקודות קצה API. כי המודלים כבר מאומתים, מפתחים יכולים להתמקד בכתב קוד נקי ויעיל ללא דרישות משניות.
בדיקות ואיכות
(הבדיקות) מסלקות תרחישים ישירות מהמודלים הפונקציונליים.לדוגמה, כל קצה של DFD הנושא זרימת נתונים הופך למקרה מבחן עבור שלמות נתונים.כל שימוש במפות מבחן פונקציונלי.בדיקות אינטגרציה של מערכת לוודא כי הנתונים זורמים מודל בין תהליכים למעשה עובד ביישום פועל יישום הפעלה.
תחזוקה ואבולוציה
כאשר מערכת צריכה שינוי, המודלים התפקודיים המקוריים הם בלתי חוקיים. A מפתח המשימה עם הוספת תכונה חדשה יכול לעדכן את המודל כדי לראות כיצד השינוי משפיע על פונקציות קיימות.ניתוח השפעה זה מונע תופעות לוואי בלתי צפויות.ללא מודלים פונקציונליים, צוותי תחזוקה לעתים קרובות צריך להפוך קוד מוטיבציה כדי להבין מה המערכת עושה, תהליך של זמן וטעייה.
כלים וטכניקות לחיקוי פונקציונלי
בחירת הכלי הנכון וההנעה היא קריטית עבור מודלים פונקציונליים יעילים.למטה אנו מתארים את הטכניקות הנפוצות ביותר ומציעים הדרכה לבחירת תוכנה מתאימה.
Data Flow Diagrams (DFDs)
DFDs להשתמש בארבעה סמלים: תהליכים (מבנים או מלבנים מעוגלים), זרימת נתונים (מחורים), חנויות נתונים (מבנים פתוחים), וגופים חיצוניים (quares) הם מאפשרים למודלים לייצג את המערכת ברמות שונות של מופשטות, מתוך דיאגרמת קונטקסט ברמה גבוהה (רמה 0) כל הדרך למטה לדרג 2 או 3 דיאגרמות ברמה מפורטת.
שימוש ב- Case Diagrams
חלק מהשפה הלא-מודעת (UML), השתמש בתרשיםים של אירועים (מספרים או קופסאות) המחוברים לשימוש במקרים (אלפסים) לפי קווים.הם אידיאליים ללכידת דרישות פונקציונליות מנקודת מבט של משתמשי קצה. תרשים משתמש בעל מבנה טוב עונה על השאלה: “ מי יכול לעשות מה עם המערכת? ” כל מקרה צריך להיות מלווה על ידי מפרט טקסט ותנאים לפני, לפני כישלונות.
סקירה מקיפה של מקרים של שימוש ב- UML, מתייחסת ל-UFLT:0 (OMG Unified Modeling Language SpecationFLT:1).
פונקציונליות Flow Block Diagrams (FFBDs)
FFBDs, הידוע גם כאגרמות זרימה פונקציונליות, המתאר את הביצוע הזמני והמקביל של פונקציות.הם משמשים בדרך כלל בהנדסה מערכות ועל זרימת עבודה מורכבת כגון שליטה בייצור או כלי אוויר.כל בלוק מייצג פונקציה, וחץים מראים זרימה שליטה (לא זרימת נתונים).
שפה לא מזוהה (UML)
UML מציעה קבוצה עשירה של 14 סוגי דיאגרמות, אבל עבור מודלים פונקציונליים הרלוונטיים ביותר הם שימוש במקרה דיאגרמות, ניתוח דיאגרמות (ש משלב אלמנטים של DFDs ו זרמי זרימה), ו-State Machine Diagrams. דיאגרמות פעילות, בפרט, הם מצוינים לדגימה את ההיגיון של פונקציה יחידה או תזמורת של פונקציות מרובות. הם תומכים צומתי החלטות, במקביל, עבור, ולא מיזוג, ללא השקפה מפורטת, מספק התנהגות מפורטת.
קבוצות רבות אימצו את UML כי הוא סטנדרטי, יש תמיכה כלי חזק (למשל, FLT:0) לוידידשרט FLT:1, Visual Paradigm, Enterprise Architect), ומשלבת עם גישות פיתוח מונעות מודלים.
בחירת כלי
כאשר בוחנים כלים מודלים, יש לשקול את הקריטריונים הבאים:
- (ב) תמיכה ב- 0 (לאה:0) ב- DFDs, UML ו- FFBDs במידת הצורך?
- תכונות:0 (Collaboration: FLT:1ir) האם חברי צוות מרובים עורכים מודלים בו-זמנית?
- (FLT:0) אינטגרציה: 1FLT ניתן לייצא מודלים של כלים אחרים (Jira, Confluence, or Code גנרטורים) לצרוך?
- (ב) האם ה-FLT:0) הוא עקומת הלמידה המקובלת על בעלי עניין לא-טכני?
עבור קבוצות גמישות, כלים מבוססי אינטרנט קלים כגון לוסידכריזט או לצייר.io הם אפשרויות פופולריות. ארגונים עם דרישות מעקב קפדניות עשויים מעדיפים כלי משקל כבדים כמו IBM Rational Rhapsody או Sparx Enterprise Architect התומכים בניסוי מבוסס מודל ודור קוד.
שיטות טובות ביותר עבור מודלים פונקציונליים
כדי למקסם את הערך של מודלים פונקציונליים, בצע את ההנחיות האלה:
- (FLT:0)Start עם דיאגרמת ההקשר.FLT:1 לפני קידוח לפרטים, לצייר דיאגרמה אחת המציגה את המערכת כתהליך אחד וכל הגופים החיצוניים (משתמשים, מערכות אחרות) שמתקשרים איתה.
- (FLT:0) לפלס את ה-DFDs.FIRLT:1) לשבור תהליכים מורכבים לתוך תת-diagrams. רמה 1 DFD צריך לא יותר מ 7-8 תהליכים כדי להישאר קריא.
- (FLT:0) מודלים עם בעלי עניין.FLT:1 התהלך דרך הדיאגרמות עם משתמשים עסקיים, לא רק מפתחים.בקשו אותם וולדקו; קרא ורדקו; המודל בחזרה אליך כדי לאשר הבנה.
- (FLT:0) שמור מודלים עקביים.FLT:1 וודא כי זרימת נתונים ותהליכים יש אותם שמות והגדרות על פני כל דיאגרמות. השתמש במילון מבריק או נתונים.
- (FLT:0Version לשלוט במודלים שלך.FLT:1 Treat) דיאגרמות כמו חפצים חיים מתפתחים עם המערכת.
- (FLT:0)Don ’ לא מודל כל דבר.BuildFLT:1 להתמקד בפונקציות מפתח נושאות ערך עסקי.פרטים מופרזים יכולים להציף את הקוראים ולהקטין את המודל ’ שימושיות.
אתגרים פוטנציאליים ומייגים
בעוד מודלים פונקציונליים מציעים יתרונות משמעותיים, הצוותים עשויים להיתקל מכשולים המודעות של מלכודות אלה עוזר להתגבר עליהם.
מודל Overhead
יצירת ושמירה על דיאגרמות לוקח זמן.בסביבות זריזות מהיר, צוותים לעתים רואים מודלים כמו בירוקרטיה מיותרת.כדי להפחית, לאמץ גישה קלה: לצייר רק את הדיאגרמות אשר ישירות לתמוך בהצתה הנוכחית; העבודה, ועדכון אותם במהלך הפעלות הזיקוק. השתמש בכלים המאפשרים תיקונים מהירים.
חוסר מעורבות של בעלי מניות
אם בעלי העניין העסקיים אינם משתתפים בדוגמנות, הדיאגרמות עשויות שלא לשקף צרכים אמיתיים.כתובת זו על ידי ביצוע מסלולים מובנים שבהם נדרשים בעלי העניין לאתר באמצעות מקרים שימוש ו- DFDs. להדגיש כי קלטם מונע עבודה חוזרת יקרה.
חוסר עקביות
כאשר מודלים מרובים תורמים, הם עשויים להשתמש סמלים באופן שונה, המוביל לבלבול. להקים תקן דוגמנות בתחילת הפרויקט. לספק מדריך סגנון וספריית תבנית. לבצע ביקורות עמיתים תקופתיות של דיאגרמות.
מודלים חיצוניים
הכישלון הנפוץ ביותר הוא לאפשר מודלים להידבק לאחר שלב העיצוב הראשוני.כדי למנוע זאת, לשלב עדכונים במודל להגדרה של כל סיפור משתמש.אם סיפור משנה את זרימת הנתונים, יש לעדכן את ה-DFD המקביל באותו קידוד.
מסקנה
מודלים פונקציונליים אינם רק פעילות עיצוב-זמן; זהו תרגול אסטרטגי המחלחל את מחזור חיי פיתוח התוכנה כולו. על ידי הדמיה של מה מערכת חייבת לעשות, צוותים לבנות הבנה משותפת, לזהות פגמים מוקדם, לתכנן בצורה מדויקת יותר, ולבחון יותר ביסודיות. ההשקעה הראשונית ביצירת מודלים מדויקים משלמת דיבידנדים לאורך כל הפיתוח, פריסה ותחזוקה.
ארגונים המחויבים למודל פונקציונלי לדווח באופן עקבי על שיעורי הצלחה בפרויקט גבוה יותר, נחיתות פגומות נמוכות יותר, וקצר זמן לשוק.אם אתה בונה כלי פנימי קטן או מערכת ארגונית קריטית למשימה, שילוב מודלים פונקציונליים לתוך SDLC שלך ישפר יעילות ואיכות.המשמעת של פונקציות הגדרת בבירור לפני בנייתם נותרה אחת הדרכים היעילות ביותר להפחית את הפסולת והערך החיזוי.