Presentation is loading. Please wait.

Presentation is loading. Please wait.

הבטחת איכות מבוא להנדסת תוכנה

Similar presentations


Presentation on theme: "הבטחת איכות מבוא להנדסת תוכנה"— Presentation transcript:

1 הבטחת איכות מבוא להנדסת תוכנה הבטחת איכות התוכנה ושיפור התהליך Software Quality Assurance and Process Improvement © , ד"ר עמיר תומר מקורות: R. S. Pressman: Chapter 8 SEI, Key Practices of the CMM ד. גלין ו-ז. בלובבנד, הבטחת איכות תוכנה, “אופוס”, 1995 מבוא להנדסת תוכנה © , ד"ר עמיר תומר

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

3 מה עומד על הפרק? הבטחת איכות תוכנה תקנים לפיתוח תוכנה
מהי איכות התוכנה? כיצד מבטיחים את האיכות? מקומה של הבטחת איכות התוכנה בארגון תקנים לפיתוח תוכנה תקנים צבאיים / הנדסיים ISO 9001 / ISO תהליך התוכנה ושיפורו מודל בשלות היכולת CMM סיכום הקורס © , ד"ר עמיר תומר מבוא להנדסת תוכנה

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

5 בקרת איכות המוצר לעומת הבטחת איכות
פונקציה של ההנהלה סיקור התוצרים והתהליך דיווח להנהלה בקרת איכות המוצר בדיקת התוצרים משוב לתהליך הפיתוח תהליך הפיתוח הבטחת איכות תוצרים הנהלה סיקור דיווח תהליך הפיתוח בקרת איכות תוצרים משוב בדיקה © , ד"ר עמיר תומר מבוא להנדסת תוכנה

6 עלות האיכות כמה “עולה” איכות התוכנה? עלות המניעה עלות ההערכה
תכנית איכות סקרים טכניים פורמליים ציוד בדיקה הדרכה עלות ההערכה ביקורת בתוך התהליך ובין תהליכים כיול ואחזקה של ציוד בדיקות עלות הכשל (“עלות האי-איכות”) עבודה חוזרת תיקונים ניתוח אופני כשל © , ד"ר עמיר תומר מבוא להנדסת תוכנה

7 הבטחת איכות תוכנה - ארגון מרכזי
מנכ"ל מנהל יחידת פיתוח תוכנה אחראי הבטחת איכות תוכנה מנהל איכות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

8 הבטחת איכות תוכנה - ארגון מבוזר
מנכ"ל מנהל יחידת פיתוח תוכנה מנהל הבטחת איכות © , ד"ר עמיר תומר אחראי הבטחת איכות תוכנה אחראי הבטחת איכות תוכנה מבוא להנדסת תוכנה

9 תקני ISO עוסקים ברמת הארגון, בעוד שאר התקנים עוסקים ברמת הפרוייקט
תקנים לפיתוח תוכנה תקן = דרישות מהתהליך תקן משמש כאמנה בין לקוח למפתח תקנים צבאיים / ממשלתיים / הנדסיים DOD-STD-2167A / MIL-STD-498 תקן הצבא האמריקאי לפיתוח מערכות תוכנה נוהל מפת"ח תקן ישראלי, המחייב את כל המערכות הממשלתיות ISO 9001 / ISO תקן בינלאומי למערכות איכות IEEE 12207 תקן הנדסי מפורט © , ד"ר עמיר תומר תקני ISO עוסקים ברמת הארגון, בעוד שאר התקנים עוסקים ברמת הפרוייקט מבוא להנדסת תוכנה

10 ISO 9001 / ISO 9000-3 ISO 9001 ISO 9000-3 הגישה מבדקים
מערכות איכות: מודל להבטחת איכות בתכן, בפיתוח, בייצור, בהתקנה ובשרות ISO הנחיות ליישום ISO 9001 לפיתוח, אספקה, התקנה ואחזקה של תוכנת מחשבים הגישה המפתח מגדיר את נהלי הפיתוח שלו מכון התקנים בודק ומאשר שהנהלים עונים לדרישות ISO 9001 המפתח מטמיע את הנהלים ועובד לפיהם מכון התקנים בודק שהמפתח עובד לפי הנהלים שהוא עצמו הגדיר מבדקים מבדק הסמכה חידוש הסמכה - כל 6 חודשים © , ד"ר עמיר תומר מבוא להנדסת תוכנה

