תוֹכנָה הוא רצף של הוראות בכתב להתפרש על ידי מחשב לצורך ביצוע משימות ספציפיות. ניתן להגדיר זאת גם כ- תוכניות השולטות בהפעלת מחשב.
במחשב, תוכנה מסווגת כחלק ההגיוני שתפקידו לספק הוראות ל- חוּמרָה. חומרה היא כל החלק הפיזי שמרכיב את המחשב, למשל מעבד, זיכרון והתקני קלט ופלט. תוכנה מורכבת מכל התוכניות הקיימות עבור מערכת מסוימת, בין אם מיוצרת על ידי המשתמש ובין אם על ידי יצרן המחשבים.
המונח האנגלי "תוֹכנָה"שימש לראשונה בשנת 1958 במאמר שכתב המדען האמריקאי ג'ון ווילדר טוקי. הוא היה אחראי גם על הצגת המונח "קצת"לייעד" ספרה בינארית ".
ניתן לסווג תוכנה לשלושה סוגים:
תוכנת מערכת: הוא מערך המידע המעובד על ידי המערכת הפנימית של המחשב המאפשר אינטראקציה בין המשתמש לציוד היקפי למחשב באמצעות ממשק גרפי. הוא כולל את מערכת ההפעלה ומנהלי ההתקנים (זיכרון, מדפסת, מקלדת ואחרים).
תוכנת תכנות: היא מכלול הכלים המאפשרים למתכנת לפתח מערכות מחשב, בדרך כלל באמצעות שפות תכנות וסביבת פיתוח משולבת חזותית.
תוכנת יישוםהם תוכנות מחשב המאפשרות למשתמש לבצע סדרה של משימות ספציפיות ב כמה תחומי פעילות כגון אדריכלות, הנהלת חשבונות, חינוך, רפואה ותחומים אחרים פרסומות. ישנם גם משחקי וידאו, מאגרי מידע, מערכות אוטומציה תעשייתיות וכו '.
יש גם את המושג תוכנה חינמית, המתייחס לתוכנית שמעניקה למשתמש חופש ומאפשרת לו ללמוד, לשנות ולשתף אותה עם אנשים אחרים. לשם כך, המשתמש צריך להיות מסוגל לגשת לקוד המקור, לשנות אותו בהתאם לצרכיו.