סוגים של תוכנה
מקובל לחלק את התוכנה לסוגים אחדים:
- מערכת ההפעלה - תוכנת האם התשתיתית המאפשרת את פעולותן של יתר התוכנות בהיותה אחראית על השליטה, התקשורת, וניהול החומרה; מאפשרת לתוכנות אחרות ולמשתמשים בהן לפעול במערכת שיש בה קשר בין חומרה לתוכנה - אם למשל, בהעברת נתונים מהזיכרון לדיסק הקשיח או בעיבוד טקסט במטרה שיוצג על הצג (מסך). באופן כללי, מערכת ההפעלה כוללת את הליבה (Kernel) וכלים בסיסיים כמו תכנת גישה לדיסק הקשיח, מנהל קבצים, מנהל תצוגה, זיהוי משתמשים, כלי ניהול ועוד. דוגמאות למערכות הפעלה נפוצות הן: ווינדוס ויוניקס.
- כלי מערכת - תוכנות המרחיבות את יכולות מערכת ההפעלה:
- מסדי נתונים.
- ניהול תנועות
- שרתי יישומים.
- אינטגרציה והעברת מסרים.
- תוכנה לשימושם הישיר של המשתמשים במחשב:
- מערכת מידע - תוכנה לניהול המידע המשמש לניהול של ארגונים. בשנים האחרונות בולטות בתחום זה מערכות ERP.
- יישומים - תוכנה המשמשת לביצוע משימה מסוימת, כגון מעבד תמלילים או גיליון אלקטרוני.
- תוכנה המשובצת במכשיריםאלקטרוניים, כמו התוכנה המפעילה את הטלפון סלולרי.
- משחקי מחשב.
דירוג בסיס נתונים
- כלי תיכנות - תוכנה ליצירת תוכנה:
בסיס נתונים (או מסד נתונים, ובאנגלית database או בקיצור DB) הוא אמצעי המשמש לאחסון מסודר של נתונים במחשב, לשם אחזורם ועיבודם. בסיס נתונים מאוחסן באמצעי אחסון מגנטי, בדרך כלל דיסק קשיח, המאפשר גישה ישירה לנתונים. הגישה לבסיס הנתונים נעשית באמצעות תוכנה ייעודית - מערכת לניהול בסיס נתונים (DBMS - Database Management System). בסיס הנתונים בנוי לפי מודל לאחסון הנתונים, כמו מנגנונים פנימיים למיון ולחיפוש.
ישנם מספר מודלים לבסיסי נתונים: רשתי, היררכי, טבלאי ומונחה עצמים. המודלים הללו מבטאים סוגי קשרים שונים בין הנתונים השונים.
המודל הנפוץ ביותר היום, הוא המודל הטבלאי שמכונה גם יחסי. במודל זה בסיס הנתונים בנוי מטבלאות, כאשר כל טבלה מכילה מידע על ישות מסוימת (לדוגמה, לקוחות במערכת בנקאית). בכל טבלה יש רשומות (שורות), כאשר כל רשומה מתייחסת למקרה ספציפי (למשל לקוח מסוים). לכל רשומה בטבלה יש מפתח ראשי שמזהה באופן ייחודי את הרשומה. הקשר בין הרשומות בטבלאות שונות נעשה באמצעות שדה מפתח זר כאשר מספר הפעמים בו יכול להיות משויך המפתח לרשומה ספציפית בטבלה האחרת מגדיר את ריבוי הקשר(יחיד לרבים - רבים לרבים וכו'). שליפת מידע ופעולות עדכון בבסיס נתונים טבלאי נעשות באמצעות שפת SQL, המהווה ממשק המאפשר גישה לנתונים מבלי להתייחס לאופן שמירתם בבסיס הנתונים.
דירוג מערכת עיבוד תנועות
מערכת עיבוד תנועות (באנגלית: Transaction Processing System, בקיצור TPS) היא מערכת מידע המתעדת את כל הפעולות השגרתיות של נתונים בארגונים, כגון הזנת נתונים מהמחלקות השונות על מכירות, משלוחים, מלאי, פעולות כספיות וכדומה.
הפעילויות שבוצעו יכולות להיות מתועדות ידנית או אלקטרונית, ותפקידה של מערכת לעיבוד תנועות הוא להפוך את הנתונים הללו למידע.
בארגונים בהם אין מערכות ממוחשבות התומכות בקבלת החלטות, יפיקו מערכות אלו דוחות למנהלים לשם קבלת החלטות ידניות. בארגונים בהם קיימות מערכות ממוחשבות לקבלת החלטות, משמשות מערכות אלו כבסיס לשם איסוף, אחסון ומחזור נתונים.
ישנם שתי שיטות עיקריות לעיבוד תנועות: עיבוד תקופתי של קבוצת תנועות (למשל כל לילה), במסגרת עיבוד באצווה (Batch), ועיבוד מתמיד באופן מקוון (On line). בשיטה זו העיבוד מתבצע מיד עם הזנת התנועה למערכת המידע.
דירוג מערכת מידע
מערכת מידע היא תוכנה המאפשרת לנהל מידע בצורה ממוחשבת. המערכת מיועדת לארגון או ליחיד, והיא מאפשרת אחסון מידע, ניהולו, עיבודו ושליפתו מאוחר יותר, באופן מלא או תוך כדי ביצוע חתכים מסוימים. ניתן לנהל מערכות מידע בכל תחום: פיננסי, תעשייתי, גאוגרפי, וכדומה. באופן כללי ניתן לחלק את מערכות המידע לאלה המיועדות לביצוע פעולות (Transaction Processing), ואלה המיועדות לאיסוף נתונים לצורך תמיכה בקבלת החלטות (Decision Support).
על פי מודל "שלוש השכבות" מערכת מידע טיפוסית מורכבת משלוש שכבות:מערכות מורכבות מכילות מספר רב יותר של שכבות.
- שכבת אחסון המידע הממומשת באמצעות בסיס נתונים
- שכבה לוגית המעבדת ומנתחת את המידע
- שכבת התצוגה המספקת את ממשק המשתמש
מחזור החיים של מערכת מידע מורכב מאפיון הצרכים, ניתוח, תכנון, הקמת המערכת, הטמעתה, וחוזר חלילה - מערכת מידע זקוקה בדרך כלל לתחזוקה שוטפת. תקינותה של מערכת מידע נבחנת ביכולתה לבצע את כל המטלות ברמת הדיוק הנדרשת ובמועדים נדרשים. אם ביצוע אחת המטלות אינו עומד בדרישות האיכות או בדרישות לוח הזמנים , עלולה כל מערכת המידע להיכשל ולהכשיל את הארגון. אולם גם דיוק יתר או הקדמת לוח הזמנים הם לעתים בלתי רצויים, מאחר שהם כרוכים בדרך כלל בהשקעות נוספות בציוד ובהוצאות תפעול שאין להן הצדקה.
מנתח מערכות מידע הוא זה שמאפיין את המערכת, ומידען הוא מי שמתמחה בשליפת מידע מתוך מערכות מידע.
דירוג התפתחות משחקי המחשב
הפעם הראשונה הידועה בה נעשה שימוש בשפופרת קרן קתודית לשעשוע, הייתה ב-1947 כאשר דימו שליחת טיל בהשראת מכשירי הרדאר של מלחמת העולם השנייה. הטיל שהוצג על ידי נקודת אור כוון אל מדבקה שהונחה על המסך
אלכסנדר ס. דוגלאסA.S. Douglas פיתח בשנת 1952 את ה"OXO", גרסה של משחק איקס עיגול שעבד על מחשב EDSAC, הפלט הגרפי הועבר למסך CRT.
משחקי מחשב קיימים החל מתחילת שנות החמישים, אז הם נכתבו על גבי מחשב מרכזי, והיו רובם ככולם טקסטואליים לחלוטין; האינטראקציה עם המשחק הייתה דרך שורת הפקודה. עד תחילת שנות השמונים מרבית המשחקים נותרו ברובם טקסטואליים, והציגו לעתים גרפיקה מבוססת תווי ASCII. לאחר מפלה כלכלית קלה באמצע שנות השמונים (שפגעה בעיקר במשחקי הווידאו), עברו משחקי המחשב להציג גרפיקה לא-טקסטואלית, בתחילה בשני צבעים (ירוק/שחור או לבן/שחור), לאחר מכן ב- 16 צבעים וכך עד לספטקרום המלא המוכר כיום, שיצא תחת השם SVGA.
לצד השיפורים הגרפיים השתפר גם הממשק: במקום שורת הפקודה נכנס השימוש בעכבר ככלי עזר, וממשקים אחרים כגון ג'ויסטיק חלחלו למשחקי המחשב ממשחקי הקונסולות. עם השליטה המדויקת התפתחו מאוחר יותר סוגות ייחודיות למחשב, שהתבססו על הדיוק המתאפשר מעבודת עכבר ומקלדת, שאינו אפשרי בג'ויסטיק בלבד.
דירוג הנדסת תוכנה
הנדסת תוכנה (באנגלית: Software Engineering) היא ענף של הנדסה העוסק בפיתוח תוכנה.
הנדסת תוכנה מיישמת גישה שיטתית, מבוקרת ומדידה לפיתוח, תפעול ותחזוקה של תוכנה. הנדסת תוכנה מקיפה את מחזור החיים השלם של תוכנה, וכוללת ידע, שיטות וכלים עבור דרישות תוכנה, תכנון תוכנה, בניית תוכנה, בדיקות תוכנה, תחזוקת תוכנה, ניהול תצורת תוכנה ואיכות תוכנה. הנדסת תוכנה נועדה להפחית את המורכבות שבפיתוח תוכנה, לשפר את אמינות התוכנה המפותחת, ולהקטין את עלויות התפעול והתחזוקה. מאפיין בולט של הנדסת התוכנה הוא פיתוח מערכות מורכבות הכוללות חומרה, תוכנה ותקשורת.
הנדסת תוכנה החלה להתגבש כתחום ייחודי בשנות ה-60 המאוחרות, על רקע משבר התוכנה. עד אותה עת נחשבה הנדסת התוכנה לענף משני של מדעי המחשב. כנס ראשון להנדסת תוכנה נערך בשנת 1968 על ידי ועדת המדע של התוכנה