הנדסת תוכנה – הבדלי גרסאות

הוסרו 8 בתים ,  לפני 6 שנים
מ
===עיצוב ותכנות===
{{להשלים|פסקה=כן}}
עיצוב ותכנות הוא '''לב-ליבה''' של הנדסת התוכנה. התחום עוסק בתכנון ו[[קוד|קידוד]] המבנה הפנימי של התוכנה, תת-המערכות והרכיבים שלה, [[מבנה נתונים|מבני הנתונים]] וה[[אלגוריתם|אלגוריתמים]] והיחסים השונים ביניהם. תחום זה הוא קרוב לוודאי המסובך ביותר בהנדסת התוכנה מפאת הדרכים הרבות והשונות לפתרון בעיה נתונה. דהיינו, יש שוני רב בפתרונות האפשריים לבעיה, בכל הנוגע לסוג המבנים הפנימיים, מספרם, סדר הופעתם והיחסים ביניהם. זאת ועוד, בתחום זה יש עושר גדול של [[שפת תכנות|שפות תכנות]], ספריות, כלים ושיטות תכנות, שמהן יש לבחור את הנכונים לבעיה נתונה. בניגוד לתחומי ההנדסה המסורתית שבהם יש תשתית [[מתמטיקה|מתמטית]] תאורטיתאיתה ואמפיריתהמסייעת לתכנון המבנה, אין בהנדסת תוכנה תשתית כזו. העוסקים בתחום משתמשים במערכת של עקרונות, [[כלל אצבע|כללי-אצבע]] (כגון [[אפס אחד אינסוף]]) ו[[תבניות עיצוב]], ומסתמכים על ניסיון רב כדי לתכנן את המבנה הנכון במסגרת האילוצים של ה[[ארכיטקטורת תוכנה|ארכיטקטורה]] והדרישות. מאז אמצע-סוף [[שנות ה-80]] מקובל לתכנת את המבנים הפנימיים ב[[תכנות מונחה עצמים|שיטות מוכוונות-עצמים]] בהסתמך על [[תבניות עיצוב]]. לעתים נעשה שימוש גם בשפת המידול המאוחדת [[UML]] לתכנון ותיעוד התוכנה. בתחום זה פועל ה[[מתכנת]] או [[מהנדס תוכנה|מהנדס התוכנה]].
 
===בדיקות===