11 דרישות ISO 9000-3 מסגרת פעילויות תומכות אחריות ההנהלה
מערכת האיכות בארגון מבדקי איכות פנימיים פעולה מתקנת מסגרת סקר חוזה מפרט דרישות הלקוח תכנון הפיתוח תכנון האיכות תכן ומימוש בדיקות והוכחת תקפות בדיקות קבלה שכפול, מסירה והתקנה תחזוקה פעילויות במחזור החיים ניהול תצורה בקרת מסמכים רשומות איכות מדידה כללים, נהלים ומוסכמות כלים וטכניקות רכש מוצר תוכנה משולב הדרכה פעילויות תומכות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

12 CMM = Capability Maturity Model
מסגרת לתהליך אפקטיבי של פיתוח ואחזקה של תוכנה הגדרת המרכיבים היסודיים של התהליך מסלול שיפור אבולוציוני של התהליך כיסוי כולל תכנון הנדסה ניהול אמת מידה למדידת בשלות התהליך תכנון תהליכי שיפור תהליך CMM משפר את יכולתו של הארגון לעמוד ביעדי העלות, הלו”ז, הפונקציונליות והאיכות של מוצרי התוכנה. © , ד"ר עמיר תומר מבוא להנדסת תוכנה

13 CMM - רמות הבשלות 5 4 3 2 1 התהליך... Optimizing Managed Defined
משתפר בהתמדה Defined 3 בר-חיזוי Repeatable 2 תיקני ועקבי © , ד"ר עמיר תומר התהליך... Initial 1 ממושמע אקראי מבוא להנדסת תוכנה

14 רמה 1 - הרמה התחלתית (initial)
היעדר סביבה יציבה לפיתוח ואחזקת תוכנה אין ניהול מסודר התועלת של הנדסה טובה הולכת לאיבוד תכנון לא יעיל לקיחת התחייבויות על בסיס תגובות לארועים התמודדות עם משברים נטישת המהלכים המתוכננים ו”שקיעה” בקידוד ובדיקה ההצלחה תלויה במנהל ובצוות המסוימים גם אם המנהל יודע להתמודד עם המשברים, עזיבתו “מפילה” את הצוות יכולת הארגון הינה בלתי צפויה התהליך משתנה באופן שוטף, תוך כדי הפרוייקט הביצועים תלויים ביכולות אינדיבידואליות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

15 רמה 2 - הרמה ההדירה (repeatable)
קיום מדיניות ניהול פרוייקט ונהלים ליישום מדיניות זו תכנון וניהול פרוייקטים חדשים על בסיס נסיון מצטבר תהליך פיתוח אפקטיבי, המאופיין ע”י: ביצוע כהלכה תעוד אכיפה הדרכה מדידה יכולת שיפור מחוייבויות ריאליות על בסיס נסיון בפרוייקטים קודמים על בסיס הדרישות הנוכחיות מעקב שוטף אחר עלויות, לו”ז וביצועים משמעת!!! © , ד"ר עמיר תומר מבוא להנדסת תוכנה

16 רמה 3 - הרמה המוגדרת (defined)
תהליך ארגוני תיקני כולל היבטים הנדסיים וניהוליים שיפור יעילותם של המהנדסים והמנהלים בסיס ל”תפירת” תהליכים פרוייקטיים תהליך מוגדר-היטב מאופיין ע”י קריטריונים למוכנות קלט תקנים ונהלים לביצוע העבודה מנגנוני אימות פלט קריטריונים לסיום קבוצת תהליכים SEPG = Software Engineering Process Group © , ד"ר עמיר תומר מבוא להנדסת תוכנה

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

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

19 מבנה CMM Maturity Levels Key Process Areas Common Features
הבטחת איכות מבוא להנדסת תוכנה מבנה CMM 5 רמות indicate Maturity Levels נושאי מפתח להתייחסות בכל רמה contain Process Capability achieve Key Process Areas מה יבטיח עמידה ביעדים (Goals) organized by Goals address Common Features מה צריך לעשות בפועל להשגת היעדים © , ד"ר עמיר תומר Implementation or Institutionalization contain describe Key Practices Infrastructure or Activities מבוא להנדסת תוכנה © , ד"ר עמיר תומר

