- הִיסטוֹרִיָה
- יצירה
- אלטרנטיבה לדגם המפל
- תכונות של דגם הספירלה
- ניהול סיכונים
- תיאור הספירלה
- גנרית
- גָמִישׁ
- מטמודל
- שלבים
- קבע יעדים, חלופות ואילוצים
- הערכת סיכונים
- פיתוח ובדיקה
- תכנון המחזור הבא
- דוגמא
- יתרון
- מבנה מחזורי
- ניהול סיכונים
- השתתפות לקוחות ומשוב
- אידיאלי לפרויקטים גדולים
- חסרונות
- יָקָר
- מורכב למדי
- ניהול זמן
- צעדים רבים
- הפניות
מודל הספירלה הוא ארכיטיפ של תהליך פיתוח יישומים. זה מבוסס על ההשערה שפיתוח תוכנה הוא מחזור איטרטיבי שחוזר על עצמו עד להשגת היעדים שנקבעו. יש לו את היכולת להתמודד עם מספר הסיכונים הגדול שיכול להתרחש בעת פיתוח תוכנה כלשהי.
זהו אחד המודלים החשובים ביותר לתמיכה בניהול סיכונים. כשמו כן הוא, מודל זה מוצג כצורת ספירלה, שם מופצים השלבים השונים של הדגם במחזורים שונים. מספר המחזורים במודל אינו קבוע ויכול להשתנות מפרויקט לפרויקט.
ניתוח, הערכה, תכנון ופיתוח. פיתוח תוכנה מקור ספירלה: Beao commons.wikimedia.org
הִיסטוֹרִיָה
יצירה
מודל הספירלה הוגדר על ידי הפרופסור למתמטיקאי והנדסת תוכנה בארי בוהם. לאחר שהציג את הרעיון שלו בשנת 1986 לפיתוח יישומים מורכבים, הוא פרסם את המודל שלו בשנת 1988 במסגרת מקיפה יותר במאמרו "מודל ספיראלי של פיתוח ושיפור תוכנה".
חלק מפרסום זה מ -1988 תיאר בצורה גרפית את מודל הספירלה, והראה באופן מלא כיצד נראה תהליך פיתוח התוכנה בצורה ספירלית ונתמך על ידי מחזורים.
בוהם ידוע בתרומותיו רבות להנדסת תוכנה, דוגמת מודל העלות הקונסטרוקטיבי (COCOMO), מודל הספירלה של תהליך התוכנה, גישת ה- G-Theory (win-win) לקביעת דרישות וניהול. של התוכנה.
אלטרנטיבה לדגם המפל
בפרסום שלו תיאר בוהם את מודל הספירלה כחלופה אפשרית למודל המפל שהוקם בעבר, אשר שימש גם בסיס לתרגולו.
המודל הספירלי לא היה הראשון שדן בהתפתחות המחזורית, אך הוא היה המודל הראשון שהסביר מדוע איטרציה חשובה. כמתוכנן במקור, הוא ממוקד לפרויקטים גדולים ומורכבים שאיתורם בדרך כלל נע בין 6 חודשים לשנתיים.
מודל זה אינו מניח שמשימות פיתוח תוכנה מתוכננות באופן לינארי, שלא כמו מודל המפל, אלא רואה בהן משימות איטרטיביות.
מודל מחזורי זה השפיע על אדריכלות הנדסת תוכנה מבוססת מודלים (MBASE) ותכנות קיצוניות.
תכונות של דגם הספירלה
ניהול סיכונים
מה שמבדיל מאוד מודל זה מדגמי תהליכי תוכנה אחרים הוא שהוא מכיר במפורש סיכונים. לפיכך, זה מצמצם מאוד את כישלונם של פרויקטים גדולים בתוכנה על ידי הערכת שוב ושוב של סיכונים ואימות המוצר בפיתוח בכל פעם.
מודל מחשב זה מכיל רכיבים כמעט מכל מודל אחר של מחזור חיי התוכנה, כמו מודל המפל, מודל האבות-טיפוס, המודל האיטרטיבי, המודל האבולוציוני וכו '.
מסיבה זו הוא מסוגל להתמודד כמעט עם כל סוג של סיכון שדגמים אחרים בדרך כלל אינם מטפלים בו. עם זאת, בגלל שיש לו כל כך הרבה רכיבים, מודל זה מורכב בהרבה מדגמי פיתוח התוכנה האחרים.
תיאור הספירלה
כל סיבוב של הספירלה מייצג מחזור שלם, דרכו עוברים תמיד ארבעת הרביעים, המייצגים את ארבעת השלבים של המודל.
ככל שגודל הספירלה גדל, כך מתקדמת ההתקדמות. לכן השלבים אינם מבוצעים רק פעם אחת, אלא כמה פעמים, באופן ספיראלי.
למרות שחזרה מחזורית זו גורמת לפרויקט להתקרב לאט ליעדים שנקבעו, אך הסיכון לכך שתהליך הפיתוח נכשל ממוזער מאוד.
גנרית
ארבעת השלבים מיישמים רק את המטרות הבסיסיות של מחזור, אך הם אינם חייבים להתבטא בכל מחזור.
גם סדר כל מחזור אינו נקבע בקפדנות. לכן ניתן לשלב את הדגם בכל עת עם דגמים אחרים.
גָמִישׁ
זה די גמיש, מכיוון שהוא מבצע את הגדרת היעדים, ניתוח סיכונים, פיתוח ותכנון בנפרד עבור כל שלב בפרויקט.
מטמודל
זה נחשב מטמודל מכיוון שהוא כולל את שאר הדגמים. לדוגמא, אם הספירלה הייתה מחזור יחיד היא הייתה מייצגת את מודל המפל, שכן היא משלבת את הגישה ההדרגתית של הדגם הקלאסי הזה.
הוא גם משתמש בגישת מודל האבות-טיפוס, שכן בתחילת כל מחזור הוא מרכיב אב-טיפוס לניהול סיכונים.
יתר על כן, זה תואם את המודל האבולוציוני, מכיוון שאיטיות הספירלה יכולות להיחשב לרמות אבולוציוניות, דרכן נבנית המערכת הסופית.
שלבים
קבע יעדים, חלופות ואילוצים
דרישות המערכת מוגדרות בפירוט רב ככל האפשר, כולל ביצועים, ממשקי חומרה / תוכנה, אינדיקטורים מרכזיים להצלחה וכו '. ואילו מטרות צריכות להיות קשורות למחזור הפיתוח הנוכחי נשקלות.
בנוסף, נבדקות חלופות שונות ליישום שלה, כגון build vs. לקנות, לעשות שימוש חוזר ברכיבים קיימים או למיקור חוץ וכו '.
כמו כן נקבעים מגבלות כמו עלות, לוח זמנים וממשקים, צריכת זמן וכו '.
הערכת סיכונים
כל החלופות המוצעות נבדקות. היעדים והאילוצים משמשים כקביעת הפניות לבחירת הפיתרון הטוב ביותר.
בנוסף מזוהים הסיכונים שעשויים להפריע להצלחת הפרויקט, כמו חוסר ניסיון, טכנולוגיות חדשות, לוחות זמנים הדוקים, תהליכים גרועים וכו ', יישום האסטרטגיות הרווחיות ביותר עם הסיכון הנמוך ביותר.
לבסוף משתמשים בשיטות כמו אבות טיפוס, סימולציות, מודלים אנליטיים וסקרי משתמשים.
פיתוח ובדיקה
כל הפיתוח הדרוש מתבצע, תוך שימוש בטכנולוגיה ובפתרון שנבחר. עם כל איטרציה נוצרת גרסה טובה יותר של היישום.
הקוד בפועל נכתב ונבדק מספר פעמים עד שתגיע לתוצאה הרצויה, שתשמש אז בסיס לצעדי פיתוח עתידי.
תכנון המחזור הבא
עם סיום מחזור אחד מתחיל התכנון למחזור הבא. תכנון זה יכול להיות להמשיך בפרויקט כרגיל אם הושג מטרת המחזור, בהתחשב בהגדרת המטרה הבאה.
זה יכול להיות גם למצוא פתרונות אחרים, אם השלב הקודם בפיתוח יתגלה כשגוי. ניתן להחליף את האסטרטגיה הקיימת באחת החלופות שהוגדרו קודם או באחת החדשה. בכך, יתחיל ניסיון חדש להגיע למטרה הנתונה.
דוגמא
צבא ארצות הברית אימץ את מודל הספירלה לפיתוח ושדרוג של תוכנית המודרניזציה של מערכות הלחימה העתידית (SCF).
הושק רשמית בשנת 2003, חזו SCF לצייד חיילים בכלי רכב המחוברים בזמן אמת לרשת שדות קרב מהירה וגמישה במיוחד.
הפרויקט חולק לארבע ספירלות פיתוח של כשנתיים כל אחת. ספירלה 1 הייתה אמורה להתחיל בשנת 2008 ולהעביר אבות טיפוס לשימוש ולהערכה.
לאחר השלמת ספירלה 1, ספירלה 2 אמורה הייתה להתחיל בשנת 2010. פיתוח המוצר הסופי אמור היה להיות מועבר בשנת 2015.
באוגוסט 2005 הודיעה בואינג על השלמת אבן הדרך העיקרית הראשונה של הפרויקט, שהייתה השיפוץ התפקודי של המערכות. החברה הבינלאומית לבואינג ומדע יישומי המדע היו המנהיגים המשותפים של הפרויקט.
עם זאת, באוקטובר 2005 המליץ הפנטגון לדחות את הפרויקט בגלל ההשפעה הגבוהה על העלויות ממלחמת עירק והסיוע מהוריקן קתרינה.
הפרויקט בוטל בשנת 2009 לאחר צמצום התקציב, מבלי שהצליח להוכיח את היתרונות של מודל הספירלה במשימה זו
יתרון
מבנה מחזורי
בשל סוג זה של מבנה, בעיות בין תכנון לדרישות טכניות של התוכנה מבוטלות בשקט, בזכות בדיקות תקופתיות.
ניהול סיכונים
הסיכונים מנותחים בכל שלב של המוצר לפני שממשיכים הלאה. זה עוזר להתגבר או להפחית סיכונים פוטנציאליים.
כל העובדים נהנים מהחשיבות הרבה של ניתוח סיכונים במודל זה, ואולי מייצגים את היתרון הגדול ביותר שלהם על פני מודלים אחרים בתהליכים.
הערכת סיכון קבועה היא בעלת ערך בעת שימוש בסביבות טכניות חדשות, אשר בדרך כלל קשורות לפוטנציאל סיכון מסוים עקב היעדר ערכים אמפיריים.
השתתפות לקוחות ומשוב
לקוחות מעורבים בכל שלב בפרויקט, עד לסיום הפרויקט. לכן ניתן לאסוף פידבקים שונים לשיפור הגרסה הבאה של הפרויקט.
כמו כן, ניתן לקבל משוב בכל עת עקב התקדמות בצורת ספירלה. כך ניתן לשלב לקוחות ומשתמשים מההתחלה בתהליך הפיתוח.
אידיאלי לפרויקטים גדולים
הוא פופולרי במיוחד ובולט בפרויקטים גדולים ומורכבים, כאשר בקרת תקציב היא בעדיפות עבור לקוחות ומפתחים. יש לך שליטה מרבית על העלויות, המשאבים והאיכות של פרויקט התוכנה.
חסרונות
יָקָר
זה יכול להיות יקר למדי, מכיוון שהוא דורש מומחיות גבוהה לניתוח סיכונים. בנוסף, לפרויקטים לוקח זמן רב להתפתח, מה שעלול להגדיל את התקורה.
מורכב למדי
יש צורך בניהול קודם מאוד פעיל ומורכב של הפרויקט, כאשר כל מחזור נשלט ומתועד בקפידה ובקפידה.
זה יחסית מורכב מדגמים אחרים, מכיוון שיש מחזורים רבים, שכל אחד מהם עובר שלבים שונים, וכך מגדיל את המאמץ של תהליך התיעוד.
הכרת ניתוח וניהול סיכונים, שלעתים קרובות אינה זמינה, חיונית.
ניהול זמן
קשה לנהל את הזמן מכיוון שמספר המחזורים אינו ידוע. בנוסף, ניתן לעכב את תהליך הפיתוח בכל עת אם יש לקבל החלטות חשובות בתוך מחזור אחד או על ידי פעולות נוספות בעת תכנון המחזור הבא.
צעדים רבים
נקיטת צעדים רבים בפיתוח תוכנה אינה תמיד חיובית בשל העובדה שלמרות הרבגוניות של הבדיקה, חלקים לא מוגמרים של התוכנית יכולים להגיע למערכת המוגמרת.
כתוצאה מכך, קיימת תמיד הסכנה כי כל טעות רעיונית או חוסר עקביות ישפיעו על המוצר הסופי.
הפניות
- ויקטור פונט ג'וניור (2019). המודל הספיראלי. המדריך האולטימטיבי ל- SDLC. לקוח מ: ultimatesdlc.com.
- יונוס (2019). מודל ספיראלי: מודל תהליך פיתוח התוכנה מונע הסיכון. נלקח מ: ionos.com.
- Techuz (2018). מהו מודל ספיראלי? הסבר פשוט על מחזור החיים של פיתוח תוכנה ספירלית (SDLC). נלקח מ: techuz.com.
- בדיקה אחת להפסיק (2020). דגם ספיראלי. נלקח מ: onestoptesting.com.
- Geeks for Geeks (2020). הנדסת תוכנה - דגם ספיראלי. נלקח מ: geeksforgeeks.org.
- צ'נדו (2019). מודל ספיראלי בהנדסת תוכנה. נלקח מ: medium.com.