Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 1 הגדרת דרישות וניהולן Requirements Definition and Management מקורות: S. R. Schach: Chapter 9 R.

Similar presentations


Presentation on theme: "© 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 1 הגדרת דרישות וניהולן Requirements Definition and Management מקורות: S. R. Schach: Chapter 9 R."— Presentation transcript:

1 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 1 הגדרת דרישות וניהולן Requirements Definition and Management מקורות: S. R. Schach: Chapter 9 R. S. Pressman: Chapter 11

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

3 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 3 מה עומד על הפרק? היכן נמצאות הדרישות, ומה הקשר לאנליזה?היכן נמצאות הדרישות, ומה הקשר לאנליזה? מטרת שלב הדרישותמטרת שלב הדרישות תכונות הדרישותתכונות הדרישות דפוס קבוע לדרישות: Volereדפוס קבוע לדרישות: Volere טכניקות למיצוי דרישותטכניקות למיצוי דרישות אב-טיפוס מהיראב-טיפוס מהיר סיפורי משתמשסיפורי משתמש מדריך למשתמש כמסמך דרישותמדריך למשתמש כמסמך דרישות

4 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 4 היכן נמצאות הדרישות? הדרישות מתפתחות תוך כדי תכנוןהדרישות מתפתחות תוך כדי תכנון כל שלב בפיתוח:כל שלב בפיתוח: –עונה על דרישות השלבים הקודמים –מציב דרישות לשלבים הבאים תוכנה בונים כמו בית... (ראה להלן)תוכנה בונים כמו בית... (ראה להלן) –דרישות הלקוח –דרישות הארכיטקט –דרישות המהנדס הדרישות נמצאות בתוך התוכניות לביתהדרישות נמצאות בתוך התוכניות לבית –כתובות בשפה המובנת לאנשי המקצוע... –...ולעיתים גם ללקוח בפרק זה נעסוק בעיקר בדרישות הלקוח

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

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

7 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 7 מטרת שלב הדרישות יצירת תשתית למפרט התוכנה ע"פ צרכי הלקוחיצירת תשתית למפרט התוכנה ע"פ צרכי הלקוח –הגדרת צרכי הלקוח –הגדרת יכולות המוצר והתנאים בהם נדרש לעמוד –הקצאת דרישות המערכת לתוכנה –הבנה משותפת בין הלקוח למפתח יצירת בסיס לניהול ולמעקב אחר הפיתוחיצירת בסיס לניהול ולמעקב אחר הפיתוח –מטריצת מעקב דרישות (Requirement Traceability Matrix) יצירת בסיס לבדיקת המוצר ואיכותויצירת בסיס לבדיקת המוצר ואיכותו

8 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 8 תכונות הדרישות חד-משמעיות (lack of ambiguity)חד-משמעיות (lack of ambiguity) –לא סביר שמוצר, אשר הדרישות לגביו ניתנות לפירוש באופנים שונים, עונה על דרישות הלקוח. שלמות (completeness)שלמות (completeness) –למרות שאי אפשר לחזות את כל הדרישות העתידיות, יש לפרט לפחות את כל הדרישות הנוכחיות. עקביות (consistency)עקביות (consistency) –לא ניתן לממש מוצר בעל דרישות הסותרות זו את זו –זיהוי של סתירות מאפשר "מסא ומתן" ליישב את הבעיה –יש גם "התנגשויות" בדרישות המחייבות העדפה של דרישה א' על פני ב' והחלשה של ב'

9 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 9 תכונות הדרישות (המשך) עקבות למקור (traces to origin) וזיהוי ייחודי לדרישהעקבות למקור (traces to origin) וזיהוי ייחודי לדרישה –זיהוי מקורה של כל דרישה דרישות מפורשות (explicit) דרישות נגזרות (derived) הימנעות מתכן (avoid design)הימנעות מתכן (avoid design) –מפורטות ככל שיהיו, הדרישות הן עדיין רק דרישות. כל קביעה מפורשת של רכיב, אלגוריתם וכו' שייכת לתכן. סבירות לממש: ניתן לבניה במשאבים המוצעיםסבירות לממש: ניתן לבניה במשאבים המוצעים

10 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 10 גישה אפשרית: Volere מה מבנה הדרישות ומה הן מכילות?מה מבנה הדרישות ומה הן מכילות? דפוס קבוע של 26 סעיפים ראשייםדפוס קבוע של 26 סעיפים ראשיים מגבלות (constraints) למוצר: עובדות והנחותמגבלות (constraints) למוצר: עובדות והנחות דרישות פונקציונליותדרישות פונקציונליות דרישות לא-פונקציונליות (איכויות)דרישות לא-פונקציונליות (איכויות) שאלות חשובות לפרויקט (issues)שאלות חשובות לפרויקט (issues)

