نرمافزار نام دیگری برای برنامه رایانه است. ظاهراً اولین بار جان تاکی در سال ۱۹۵۸ این واژه را بهاین معنا بهکار برده است. احتمالاً در انگلیسی این واژه را به قیاس سختافزار (hardware) ساختهاند که خیلی قبل از پیدایش رایانه (به معنای اسباب و اشیاء) بهکار میرفته است.
اگرچه «نرمافزار رایانهای» و «برنامه رایانهای» یک معنی دارند ولی بهنظر میرسد اصطلاح «نرمافزار» بیشتر در مورد مجموعه نسبتاً بزرگی از برنامهها بهکار میرود و «برنامه» به جزئی از سیستم نرمافزاری اشاره دارد.
نرمافزارهای رایانه را به دو دسته بزرگ میتوان بخش کرد:
• نرمافزار سیستم
• نرمافزار کاربردی
امروزه واژه نرمافزار را در معناهائی جز معنی برنامه رایانهای نیز بهکار میبرند. مثلاً در فن مدیریت برای اشاره به روشها و دانش فنی (در مقابل وسائل و تجهیزات و نیروی انسانی)
مهندسی نرمافزار
مهندسی نرمافزار پیشهای است که به یاری دانش رایانه و دیگر فناوریها و روشها به آفریدن و نگاهداری نرمافزار رایانهای میپردازد.
مسائل اصلی مهندسی نرمافزار تولید نرمافزار بر اساس موارد زیر است:
• الزامات تعیین شده
• در زمان تعیین شده
• در محدودهٔ بودجه پیشبینی شده
کاربردهای مهندسی نرم افزار دارای ارزش اجتماعی و اقتصادی است زیرا بهرهوری مردم را بالا برده چند و چون زندگی آنان را بهتر میکند. مردم با بهره گیری از نرم افزار توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههای آن سامانههای توکار (خود پرداز، تلفن همراه و …)، نرم افزار اداری، بازیهای رایانهای، و اینترنت میباشد.
فناوریها و خدمات مهندسی نرم افزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه داده ها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار.
صنعت نرمافزار در کشور ما از جنبههای مختلفی دچار ضعف و مشکل است. این مشکلات نیز به حدی است که صنعت نرمافزار ایران را با بحرانهای جدی مواجه کرده و این در حالی است که مشکلات مذکور به ناگاه و یک شبه به وجود نیامدهاند، بلکه این مواردی است که به علت بیمهری و کم توجهی به این صنعت پرسود از گذشته تا کنون وجود داشته و شاید به همین علت است که کارشناسان به اشکال مختلف از «فنا یا بقا»ی این صنعت سخن میگویند تا شاید به این ترتیب توجهات بیشتری از سوی مسئولان امر به صنعت نرمافزار و تولید کنندگان داخلی شود.
تمام اصرار و فشار کارشناسان و فعالان این عرصه نیز به علت آن است که آنها پتانسیلها و تواناییهایی را در کشور و در صنعت نرمافزار میبینند که ذره ذره در حال از دست رفتن است. اما درعین حال برخی از نهاد های خصوصی و دولتی نیز ظاهراً یا عملاً در تلاش برای حفظ و رونق بخشیدن به صنعت نرمافزار کشور هستند.
بدیهی است که هر بخشی به فراخور توان، امکانات و اختیارات خود باید به شکلی به شکوفایی بخشی از این صنعت کمک کند تا به این ترتیب و با اصلاح اجزاء به اصلاح کل برسیم.
ولی در اینجا پرسش بسیار مهمی مطرح می شود. پرسشی که پاسخ به آن از اتلاف انرژی ، نیروی انسانی، منابع ملی، موازی کاری، شکست و تشدید ابهامات در سودمند بودن صنعت نرمافزار جلوگیری خواهد کرد.