فهرست رده‌های نرم‌افزار
نرم‌افزار کامپیوتری می‌تواند بر اساس عملکرد به چندین رده تقسیم شود. سه رده اصلی در این رده‌بندی جای می‌گیرند: (۱)نرم‌افزارهای کاربردی، برای انجام کارهای کاربر طراحی شده‌اند. این نرم‌افزارها می‌توانند استفاده عمومی همچون واژه‌پردازهای عمومی و مرورگرهای اینترنتی باشند یا استفاده‌های خاصی همچون مدیریت کاربران، مدیریت اتومبیل‌ها و... باشند. نرم‌افزارهای کاربردی با (۲)نرم‌افزارهای سیستمی ارتباط برقرار می‌کنند. نامی که برای برنامه‌هایی به کار می‌رود که وظایفی همچون به‌راه انداختن کامپیوتر، اتصال به اینترنت و... را انجام می‌دهند. گونه دیگر، (۳)ابزارهای برنامه‌نویسی کامپیوتر همچون کامپایلرها و پیوند دهنده‌ها هستند.
چارچوب نرم‌افزاری
در برنامه‌نویسی کامپیوتر یک چهارچوب نرم‌افزاری یک انتزاع است که در آن نرم‌افزار فراهم کننده عملکردهای عمومی می‌تواند به صورت انتخابی توسط کدهای نوشته شده کاربران عوض شود، در تعریفی بهتر می‌توان گفت یک فراهم کننده طراحی‌های قابل استفاده برای نرم‌افزار است. در واقع یک چهارچوب یک راه استاندارد برای ساخت و گسترش برنامه‌ها است و یک محیط با قابلیت استفاده مجدد در محیط نرم‌افزاری است به صورتی که عملکردهای خاصی از بخش‌های یک پلتفرم بزرگ نرم‌افزاری را آماده می‌کند تا برنامه‌نویسی نرم‌افزارهای کاربردی و الگوریتم‌ها را آسان‌تر کند، چهارچوب‌های نرم‌افزاری ممکن است شامل برنامه‌های پشتیبانی، کامپایلرها، کتابخانه‌های کد، مجموعه ابزارها ورابط‌های برنامه‌نویسی برنامه (API) باشد که تمام اجزای مختلف را گرد هم آورده تا امکان توسعه یک پروژه یا سیستم فراهم کند.