20 נושאי מפתח ברמה 2 ניהול דרישות (RM = Requirement Management)
יצירת בסיס ההבנה המשותפת בין הלקוח למפתח בסיס לתכנית הפיתוח ולמעקב אחריה תכנון פרוייקט תוכנה (SPP = Software Project Planning) הערכת העבודה הנדרשת תכנון פעולות ההנדסה והניהול מעקב ומבט-כולל על הפרוייקט (PTO = Project Tracking & Oversight) מעקב שוטף אחר התקדמות הפרוייקט בפועל זיהוי חריגות וביצוע פעולות מתקנות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

21 נושאי מפתח ברמה 2 (המשך) ניהול קבלנות-משנה
(SSM = Software Subcontract Management) איתור קבלני משנה בעלי כישורים מתאימים שיתוף הקבלן במחוייבויות כלפי הלקוח הבטחת איכות התוכנה (SQA = Software Quality Assurance) לספק להנהלה התבוננות אל התהליך ותוצריו מעקב שוטף אחר התהליך ניהול תצורה (CM = Configuration Management) הבטחת שלמות (Integrity) תוצרי הפרוייקט לאורך מחזור החיים בקרה שיטתית על עריכת שינויים © , ד"ר עמיר תומר מבוא להנדסת תוכנה

22 נושאי מפתח ברמה 3 מיקוד התהליך הארגוני
(OPF = Organization Process Focus) הבנת תהליכי הפיתוח הארגוניים ותיאומם קיום קבוצת תהליכי תוכנה SEPG הגדרת התהליך הארגוני (OPD = Organization Process Definition) “התהליך הארגוני התקני” כבסיס לתפירת תהליכים פרוייקטיים מאגר נכסי תהליך תכנית הדרכה (TP = Training Program) הגדרת צרכי ההדרכה של הארגון פיתוח או רכש של הדרכה על פי הצרכים © , ד"ר עמיר תומר מבוא להנדסת תוכנה

23 נושאי מפתח ברמה 3 (המשך) ניהול תוכנה משולב
(ISM = Integrated Software Management) שילוב פעילויות הנדסת התוכנה וניהול פיתוח התוכנה תפירת “תהליך התוכנה המוגדר של הפרוייקט” הנדסת מוצר התוכנה (SPE = Software Product Engineering) ביצוע תהליך הנדסי עקבי ומוגדר היטב ביצוע שלבי הגדרת דרישות, ניתוח, תכן, מימוש ובדיקה תיאום בין-קבוצתי (IC = Intergroup Coordination) שיתוף נציגי התוכנה בהנדסת המערכת תיאום הדרישות והמחויבויות עם נציגי דיסציפלינות הנדסיות אחרות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

24 נושאי מפתח ברמה 3 (המשך) סקרי עמיתים (PR = Peer Reviews)
בחינה מתודולוגית של התוצרים ע”י עמיתים © , ד"ר עמיר תומר מבוא להנדסת תוכנה

25 נושאי מפתח ברמה 4 ניהול כמותי של התהליך
(QPM = Quantitative Process Management) הגדרת מדדים לביצועי התהליך שיפור הניהול באמצעות מדידה ובחינת העמידה בגבולות שנקבעו ניהול איכות התוכנה (SQM = Software Quality Management) הגדרת יעדי איכות לתוצרי התוכנה הגדרת אסטרטגיות ותכניות להשגת היעדים © , ד"ר עמיר תומר מבוא להנדסת תוכנה

26 נושאי מפתח ברמה 5 מניעת פגמים (DP = Defect Prevention)
ניתוח תקלות שהתגלו בעבר והגדרת אמצעים למניעת הישנותן בעתיד ניתוח מגמות לסוגים שונים של תקלות ניהול שינויים טכנולוגיים (TCM = Technology Change Management) זיהוי, בחירה ואבלואציה של טכנולוגיות חדשות הטמעה יעילה של טכנולוגיות, תוך מגמת שיפור התהליך הארגוני ניהול שינויים בתהליך (PCM = Process Change Management) הגדרת יעדי שיפור הכנסת שיפורים בתהליך, תוך כדי הערכת החזר ההשקעה הפוטנציאלי © , ד"ר עמיר תומר מבוא להנדסת תוכנה