11 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 11 מבוא ומגבלות כלליות מבוא ומגבלות כלליות ייעוד המוצרייעוד המוצר –רקע לפרויקט, תיאור הבעיה –מוטיווציה –המטרה (במשפט ) בעלי ענין ומשתמשיםבעלי ענין ומשתמשים –מי ישלם? –מי יאשר את איכות המוצר ועמידה בדרישות? –מי ישתמש במוצר ? –רצוי לדרג סוגי משתמשים

12 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 12 נקודות מבט (Viewpoints) ובעלי ענין (Stakeholders) ניתן לארגן את הדרישות דרך נקודות מבטניתן לארגן את הדרישות דרך נקודות מבט כוללים לפחות:כוללים לפחות: –לקוח –משתמש –מפתח\ מתחזק עוזר בחלוקה פונקציונלית, וגם הבנה כללית כבסיס לאירגון דרישותעוזר בחלוקה פונקציונלית, וגם הבנה כללית כבסיס לאירגון דרישות דוגמה: מערכת לכספומטדוגמה: מערכת לכספומט –בעל חשבון (של הבנק, של בנק אחר) –פקיד (רגיל, אחראי מחלקה, מנהל סניף,....)

13 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 13 מגבלות למוצר מערכת ההפעלה וסביבה נתונהמערכת ההפעלה וסביבה נתונה ביזור הנובע מהבעיהביזור הנובע מהבעיה – כספומט ומרכז בקרה לבנק –מונה חשמל בכל בית מערכות COTS קיימות שיש לשלבמערכות COTS קיימות שיש לשלב ציוד: המערכת תותקן על Palmציוד: המערכת תותקן על Palm לוח זמנים: חייב לצאת לשוק לפני החגיםלוח זמנים: חייב לצאת לשוק לפני החגים משאבים: כסף, כוח אדם,....משאבים: כסף, כוח אדם,....

