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

گروه بندی نرم افزارها چگونه انجام می شود؟

دسته بندی نرم افزارها به روش های گوناگونی انجام می شود و یک چارچوب بین المللی استاندارد شاخص برای آن وجود ندارد. البته سازمان هایی نظیر «مرکز بهره وری و کیفیت آمریکا» با نام اختصاری APQC و «سازمان ارزیابی تکنولوژی کانادا» با نام اختصاری TEC برای نرم افزارهای سازمانی اقدام به تهیه استاندارد طبقه بندی اختصاصی خود کرده اند که بسیاری از شرکت ها و سازمان های بین المللی از آن تبعیت کرده و استفاده می کنند، اما این استانداردها برای سایر مناطق دنیا مرجع رسمی نیستند و در کنار سایر روش های دسته بندی نرم افزار مانند کاربرد نرم افزار، تکنولوژی یا زبان استفاده شده برای تولید نرم افزار، صنعت و حوزه مورد استفاده، نوع نشر و مجوزهای انتشار، نوع کاربر و ده ها شیوه دیگر، مورد استفاده قرار می گیرند.

اما در کنار دو سازمان معرفی شده APQC و TEC، سازمان جهانی استانداردسازی (International Organization for Standardization) که همه ما استانداردهای معروف آن را با نام ISO می شناسیم، در بخش مهندسی نرم افزار و سیستم ها، اقدام به طراحی یک چارچوب جامع همراه با فرایندها و روش های پیاده سازی برای طبقه بندی نرم افزار تهیه و ارائه کرده است که با استفاده از آن، هر شخص، شرکت یا سازمانی می تواند بر اساس نیاز خود به بهترین شکل، نرم افزارهای مورد نظر خود را گروه بندی کرده و در چارچوب استاندارد ISO/IEC TR 12182:2015 دسته بندی ایجاد شده را بروزرسانی و منتشر نماید.

فراکاوی با توجه به اهمیت این موضوع، ضمن بررسی دقیق انواع استانداردهای مختلف دسته بندی نرم افزارها، طی مقالات مختلفی این دسته بندی ها را همراه با مثال هایی از نرم افزارهای ایرانی و خارجی برای علاقمندان منتشر خواهد کرد.

دسته بندی نرم افزارها بر اساس حوزه عملیاتی

یکی از انواع متداول دسته بندی نرم افزار در ایران و جهان، دسته بندی بر اساس حوزه عملیاتی نرم افزار در سطح کلان است. این نوع طبقه بندی به نوعی صنایع را مورد توجه قرار میدهد و در این گروه بندی، نوع و مقیاس خود نرم افزار در اولویت نیست. برخی از این دسته بندی ها عبارتند از: بانک، بیمه، خرده فروشی، تولیدی صنعتی، پخش و توزیع، املاک و مستغلات، خودروسازی و ده ها صنعت دیگر.

طبقه بندی نرم افزارها بر اساس نوع کاربرد نرم افزار

نوعی از دسته بندی که برای عموم مردم بیشتر شناخته شده و اکثرا نسبت به آن آشنایی و شناخت بیشتری دارند، طبقه بندی بر اساس کاربرد و نقش عملیاتی نرم افزار است. این نوع دسته بندی مستقیما کاربرد نرم افزارها را بیان می کند و مخاطب به سادگی با نقش نرم افزار آشنا می شود. برخی از این دسته بندی ها عبارتند از: حسابداری و مالی، اداری، منابع انسانی، انبارداری، امور قراردادها، پشتیبانی و خدمات پس از فروش، سیستم عامل، پیام رسان، ویرایشگر تصویر و صدها دسته بندی مشابه دیگر.

گروه بندی نرم افزارها بر اساس نوع مجوز انتشار و مدل اقتصادی

این گروه بندی بیشتر برای اهل فن و فعالان حوزه نرم افزار شناخته شده است و برای افرادی که با دنیای نرم افزار بیگانه هستند یا اطلاعات تخصصی در این حوزه ندارند، بی معنی و غیرکاربردی است. در این نوع گروه بندی نرم افزارها را به دو دسته اصلی «نرم افزارهای متن باز» و «نرم افزارهای غیرمتن باز یا تجاری» تقسیم می کنند که در بسیاری از موارد، عبارت «متن باز» با عبارت «رایگان» یا «بدون هزینه» برای کاربران معنی پیدا می کند.

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

دسته بندی نرم افزارها بر اساس پلتفرم اجرا

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