השוואה בין הנדסת תוכנה ומדעי המחשב

admin

מוסדות להשכלה גבוהה עדיין אינם עולים בקנה אחד עם מה שמכוונים מעלות טכניות רבות, כגון הנדסת תוכנה וטכנולוגיית מידע. תחומים אלה, יחד עם טכנולוגיית המידע, מערכות מידע והנדסת מידע, הם פשוט חדשים מדי. לכן, מה שבית ספר אחד או מעסיק תופסים כדרישת IT עשויים להתפרש על ידי אחרים כנדסת תוכנה.

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

בימים הראשונים, המחשבים היו מחוברים בצורה נוקשה לביצוע תפקיד מסוים. המשתמש עשה קצת יותר מאשר ללחוץ על הכפתור. הפעלת בקרת משתמש גדולה יותר הובילה לפיתוח שפות תכנות ומהדרים לתרגום השפה ה"נורמלית "לשפת המחשב. קלטות פירסינג או קלפים מותר למשתמש לכתוב הליכים משלו. Keypunch האמיתי היה מבוצע לעתים קרובות על ידי אחר, בדרך כלל מישהו עם כישורי כתיבה. הנקודה הלא נכונה, הסוגריים החסרים או המכתב המשוער, פירושו שהתוכנית כולה תיכשל. לעתים קרובות לא היה מושג למה זה קורה, עוזב את המתכנת ללכת עמוק יותר לתוך הקלפים, כמו גם את התוכנית.

תכנות המחשב החל להתפתח עם התפתחותו של מחשב אישי. שפות פשוטות, כגון BASIC, העניקו שליטה רבה יותר למשתמש הממוצע. כמה דקות בילה עם הספר אפשרה למשתמש להתחיל ליצור תוכניות פשוטות. פעמים רבות, עם זאת, חוסר ההבנה של מה המחשב יכול ולא יכול, הובילה לכישלון. זה הניח את היסודות מהנדס תוכנה אשר לא רק מבין את התוכנית, אלא גם את היכולות הפיזיות של הציוד.

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

בקטגוריות הבסיסיות ביותר, CS מתמקדת יותר על ציוד, מעגלים ורשתות. SE בדרך כלל עוסק ביצירת תוכנית אשר תהיה יעילה מבחינת גודל ומהירות לייעל את ממשק המשתמש. לאף אחד מהתחומים הללו אין פטנט בשום תחום. כדי לבנות רשת או מחשב כי הוא אמין ויעיל, זה דורש הבנה מה דרישות יוטלו על זה. כתיבת תוכנה חזקה "ללא באגים" דורשת ידע על פעולתם של המהדרים, מהירות המעבד והזיכרון הנדרש.

עם סטנדרטיזציה קטנה בין האוניברסיטאות, איכות תואר זה יכול להשתנות באופן משמעותי. כמה אוניברסיטאות דורשות מומחי CS לקחת את Microsoft Office כקורס תכנות הראשון שלהם. במקרים מסוימים, זה עשוי להיות תוצאה של פסקל, COBOL או RPG, שאף אחד מהם הוא מאוד נחוץ היום. הם יכולים גם ללמד Visual Basic, Visual C + + או Visual J בלי ללמוד תחילה את שפת הבסיס. מאותה סיבה, מהנדסי תוכנה יכולים להיות בוגרי ללא ידע בסיסי של הטכנולוגיה האלחוטית. אלה שמחפשים תעודה, כמו גם מעסיק, יכול להיות מוגש טוב יותר, תוך התעלמות הכותרת ובחינת הקורסים הנדרשים.

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

Leave a Reply