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