14 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 14 שמות והגדרות, ועובדות חשובות מילון מונחים מוסכם (על ידי ה-stakeholders )מילון מונחים מוסכם (על ידי ה-stakeholders ) מבוסס על מילון לתחום ( (IEEE standardמבוסס על מילון לתחום ( (IEEE standard בינתיים: רק למונחים בדרישותבינתיים: רק למונחים בדרישות יורחב בשלב התיכנוןיורחב בשלב התיכנון עובדות שיכולות להשפיע, אך אינם בסעיפים אחריםעובדות שיכולות להשפיע, אך אינם בסעיפים אחרים –הפרויקט הקודם למימוש מערכת כזו נכשל ונסגר אחרי חצי שנה

15 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 15 הנחות וסברות אינן עובדות, אך אולי יהיו נכונות בעתידאינן עובדות, אך אולי יהיו נכונות בעתיד חשוב לגלות ולרשום הנחות "סמויות" כדי למנוע אי-הבנות בפיתוחחשוב לגלות ולרשום הנחות "סמויות" כדי למנוע אי-הבנות בפיתוח –סברות על יכולות המשתמשים –הנחות על יכולות של תוכנות תומכות עתידות

16 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 16 דרישות פונקציונליות גבולות המוצר: מה בפנים ומה בחוץגבולות המוצר: מה בפנים ומה בחוץ –כולל רשימת מאורעות שהמוצר מגיב אליהם תיאור דרישות לכל פעולה של המוצרתיאור דרישות לכל פעולה של המוצר לכל דרישה כזו יש גם fit criterion המאפשר לבדוק אם נעמוד בדרישה, במימושלכל דרישה כזו יש גם fit criterion המאפשר לבדוק אם נעמוד בדרישה, במימוש –יעמוד בבדיקות מקיפות ובדיקות beta לכל פעולה

17 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 17 דרישות לא-פונקציונליות דרישות מראה ו"אווירה"דרישות מראה ו"אווירה" –מיועד לילדים: צבעוני וידידותי לגיל המטרה –ישתמש בצבע הרגיל של החברה המזמינה דרישות נוחיות השימושדרישות נוחיות השימוש –מיועד גם למשתמשים שאינם דוברי אנגלית רהוטה –קל ללמידה ראשונית –ה-fit criterion יקבע איך נבדוק (לדוגמה, בניסוי) דרישות ביצועדרישות ביצוע –מהירות תגובה –זמן בין נפילות –דיוק החישובים

18 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 18 דרישות לא-פונקציונליות (המשך) דרישות הפעלהדרישות הפעלה –תנאים מיוחדים בהפעלה: חוסר אור, יופעל בחוץ –יותאם למגבלות והנחות, ולדרישות נוחיות השימוש דרישות על אחזקה וניידות (portability)דרישות על אחזקה וניידות (portability) –כל כמה זמן צפויה גירסה חדשה? –האם מדובר בקו מוצרים (product line) ? –האם צפויה ורזיה ל-Mac ? בטחון ופרטיותבטחון ופרטיות –למי מותרת גישה לאיזה חלק מהמידע? –דרישות לביקורת כספים חיצונית –האם יש צורך בהגנה מווירוסים וחדירות?

19 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 19 דרישות לא-פונקציונליות (המשך) דרישות פוליטיות ותרבותיותדרישות פוליטיות ותרבותיות –יחסים בתוך החברה המזמינה –סטנדרטים מחייבים –רגישות לפניה בלשון זכר\נקבה בממשק למשתמש דרישות החוקדרישות החוק –שמירת הפרטיות –גישה למידע ממשלתי –אחריות לנזק אפשרי –דרישות לבדיקה מיוחדת ומעמיקה (פיקוח לכורים גרעיניים, בקרה למיכשור רפואי)

20 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 20 שאלות חשובות לפרויקט (issues) שאלות פתוחות שיש לברר בהמשךשאלות פתוחות שיש לברר בהמשך COTS קיימים לבעיה או חלקים ממנהCOTS קיימים לבעיה או חלקים ממנה בעיות שיווצרו על ידי המוצרבעיות שיווצרו על ידי המוצר משימות וסוג תהליך הפיתוח הצפוימשימות וסוג תהליך הפיתוח הצפוי מעבר (cutover) : איך נעביר מידע או נוהלים קיימים להקשר המוצר החדש?מעבר (cutover) : איך נעביר מידע או נוהלים קיימים להקשר המוצר החדש? סכנות (risks) : זיהוי, ותוכנית חירום לחלקןסכנות (risks) : זיהוי, ותוכנית חירום לחלקן הערכת מחירהערכת מחיר תיעוד: מה ומתיתיעוד: מה ומתי בהמתנה: דרישות שלא יופיעו במוצר בשלב זהבהמתנה: דרישות שלא יופיעו במוצר בשלב זה

21 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 21 טכניקות למיצוי דרישות לקוח (requirements elicitation) ראיוןראיון עבודה בצוות משותףעבודה בצוות משותף מיצוי מטקסט כתובמיצוי מטקסט כתוב שימוש ב-CASEשימוש ב-CASE בניית אבטיפוס מהירבניית אבטיפוס מהיר סיפורי משתמשסיפורי משתמש כתיבת "מדריך למשתמש"כתיבת "מדריך למשתמש"

22 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 22 מיצוי דרישות מתוך טקסט כתוב מסמך בסיסמסמך בסיס –לדוגמה: RFP = Request for Proposal הוצאת משפטי מפתח לתוך רשימההוצאת משפטי מפתח לתוך רשימה פירוק המשפטים לדרישות בדידותפירוק המשפטים לדרישות בדידות קביעת מאפיינים לדרישותקביעת מאפיינים לדרישות מיון והקצאהמיון והקצאה

23 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 23 CASE לניהול דרישות RequisitePro ® (Rational Software Co.) –מיצוי דרישות מתוך טקסט בעותק-רך –בניית מאגר דרישות –טבלת מעקב לדרישות מקור –עץ דרישות –חיפוש ושליפה לפי שאילתות –ניהול ומעקב אחר מילוי הדרישות - עבודת צוות –שילוב עם כלי ניתוח ותכן

24 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 24 ® RequisitePro - סימון ויצירת דרישות 3.1.4.Administrative Functions 3.1.4.1.Banking Information [ PR6 The QBS system shall allow updates to customer information only in the Customer Information screen. ] [ PR16 All other screens shall have customer information updated from the Customer Information Screen. ] [ PR17 All balance information shall be updated systematically ] 3.1.4.2.Reports [ PR7 The QBS system shall provide the following reports: ] Report: Complete customer history per account. Report: Customer demographic report. Report: Customer listing with options to sort by, name, company, interest rate, and origination date. מתוך “The Learning Project” RequisitePro Evaluation Report: Complete customer history per account.

25 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 25 ® RequisitePro - רישום דרישה מאפיינים פרטים

26 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 26 ® RequisitePro - הגדרת סוגי דרישות ומאפייניהם מאפייני דרישותמאפייני דרישות –קדימות (priority) –סטטוס –קושי –יציבות –...

27 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 27 ® RequisitePro - מטריצת הדרישות - מאפיינים

28 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 28 ® RequisitePro - מטריצת הדרישות - עץ מעקב

29 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 29 ® RequisitePro - מעקב דרישות נגזרות

30 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 30 אבטיפוס מהיר אמצעי לגיבוש ולהדגמת הדרישותאמצעי לגיבוש ולהדגמת הדרישות אינו בא במקום דרישות כתובותאינו בא במקום דרישות כתובות מכיל פונקציות עיקריות הניתנות להדגמהמכיל פונקציות עיקריות הניתנות להדגמה נבנה "בחופזה", בצורה אינטואיטיבית, ללא ניתוח ותכןנבנה "בחופזה", בצורה אינטואיטיבית, ללא ניתוח ותכן נכתב כיישום עובדנכתב כיישום עובד –בשפת היעד (זהירות מפיתוי לשימוש בפיתוח) –בשפה אחרת, קלה לכתיבה (לדוגמה: פרולוג) –במחולל יישומים (זהירות מציפיות-יתר)

31 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 31 דוגמה: מערכת לכספומט מכיל ממשקי משתמש ומסכי תגובותמכיל ממשקי משתמש ומסכי תגובות אין תקשורתאין תקשורת אין מסד נתונים אמיתיאין מסד נתונים אמיתי יכול לממש חישובים "מעניינים" לצורך הבנתםיכול לממש חישובים "מעניינים" לצורך הבנתם הלקוח "ישחק" ויגיבהלקוח "ישחק" ויגיב

32 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 32 - עקרונות האבטיפוס המהיר - עקרונות האבטיפוס המהיר בשפת C (למימוש ב- ++C) או בשפת Javaבשפת C (למימוש ב- ++C) או בשפת Java ממשק משתמש אלפאנומרי פשוטממשק משתמש אלפאנומרי פשוט התפריטים כוללים את כל הפונקציותהתפריטים כוללים את כל הפונקציות לא כל הפונקציות ממומשותלא כל הפונקציות ממומשות –אבל התפריט מגיב לכל האופציות! בסיס מידע מתעדכן - ממומש ע"י קבציםבסיס מידע מתעדכן - ממומש ע"י קבצים בסיס מידע קבוע - בתוך התכניתבסיס מידע קבוע - בתוך התכנית

33 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 33 דרישות דרך סיפורי משתמש סיפור: תרחיש טיפוסי המכיל מספר קטן של פעולות המערכת בפיתוחסיפור: תרחיש טיפוסי המכיל מספר קטן של פעולות המערכת בפיתוח פעולה מובנת בעזרת סה"כ הסיפוריםפעולה מובנת בעזרת סה"כ הסיפורים מתקשר ל-use cases של UMLמתקשר ל-use cases של UML בשימוש נרחב ב-Extreme programmingבשימוש נרחב ב-Extreme programming דוגמה: מהלך של הוצאת סכום מזומנים מכספומט אחרי זיהוי ובירור יתרהדוגמה: מהלך של הוצאת סכום מזומנים מכספומט אחרי זיהוי ובירור יתרה

34 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 34 דרישות דרך "מדריך למשתמש" כותבים הוראות לשימוש במערכת, לפני שיש מערכת!כותבים הוראות לשימוש במערכת, לפני שיש מערכת! מכיל: תיאור של כל פעולה אפשרית, ותיאור התוצאות של כל פעולה\בקשה.מכיל: תיאור של כל פעולה אפשרית, ותיאור התוצאות של כל פעולה\בקשה. כמה "דוגמאות שימוש" טיפוסיותכמה "דוגמאות שימוש" טיפוסיות נקרא "אבטיפוס לעניים" (מאפשר תגובת הלקוח ותיקון אי-הבנות במחיר נמוך)נקרא "אבטיפוס לעניים" (מאפשר תגובת הלקוח ותיקון אי-הבנות במחיר נמוך) ישמש בסיס למנגנון Help אך בלי חיפושישמש בסיס למנגנון Help אך בלי חיפוש

35 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 35 היכן נמצאות הדרישות? היכן נמצאות הדרישות? מטרת שלב הדרישות מטרת שלב הדרישות תכונות הדרישות תכונות הדרישות דפוס לדרישות: Volere דפוס לדרישות: Volere טכניקות למיצוי דרישות טכניקות למיצוי דרישות אב-טיפוס מהיר אב-טיפוס מהיר סיפורי משתמש סיפורי משתמש מדריך למשתמש מדריך למשתמש אז מה היה לנו...?

36 © 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 36 וכעת נעבור ל... ניתוח OO


Download ppt "© 1999-2001, ד"ר עמיר תומר מבוא להנדסת תוכנה דרישות - 1 הגדרת דרישות וניהולן Requirements Definition and Management מקורות: S. R. Schach: Chapter 9 R."

Similar presentations


Ads by Google