מבוא להנדסת תוכנה / ניתוח מערכות מידע
Download
Report
Transcript מבוא להנדסת תוכנה / ניתוח מערכות מידע
מבוא להנדסת תוכנה /ניתוח מערכות מידע
הרצאת מבוא
1
תוכן ההרצאה
•
•
•
•
•
•
•
•
מהי מערכת תוכנה
תוכנית הלימודים של הקורס
תפקידה המרכזי של מערכת תוכנה בארגון
מחזור חיים של מערכת תוכנה
גישות ומודלים לפיתוח מערכות תוכנה
סוגי מערכות מידע
בעלי התפקידים במערכות תוכנה
סיכום
ניתוח מערכות מידע ומבוא להנדסת תכנה
2
מהי מערכת מידע/תוכנה ארגונית?
• מערכת :קבוצה של רכיבים הקשורים ביניהם
ופועלים יחד כדי להשיג מטרה משותפת
• ארגון :מורכב מאוסף של תת-מערכות – אחד
מהם הוא מערכת המידע.
מערכת מידע/תוכנה
אוסף של תתי רכיבים :חומרה ,תוכנה ,נתונים ,אנשים ונהלים,
שמטרתה לתמוך בתהליכי הארגון
3
נתונים ,מידע ,ידע ומה שביניהם
• נתונים ( :(Dataהם עובדות המיוצגות ע"י מילים,
מספרים ,תמונות או צלילים שעשוי להיות להם
שימוש בביצוע משימה מסוימת – חומר גלם
• מידע ) :(informationנתונים שעובדו ויש להם
משמעות למשתמש
• ידע ) :(knowledgeשילוב של מידע שהופנם
ונקלט ושל אינסטינקטים ,רעיונות ,כללים
ופרוצדורות שמדריכים את הפרט מה להחליט
וכיצד לפעול
ניתוח מערכות מידע ומבוא להנדסת תכנה
4
שלושת המימדים של תוכנה
• סטטי ( – )Staticמייצג את נקודת המבט המבנית
(של הנתונים) על המערכת
• דינמי ( – )Dynamicמייצג את נקודת המבט
ההתנהגותית (של הבקרה) על המערכת
• פונקציונלי ( - )Functionalמייצג את ההתמרות
המתבצעות במערכת
ניתוח מערכות מידע ומבוא להנדסת תכנה
5
מצבי עיבוד של מערכת תכנה
• עיבוד מקוון ()Online processing
– הנתונים מעדכנים את מצב המערכת עם קליטתם
– עדכני יותר ,מורכב יותר לניתוח ,לתכן ולתכנות ,דורש
יותר משאבי מחשוב ומקל על השגת איכות טובה של
נתונים
• עיבוד אצווה ()Batch processing
– אוסף של טרנזקציות מאוגדות יחד ומבוצעות בשלב
שהוגדר מראש
– יעיל יותר מבחינת ניצול משאבי מחשב ולפעמים גם
מבחינת ניצול משאבי אנוש
ניתוח מערכות מידע ומבוא להנדסת תכנה
6
פלטים של מערכות תכנה
• מערכות תכנה מספקות מידע ע"י דו"חות ()Reports
ושאילתות ()Queries
• דו"ח מוצא בד"כ מדי תקופה מסוימת (יום ,שבוע,
חודש)..
– סוגי דו"חות :מפורטים ( ,)Detailedמסכמים (,)Aggregate
וחריגים (.)Exceptions
– לצורך הפקת דו"חות חריגים יש להגדיר תקנים שאליהם יושוו
ביצועי המערכת
• שאילתות מופעלות בדרך כלל באופן אקראי ובהן
מדווחים על פעילויות שגרתיות ועל מצבים משתנים
ניתוח מערכות מידע ומבוא להנדסת תכנה
7
מטרת הקורס
• הקורס מציג את השלבים השונים הקיימים
בתהליך פיתוח מערכת מידע
– בתחילת הקורס נציג את שלב הניתוח הכולל את
איסוף הדרישות ,חקר המצב הקיים ,ניתוח תהליכים
עסקיים וחקר הישימות.
– לאחר מכן נתמקד בשלב אפיון המערכת באמצעות
שפות ומתודולוגיות לבניית מודלים למערכות
• בקורס נלמד להשתמש במודלים,EPC ,DFD :
OPMובמתודולוגייתUML :
ניתוח מערכות מידע ומבוא להנדסת תכנה
8
סילבוס
שבוע
פרסום
תרגיל בית
פרסום
תרגיל בית
פרסום
תרגיל בית
פרסום
תרגיל בית
תרגול
הרצאה
1
מבוא ,מחזור חיי מערכת מידע
נרמול
2
DFD
נרמול
3
DFD
DFD
4
– EPCתיאור תהליך עסקי
DFD
5
מבוא לתכנות מוכוון עצמים
Use Case
EPC
6
Class
USE CASE
7
Class, Sequence
CLASS
8
Sequence
CLASS
9
Statechart
SEQUENCE
10
Statechart
STATECHART
11
- OPMתיאור מבני של מערכת
STATECHART
12
- OPMתיאור דינמי של מערכת
OPM
13
השוואה בין מודלים
מבחן לדוגמא
ניתוח
אפיון
ניתוח ואפיון
9
דרישות הקורס
• תרגילי בית
– בקורס 4תרגילים שמשקליהם 4% ,7% ,6% :ו 3%
– חובה להגיש את כל תרגילי הבית ולקבל בהם ציון
ממוצע של לפחות ( 55ואז הציון מגן)
• בחינה סופית
– תכלול את כל החומר הנלמד בקורס
– ישנה חובה לקבל ציון מעל 55על מנת לעבור את
הקורס
– ניתן להביא לבחינה הסופית שקפי הרצאות ושקפי
תרגולים בלבד
ניתוח מערכות מידע ומבוא להנדסת תכנה
10
מבנה הארגון
מה זה מבנה הארגון?
מבנה הארגון
מערך מורכב ומוגדר היטב של תפקידים וקשרי הגומלין
ביניהם .המבנה משמש בסיס להגדרת אופי הפריסה של
הפעילות הארגונית למחלקות ,לתפקידים ולתחומי סמכויות
והוא מנתב ותוחם באופן רשמי ומחייב את התנועה של אנשים
וחומרים בארגון
ניתוח מערכות מידע ומבוא להנדסת תכנה
11
פונקציות ארגוניות ותהליכים עסקיים
הארגון
ייצור
חשבונאות
תהליך
עסקי
לקוחות
סביבת הארגון
כספים
ספקים
כ"א
שיווק
ומכירות
ניתוח מערכות מידע ומבוא להנדסת תכנה
12
סווג הבעיות הארגוניות
• בעיות מובנות
– המאפיינים החשובים ניתנים לניסוח מתמטי כך שניתן לנסח
מודל המתאר את רמת הבצוע של המערכת בתלות בדרכי
הפעולה ,והפעולה הנבחרת משיאה את רמת הביצוע
– ניתן לעיתים למכן את תהליך קבלת ההחלטות .דוגמאות:
תהליך ניהול מלאי ,קביעת מסלול קצר ביותר ברשת
• בעיות מובנות למחצה
– רק חלק מהן ניתנות לניסוח מתמטי כך שבונים מודל המייצר
מספר חלופות והחלופה הנבחרת נקבעת באופן אינטואיטיבי
לדוגמה :בחירת מיקום מפעל ,תכנון קו אוטובוסים
ניתוח מערכות מידע ומבוא להנדסת תכנה
13
סווג הבעיות הארגוניות )המשך(
• בעיות לא מובנות
– לא ניתן לנסח בהן את המאפיינים החשובים שלהן
– בבעיות מסוג זה יש לעיתים מידה רבה של אי-ודאות
ומקובל להיעזר במומחים בקביעת ההחלטה
ניתוח מערכות מידע ומבוא להנדסת תכנה
14
קבלת החלטות
• מודל קבלת החלטות ע"פ הרברט סיימון
האם קיימת
בעיה או
הזדמנות?
פתרונות
חלופיים
לבעיה או
להזדמנות
מתקבלת
החלטה,
הפתרון נבחר.
שלב הזיהוי
שלב הניתוח והעיצוב
לכל שלב בתהליך
קבלת ההחלטות
דרושים
סוגים שונים של מידע
שלב הבחירה והבקרה
ניתוח מערכות מידע ומבוא להנדסת תכנה
15
רמות לקבלת החלטות
• על פי מודל אנתוני קיימות שלוש רמות של קבלת
החלטות
החלטות
אסטרטגיות
בעיות לא מובנות
תכנון
אסטרטגי ()3
בקרה ניהולית ()2
בקרה על ביצוע
מטלות
בעיות מובנות
החלטות טקטיות
בעיות מובנות
למחצה
בקרה תפעולית ()1
ביצוע
מטלות
דרג תפעולי ()0
ניתוח מערכות מידע ומבוא להנדסת תכנה
16
דרג ארגוני וצרכי המידע שלו
• הדרג התפעולי:
– מדווח על ביצוע מטלות יומיומיות וכולל אנשי מכירות ,פועלי
יצור ,מחסנאים ועוד
– דיווחים אופייניים :מכירה ,תעודת משלוח ,תחילת בצוע פק"ע
– תדירות הדיווח גבוהה מאד
• בקרה תפעולית:
– עוסקת בעיקר בפעולות בקרה בטווח המיידי
– נדרש מידע בעל פירוט גבוה בתחום צר של עיסוק
– תדירות השימוש במידע גבוהה
17
דרג ארגוני וצרכי המידע שלו (המשך)
• בקרה ניהולית:
– עוסק בקביעת תוכניות שמטרתן ביצוע התכנון של הרמה מעל
וכולל תכנון ,הקצאת משאבים ובקרה על עמידה במטרות
ובמשימות ארגוניות
– נדרש מידע תחומי ממוקד (שיווק ,ייצור)..,
– תדירות בינונית ,בעל פרוט בינוני בטווח קצר
• תכנון אסטרטגי:
– נקבע הכיוון שאליו מתקדם הארגון וכולל את המשימות
הארגוניות ואת האסטרטגיות והתוכניות לביצוען
– נדרש מידע שברובו מגיע ממקורות חיצוניים ,בעל פרוט נמוך,
בתחום רחב ולטווח ארוך
– תדירות השימוש במידע נמוכה
18
מחזור חיי פיתוח מובנה
SDLC – Structured Development Life Cycle
•
•
•
•
פיתוח מערכת תכנה הוא תהליך רב שלבי
בכל שלב מבצעים אנשי פיתוח חלק מתהליך הפיתוח
תוך שימוש בשיטות ,טכניקות ובכלים המתאימים לאותו
שלב ,ומפיקים תוצרי בינים שישמשו לשלב הבא
משתמשים במונח SDLCעל מנת להדגיש שהפיתוח
נעשה בשלבים מוגדרים
על אף ההבדלים הקיימים בהגדרות של שלבי הפיתוח
אפשר להבחין בכמה שלבים עיקריים שלגביהם יש
הסכמה:
הגדרה ,בנייה ,יישום ,ותפעול
ניתוח מערכות מידע ומבוא להנדסת תכנה
19
SDLC
.8תחזוקה ,בקרה וסיום
תפעול
.7הדרכה והטמעה
הטמעה
.6יישום המערכת
בנייה
.5עיצוב המערכת
.4אפיון המערכת
.3הגדרת דרישות וחקר ישימות
.2איסוף נתונים וחקר מצב קיים
הגדרה (ניתוח
ואפיון)
.1ייזום המערכת
ניתוח מערכות מידע ומבוא להנדסת תכנה
20
.1ייזום המערכת
• מטרה
– סקר ראשוני
• פעולות
– זיהוי הבעיה/צורך
– זיהוי גבולות המערכת
– זיהוי נפח הנתונים והמקורות שלהם
• תוצרים
– מסמך ייזום
• מבצעים
– משתמש/לקוח
– אופציונאלי :מנתח מערכות
ניתוח מערכות מידע ומבוא להנדסת תכנה
21
.2איסוף נתונים וחקר מצב קיים
• מטרה
– למידת מצב קיים ואיתור הבעיות וצורכי המידע הנוספים
• פעולות
– איסוף נתונים :הארגון ,הדרישות ,האילוצים ,הביצועים נדרשים ,הסביבה...
– ניתוח ותיעוד מצב קיים ,זיהוי בעיות במצב קיים ,הגדרת אילוצים
וסיכונים....
• תוצרים
– סיכומי ראיונות ותצפיות ,הקלטות ,שאלונים ממולאים ,מסמכים מהארגון
– מסמך חקר מצב קיים :תיאור כללי של הארגון וסביבתו ,מערכות קיימות,
משתמשים ,תהליכים ,בעיות...
• מבצעים
– משתמש/לקוח
– מנתח מערכות
ניתוח מערכות מידע ומבוא להנדסת תכנה
22
.3הגדרת דרישות וחקר ישימות
• מטרה
– זיהוי הדרישות ובדיקת ישימות המערכת
• פעולות
–
–
–
–
הגדרת הדרישות מהמערכת
זיהוי דרישות חסרות ,קונפליקטים ,ויתירות
הגדרת סדר עדיפויות
הערכת חלופות וישימות המערכת
• בחינת ובחירת דרך פעולה
• תוצר
– מסמך דרישות () ?Request For Proposal
– דוח ישימות () ?Request For information
• מבצעים
– מנתח מערכות
– משתמש/לקוח
ניתוח מערכות מידע ומבוא להנדסת תכנה
23
.4אפיון המערכת
• מטרה
– אפיון מפורט
• פעולות
– הגדרה מפורטת ומדויקת של הפונקציות שתבצע המערכת
– תהליכי עבודה ואפיון לוגי
• תוצרים
– מפרט המערכת (מסמך אפיון)
– ?Request For Proposal
– אופציונאלי :אב טיפוס
• מבצעים
– מנתח מערכות
– משתמש/לקוח (לקבלת משוב)
ניתוח מערכות מידע ומבוא להנדסת תכנה
24
.5עיצוב המערכת
• מטרה
– עיצוב ) (designהתוכנה
• פעולות
– הגדרה של רכיבי המערכת ,ממשקים וטיפוסי הנתונים
– הגדרה של פונקציונאליות הרכיבים והאלגוריתמים
• תוצרים
– מסמך עיצוב ( – )Designכולל ארכיטקטורה פיזית ,ממשקים ,מבני נתונים,
אלגוריתמים
– תוכנית בדיקות
• מבצעים
– מעצב בסיס הנתונים
– מעצב ממשקים ומסכים
– מעצב תוכניות (ארכיטקט תוכנה)
ניתוח מערכות מידע ומבוא להנדסת תכנה
25
.6יישום המערכת
• מטרה
– תכנות המערכת ובדיקתה
• פעולות
– כתיבת קוד ,קומפילציה ,קישור תוכניות וכ"ב
– אימות ( - )Verificationבדיקה שהתכנה מבצעת את מה שהיא תוכננה
לבצע
– תיקוף ( - )Validationבדיקה שהתכנה עונה על
הדרישות מהמערכת
• תוצרים
–
–
–
–
–
קוד של התוכנה
תוכניות שירות
קבצים להרצה
קבצים לבדיקות
תיעוד
• מבצעים
– תוכניתן/תכנת
– איש בקרת איכות ()QA
ניתוח מערכות מידע ומבוא להנדסת תכנה
26
.7הדרכה והטמעה
• מטרה
– הטמעת המערכת בארגון
• פעולות
– הדרכה
– כתיבת נהלים ,והסבת קבצים
– בדיקות קבלה
• תוצרים
– מערכת מידע עובדת
– חוברות הדרכה ,קורסים
• מבצעים
–
–
–
–
איש הדרכה
מפעיל
משתמש/לקוח
אנשי הפיתוח
ניתוח מערכות מידע ומבוא להנדסת תכנה
27
.8תחזוקה ,בקרה וסיום
• מטרה
– לאפשר למערכת לעבוד ולשרת את המשתמשים
• פעולות
–
–
–
–
תפעול המערכת
טיפול בשינויים
תחזוקה
בקרת מערכת
• תוצרים
• מבצעים
– מפעיל
– משתמש
– אנשי הפיתוח לפי הצורך
ניתוח מערכות מידע ומבוא להנדסת תכנה
28
חסרונות SDLC
• זמן פיתוח ארוך
• ראייה סדרתית של תהליך הפיתוח
• נתק מסוים בין המפתחים למשתמשים
• מערכת המידע מתקבלת בסוף תהליך הפיתוח
ניתוח מערכות מידע ומבוא להנדסת תכנה
29
גישת "בנה ותקן"
בנה מוצר
ראשוני
עדכן עד שהלקוח
מרוצה
שימוש במערכת
פרישה
פיתוח
תחזוקה
ניתוח מערכות מידע ומבוא להנדסת תכנה
30
גישת "בנה ותקן" -תכונות
• יתרונות
– מנקודת מבט של המשתמשים :הם מקבלים מ"מ עובדת בשלב
מוקדם
– מנקודת מבט של המתכנתים:הם מעדיפים לתכנת ולתקן
שגיאות תוכנה ולא לעסוק בתכנון וניתוח מערכת.
• חסרונות
– אין מפרט
– אין תכן
יעיל בכתיבת
תוכניות קטנות
• לכל תוכנה בגודל סביר נדרשים ,לפחות:
– תכנית פעולה (")"game plan
– שלבים בפיתוח
– אבני-דרך ()milestones
31
מודל "מפל המים"
Royce, 1970
דרישות
אימות
ניתוח
אימות
פיתוח
פיתוח תחת תקלה
תחזוקה
תיכון
אימות
יישום
אימות
אינטגרציה
אימות
מצב תפעולי
פרישה
ניתוח מערכות מידע ומבוא להנדסת תכנה
32
מודל "מפל המים" -תכונות
• "חוגי משוב" בין שלבים עוקבים
• תהליך מונחה-תיעוד:
– המעבר לשלב הבא מותנה (ותלוי!) בתיעוד השלב הקודם
• יתרונות
– תהליך מתועד
– אחזקה קלה יותר
• חסרונות
– פורמאליות-יתר (המוצר מאופיין אך ורק באמצעות התיעוד)
– הארכת זמן הפיתוח (לעתים שנים אחדות)
• עלות פיתוח גבוהה
• חריגות בתקציב
• שינויים בדרישות המשתמשים במהלך הפיתוח והיווצרות נתק
ניתוח מערכות מידע ומבוא להנדסת תכנה
33
גישת "אב-טיפוס"
זיהוי ראשוני של
דרישות משתמשים
פיתוח אב-טיפוס
שימוש באב-טיפוס
והערכתו
שיפור האב-טיפוס
האם האב טיפוס
מספק?
לא
כן
המשך תהליך הפיתוח
לפי שלבי מחזור החיים
34
גישת "אב-טיפוס" -תכונות
אב-טיפוס לזריקה
אב-טיפוס מתפתח
• אב-טיפוס נועד להדגים
את המוצר הסופי ולא
לממש אותו:
– אין להפוך אב-טיפוס
למוצר!
– אב-טיפוס יכול לשמש
כמפרט ,אבל לא כתכן!
– עדכן ,שנה ,בדוק -אבל
בסוף השלך לפח!
• מפתחים סידרת אבי
טיפוס
• אב טיפוס ממוצע יעבור 4
עד 6איטרציות עם
המשתמשים
• אב-הטיפוס הסופי הוא
המערכת הדרושה!
ניתוח מערכות מידע ומבוא להנדסת תכנה
35
מודל אינקרמנטלי א'
דרישות
אימות
תכן מפורט
ניתוח ואפיון
אימות
פיתוח
תחזוקה
הנדסת
מערכת
ארכיטקטורה
אימות
מבנהi
הקמתמבנה
הקמת
i
הקמת מבנה i
מימוש
שילוב
בדיקות
מסירה
מצב תפעולי
פרישה
ניתוח מערכות מידע ומבוא להנדסת תכנה
36
מודל אינקרמנטלי ב'
מבנה 1
מבנה 2
אפיון
אפיון
תכן
מבנה n
אפיון
תכן
מימוש
תכן
מימוש
שילוב
מסירה
שילוב
מסירה
מימוש
שילוב
מסירה
קבוצת אפיון
קבוצת תכן
קבוצת מימוש
ניתוח מערכות מידע ומבוא להנדסת תכנה
37
תכנות קיצוני
)(Extreme Programming
• עבודת צוות
– צוות הפרויקט יושב יחד ,אחד מהצוות הוא נציג הלקוח.
• משחק תכנון
– תכנון גרסאות ( אחת ל 4-6חודשים)
– תכנון איטרציות ( אחת ל 3-4שבועות)
• שחרור גרסאות קטנות
• עבודה בזוגות
• פיתוח מונחה-בדיקות
• שיפור עיצוב כחלק אינטגראלי של עבודת הפיתוח
• הקוד שייך לצוות
ניתוח מערכות מידע ומבוא להנדסת תכנה
38
גישות לפיתוח מערכות תכנה
• גישה פונקציונלית
DFD (Data Flow Diagram) –
ADDISA (Architectural Design of Information –
Systems based on Structured Analysis
• גישה מבנית
ERD (Entity-Relationship Diagram) :– רלציונית
UML (Unified Modeling Language) :– מכוונת עצמים
מבנית-• גישה פונקציונלית
FOOM (Functional Object-Oriented Methodology) –
OPM (Object-Process Methodology) –
39
ניתוח מערכות מידע ומבוא להנדסת תכנה
סוגי מערכות מידע
מערכת עיבוד עסקאות TPS -
•
•
•
•
•
עסקה -כל פעולה המשנה את המצב של הארגון
העסקות מהוות את המרכיב הבסיסי של הפעילות
הארגונית
תזרים עסקאות בארגון כולל :אישור ,ביצוע ,רישום
ואחריות לנכסים (ערכים)
העסקה הממוחשבת נקראת תנועה ונועדה לשמש כלי
אמין לרישום הפעולות העסקיות במערכות המחשוב
תנועה היא יחידת עבודה/ביצוע בלתי נחלקת,
הגורמת לרישום נתונים במאגרים ,אשר יכולה
להסתיים רק בהצלחה מלאה או בכישלון מלא
ניתוח מערכות מידע ומבוא להנדסת תכנה
40
סוגי מערכות מידע
מערכת עיבוד עסקאות (המשך)
•
•
•
•
•
•
המערכת אוספת ,מצרפת ,מפצלת ומעבדת נתונים
יומיומיים שיוצרים את הבסיס להערכת הפעילות של
הארגון
המערכת מונעת ע"י התרחשות של אירועים המשנים את
מצב הארגון .דוגמאות :הזמנת מוצר ,קבלת משלוח ח"ג,
הספקת מוצר
המערכת מתוכננת לעקוב אחר זרימת העסקאות בארגון.
המערכת מטפלת בבעיות שהן לרוב מובנות ומטופלות
בפרקי זמן קצרים
הפלט של מערכת ה TPSהנו בד"כ קריטי לקיום הארגון
ה TPSהנה הבסיס למערכות המידע הארגוניות
ניתוח מערכות מידע ומבוא להנדסת תכנה
41
סוגי מערכות מידע
מערכות תומכות ניהול MSS -
• המערכת תומכת בבקרה על הפעילויות הארגוניות
• הנתונים למערכת נאספים ברובם במערכת עיבוד
התנועות ()TPS
– לדוגמא – נתוני מספרי הפגמים שמיצר כל עובד משמשים
לקביעת תוכנית הדרכה לעובדים
• דו"חות אופייניים :מוצרים שיש לספקם בתקופה נתונה,
השקעות משאבים במוצרים ,מספר תקלות במוצרים
ניתוח מערכות מידע ומבוא להנדסת תכנה
42
סוגי מערכות מידע
מערכות תומכות החלטה DSS -
•
•
•
•
המערכת משמשת כלי עזר לתכנון
המערכת מטפלת בבעיות שהן ברובן מובנות
למחצה ולכן היא בוחנת לעיתים קרובות את
ההשלכות של החלטות ניהוליות על מצב הארגון
()what if
המערכת מצטיינת במנשק משתמש ידידותי
במיוחד המאפשר הפעלה פשוטה ע"י מנהלים
מסד הנתונים של המערכת הנו בד"כ בעל אופי
אינטגרטיבי והוא נגזר ומסוכם ממערכות הTPS-
של הארגון וממערכות חיצוניות נוספות
ניתוח מערכות מידע ומבוא להנדסת תכנה
43