27 המבנה האחיד של נושאי המפתח
נושא מפתח נדרש להוכיח את קיומו בארגון KPA יעדים אותם יש להשיג על מנת להוכיח קיום ה-KPA Goals מדידה - איסוף - ניתוח - שימוש אימות היישום - הנהלה בכירה - הנהלה ישירה - הא”כ תוכנה Measurement & Analysis Verifying Implementation © , ד"ר עמיר תומר Activities Performed יכולת ביצוע - מינויים - מימון - הדרכה מחוייבות - מדיניות - אחריות Commitment to Perform Ability to Perform פעילויות לביצוע לצורך עמידה ביעדים מבוא להנדסת תוכנה

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

29 ניהול דרישות (RM) - המשך
פעילויות מבוצעות קבוצת הנדסת התוכנה סוקרת את הדרישות לפני הטמעתן בתוך פרוייקט התוכנה קבוצת הנדסת התוכנה משתמשת בדרישות המוקצות כבסיס לתכניות, לתוצרים ולפעילויות התוכנה שינויים לדרישות המוקצות נסקרים ומוטמעים בפרוייקט התוכנה מדידה וניתוח מדידות נערכות ומשמשות לקביעת סטטוס הפעילויות לניהול הדרישות המוקצות אימות היישום פעילויות ניהול הדרישות נסקרות מול ההנהלה הבכירה באופן תקופתי הפעילויות לניהול הדרישות נסקרות מול מנהל הפרוייקט הן באופן תקופתי והן באופן מונחה-ארועים קבוצת הא”ת מבצעת סקרים/מבדקים על פעילויות ניהול הדרישות ותוצריהן, ומדווחת את התוצאות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

30 אז מה היה לנו...? הבטחת איכות תוכנה תקנים לפיתוח תוכנה
מהי איכות התוכנה? כיצד מבטיחים את האיכות? מקומה של הבטחת איכות התוכנה בארגון תקנים לפיתוח תוכנה תקנים צבאיים / הנדסיים ISO 9001 / ISO תהליך התוכנה ושיפורו מודל בשלות היכולת CMM © , ד"ר עמיר תומר מבוא להנדסת תוכנה

31 סיכום נושאי הקורס מרכיבי פיתוח: הגדרת דרישות, תכן, קידוד, בדיקה ואימות, תחזוקה התהליך של פיתוח תוכנה ((software process מפל מים, אינקרמנטלי, ספירלה, XP סדר ושילוב המרכיבים, תכנון ולוח זמנים, כח אדם תיאור דרישות וניתוח ראשוני תכן מונחה-עצמים ו- UML Use-cases לתיאור תרחישים תרשימי מחלקות (class diagrams) Statechart diagrams, Sequence diagrams © , ד"ר עמיר תומר מבוא להנדסת תוכנה

32 סיכום (המשך) שימוש חוזר קידוד: שילוב בדיקות (checkers) , נוהלי קידוד
Design patterns מסגרות פיתוח , שימוש במרכיבים (components) שימוש ב- XML בין מרכיבים קידוד: שילוב בדיקות (checkers) , נוהלי קידוד אספקטים להפרדת הטיפול בדרישות והרחבות בדיקות קופסה לבנה, קופסה שחורה סוגי כיסוי ומספר הבדיקות חישוב התנאי לביצוע מסלול בקוד בדיקות יחידה, אינטיגרציה, אלפא, ביטא, רגרסיה © , ד"ר עמיר תומר מבוא להנדסת תוכנה

33 סיכום (המשך) שילוב ובנית מערכת: מתי ואיך תחזוקה הבטחת איכות
ניהול תצורה: ורזיות וגירסאות ניהול דיווחי תקלות סוגי תחזוקה ודרכי טיפול הבטחת איכות תקנים של ISO 9000 והCMM- רמות איכות ואיך בודקים איכות © , ד"ר עמיר תומר מבוא להנדסת תוכנה

34 והבחינה...? מדגם מהחומר בקורס הכרת המינוחים של הנדסת תוכנה
קשרים בין שיטות ודרכי תיאור כולל חומר מההרצאה והתירגול שאינו בשקפים אין מספיק זמן ללמוד את החומר בזמן הבחינה הזמן תוכנן לבין 2 ל-3 שעות בהצלחה !! © , ד"ר עמיר תומר מבוא להנדסת תוכנה

35 ...וכאן סיימנו. © , ד"ר עמיר תומר מבוא להנדסת תוכנה

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


Download ppt "הבטחת איכות מבוא להנדסת תוכנה"

Similar presentations


Ads by Google