نرم افزار سیستمی به سیستمی اطلاق می شود که رایانه ها و دستگاه های خارجی را کنترل و هماهنگ می کند و از توسعه و عملکرد نرم افزارهای کاربردی پشتیبانی می کند سیستم ها مسئول مدیریت جنبه های مختلف سیستم های کامپیوتری هستند. نرم افزار سیستم به کاربران رایانه و سایر نرم افزارها اجازه می دهد تا با رایانه به عنوان یک کل رفتار کنند بدون اینکه نیازی به در نظر گرفتن نحوه عملکرد سخت افزار زیربنایی داشته باشند.
نرم افزارهای کامپیوتری به دو دسته نرم افزارهای سیستمی و نرم افزارهای کاربردی تقسیم می شوند. نرم افزار کاربردی بخشی از نرم افزاری است که برای رفع نیازهای کاربردی کاربران در زمینه ها و مشکلات مختلف ارائه می شود. می تواند زمینه های کاربردی سیستم های کامپیوتری را گسترش دهد و عملکردهای سخت افزاری را تقویت کند.
نرم افزار کاربردی مجموعه ای از زبان های برنامه نویسی مختلف است که کاربران می توانند از آنها استفاده کنند و همچنین برنامه های کاربردی کامپایل شده در زبان های برنامه نویسی مختلف به بسته های نرم افزاری کاربردی و برنامه های کاربری تقسیم می شود.
بسته نرم افزار کاربردی مجموعه ای از برنامه هایی است که برای استفاده از رایانه برای حل انواع خاصی از مشکلات برای استفاده توسط چندین کاربر طراحی شده است.