نرمافزار یا همان Software به مجموعهای از ابزارها و دستورالعملها اشاره دارد که در وقع راهنمای سخت افزار است. نرم افزار به سخت افزار دستور میدهد که چه کاری انجام دهد. در واقع نرم افزار نقش مغز و سیستم عصبی در بدن را دارد و به اعضای مختلف یک سیستم دستور میدهند که چه کارهایی انجام دهند. اگر این ابزار وجود نداشته باشد یک سیستم کامپیوتری یا مینی پی سی اصلا هیچ کارایی نخواهد داشت. همه ما در زندگی روزمره از نرم افزارهای مختلفی استفاده میکند. ممکن است این برنامهها را روی کامپیوتر، لپ تاپ یا حتی گوشی موبایل نصب کنید. برای شناخت بیشتر این ابزارها و نحوه عملکرد آنها در ادامه با ما همراه باشید.
تاریخچه استفاده از نرمافزار
تاریخچه استفاده از نرمافزار به زمان اختراع کامپیوتر یعنی دهههای ۴۰ و ۵۰ برمیگردد. البته در آن زمان برنامهها به شکل امروزی وجود نداشتند. برنامهها در آن دوران به صورت کدهای ماشینی یا کارت بودند، اما رفتهرفته تغییر پیدا کردند و پیشرفتهتر شدند. در اواخر دهه ۵۰ اولین زبانهای برنامه نویسی مانند Fortran ایجاد شدند. در دهه ۶۰ مفهوم سخت افزار و نرم افزار به طور کامل از هم جدا شد. در دهه ۷۰ سیستم عاملها ایجاد شدند و نرم افزارهای مختلف تجاری به بازار آمدند. در دهههای ۸۰ و ۹۰ نرم افزارهای کاربردی مانند مایکروسافت ورد و اکسل گسترش پیدا کردند و تا امروز هم به طور بسیار گستردهای مورد استفاده قرار میگیرند.
قرن ۲۱ اما زمان ظهور ابزارهای بسیار پیشرفته مانند نرمافزارهای تحت وب، موبایل، هوش مصنوعی و رایانش ابری است. در این دوره نرم افزارها به طور پیوسته در حال بهروزرسانی هستند و همیشه نسخه بهتر و کاملتری از خود ارائه میدهند. این برنامهها نه تنها زندگی را آسانتر کردهاند، بلکه باعث پیشرفت اقتصاد هم شدهاند. نرم افزار آفیس یکی از قدیمی ترین ها می باشد.
نرم افزار چگونه کار می کند؟
یک نرم افزار شامل مجموعه از دستورالعملها است که با کمک زبانهای مختلف برنامه نویسی نوشته و ایجاد میشود. بعد از اینکه نرم افزار را بر روی سیستم خود نصب میکنید سیستم عامل آن را به یک زبان قابل فهم تبدیل میکند تا سخت افزار بتواند آن را بخواند. نحوه عملکرد نرم افزار به این شکل است که کاربر در ابتدا آن را نصب میکند. سپس به آن یک دستور میدهد. برنامه این دستور را پردازش میکند و سیستم عامل هم آن را برای سخت افزار ترجمه میکند. در نهایت دستور اجرا میشود و کاربر به نتیجه دلخواه خود میرسد. به عنوان مثال، شما وارد برنامه گوگل کروم میشوید و به آن دستور باز شدن یک وبسایت را میدهید. این دستور توسط نرم افزار پردازش میشود، سیستم عامل آن را برای سخت افزار ترجمه میکند و در نهایت بعد از همکاری این قسمتها با هم وبسایت برای شما باز میشود.
همچنین می توانید نرم افرار ها در تین کلاینت ها نیز نصب و استفاده نمایید.
استانداردهای نرمافزار
نرمافزارها با استانداردهای مختلفی ارائه میشوند. این استانداردها در واقع قوانین و چارچوبهای هر برنامه را تعیین میکنند. این قوانین هم کیفیت، امنیت، پایداری و توسعهپذیری نرمافزار را تضمین میکنند. به این ترتیب نرم افزار به درستی کار میکند و میتواند نیازهای کاربران را برآورده کند. در ادامه به برخی از مهمترین استانداردهای نرمافزار اشاره میکنیم:
- ISO/IEC 25010: استاندارد کیفیت نرم افزار
- OWASP: استاندارد امنیت نرم افزارهای تحت وب
- ISO/IEC 14598: ارزیابی نرم افزار
- IEEE Standards: مجموعه استانداردهای مهندسی نرم افزار
انواع نرم افزار
نرمافزارها بر اساس کاربرد، زبان برنامه نویسی، روش عملکردی و موارد دیگر به انواع مختلفی تقسیم میشوند. برای اینکه بهتر بتوانید از این برنامهها استفاده کنید، باید با انواع مختلف آن آشنا باشید. به این منظور در ادامه انواع نرم افزار را به همراه جزئیات به شما معرفی میکنیم.
نرم افزارهای پایه (Programming Software)
نرم افزارهای پایه در واقع پایه و اساس تولید برنامههای دیگر هستند. برنامه نویسان از این ابزارها برای توسعه نرم افزارهای پیشرفتهتر استفاده میکنند. در ادامه چند نرم افزار پایه را به شما معرفی میکنیم تا بیشتر با آنها آشنا شوید:
- Visual Studio Code : یک نرم افزار برای کدنویسی برنامه نویسان
- Eclipse: یک نرم افزار برای کد نویسی زبان جاوا
- PyCharm : نرم افزار پایه برای برنامه نویسی پایتون
شما با کمک این نرم افزارها میتوانید کدنویسی به زبانهای برنامه نویسی مختلف را انجام دهید. همچنین میتوانید برنامههای نوشته شده را تست کرده و ایرادات آن را پیدا کنید.
نرم افزارهای سیستمی (System Software)
نرمافزارهای سیستمی بیشتر بر روی مدیریت سخت افزارها تمرکز دارند. این برنامهها در واقع بستری ایجاد میکنند تا نرم افزارهای دیگر درست عمل کنند. بدون وجود این برنامهها اصلا نمیتوانید هیچ کاری در سیستمهای مختلف انجام دهید. در ادامه چند نمونه از این برنامهها را به شما معرفی میکنیم:
- سیستم عاملها: سیستم عاملهای ویندوز، لینوکس، مک و… در واقع یک مدل نرم افزار سیستمی هستند
- درایورها: درایوهای E، D، C و… در ویندوز همگی جزو نرم افزارهای سیستمی هستند.
- ابزارهای چند رسانهای: مثلا ویندوز مدیا پلیر یکی از نرمافزارهای سیستمی است که بعد از نصب ویندوز بر روی سیستم قرار میگیرد.
- ابزارهای ویرایش متن: برنامههایی مانند Notepad بعد از نصب ویندوز در دسترس قرار میگیرند و به کمک آنها میتوانید متنهای خود را ویرایش کنید.
نرم افزارهای کاربردی (Application Software)
نرم افزارهای کاربردی همانطور که از نامشان پیداست برای کاربر طراحی شدهاند. شما میتوانید این نرم افزارها را بر روی سیستم مورد نظر خود نصب کنید و سپس آنها را مورد استفاده قرار دهید. این برنامهها کارهای دیجیتال و سیستمی را خیلی آسان میکنند. در ادامه چند نمونه از برنامههای کاربردی را به شما معرفی میکنیم:
- Microsoft Word: مایکروسافت ورد یکی از برنامههای موجود در نرم افزار آفیس است. شما به کمک این برنامه میتوانید سندهای مختلف ایجاد کنید، متون مختلف بنویسید، متنها را ویرایش کنید و کارهای دیگر که با متن و نوشتن سروکار دارند را به خوبی انجام دهید.
- Adobe Photoshop: یکی از برنامههای معروف ویرایش عکس همین فتوشاپ است که همه افراد با آن آشنایی دارند. شما به کمک این نرم افزار کاربردی میتوانید طیف وسیعی از تغییرات را روی تصاویر مختلف اعمال کنید.
- KMPlayer: این برنامه کاربردی را هم احتمالا همه میشناسید. این برنامه برای پخش ویدئو با فرمتهای مختلف کاربرد دارد. فیلمهایی که با هیچ نرم افزاری باز نمیشوند را معمولا میتوان با این برنامه پلی کرد.
- Google Chrome: برنامه گوگل کروم هم یک مرورگر ساخت شرکت گوگل است که با اکثر وبسایتها سازگاری دارد. اگر نمیتوانید یک لینک را در مرورگرهای دیگر باز کنید حتما گوگل کروم را نصب کنید، چون تقریبا تمام لینکها را باز میکند.
همچنین می توانید به مقاله بهترین نرم افزار حسابداری مراجعه نمایید.
میان افزار (Middleware):
میان افزار برنامهای است که بین نرم افزارهای مختلف ارتباط برقرار میکند و نقش یک واسطه را دارد. این برنامه میتواند بین اجزای مختلف یک سیستم ارتباط برقرار کند تا همگی آنها به درستی و هماهنگ با هم کار کنند. معمولا در سازمانهای بزرگ از میان افزارها استفاده میکنند. در ادامه چند نمونه از میان افزارهای کاربردی را به شما معرفی میکنیم:
- RabbitMQ: این ابزار کار پیام رسانی بین سیستمهای مختلف در یک مجموعه را انجام میدهد. به این ترتیب سیستمها به صورت هماهنگ با هم کار میکنند.
- Apache Kafka : آپاچی کافکا یک برنامه مدیریت داده است که میتواند اطلاعات را در یک سیستم به خوبی نگهداری و مدیریت کند.
- Oracle Middleware: در سازمانها یک سری نرم افزارها وجود دارد که توسط همان سازمان توسعه داده میشوند. برای برقراری ارتباط موثر بین این نرم افزارها درون یک سازمان از میان افزار اوراکل استفاده میکنند.
بد افزار هم می تواند یک نوع نرم افزار شناخته شود، اگر نمی دانید بدافزار چیست این مطلب را مطالعه نمایید.
نرمافزار مشاع و نرم فزار غیر مشاع
نرمافزارهای مشاع برنامههایی هستند که با کد منبع باز تولید و اجرا میشوند. کد منبع این برنامهها در دسترس عموم قرار دارد و کاربران میتوانند آنها را تغییر دهند و شخصی سازی کنند. سیستم عامل Linux یکی از همین نرم افزارهای مشاع است و شما میتوانید کدهای آن را تغییر دهید. Mozilla Firefox هم یک مرورگر بسیار خوب و کاربردی است که در دسته برنامههای مشاع قرار میگیرد.
نرم افزارهای غیر مشاع به برنامههایی اشاره دارد که منبع باز نیستند و برای استفاده از آنها باید مجوز داشته باشید. مثلا سیستم عامل ویندوز یکی از این نرم افزارها است. برای استفاده از این سیستم عامل باید مجوز داشته باشید؛ در غیر این صورت سیستم عامل بعد از مدتی از کار میافتد و دیگر قابل استفاده نخواهد بود. برنامه فتوشاپ هم به همین شکل است. اگر نسخه اصلی و با مجوز آن را نصب نکنید نمیتوانید از تمام قابلیتها و امکانات آن استفاده کنید. این برنامهها چیزی به نام License دارند که استفاده از آنها را برای شما و هر کاربر دیگری امکان پذیر میکند.
مجموعه Microsoft Office هم یکی دیگر از نمونه نرم افزارهای غیر مشاع است. برای استفاده از این برنامه هم باید مجوز داشته باشید؛ در غیر این صورت برنامه بعد از مدتی از کار میافتد یا اینکه امکانات کامل را در اختیار شما قرار نمیدهد.
نرم افزارهای واسط و غیر واسط
نرم افزارهای واسط رابطی بین کاربر و سیستم هستند. کاربر به صورت مستقیم با این نرم افزارها کار میکند و آنها را میبیند. مثلا ویندوز Windows Explorer یا Control Panel از جمله این نرمافزارها هستند.
نرم افزارهای غیر واسط داخل سیستم هستند و کاربر به صورت مستقیم با آنها کار نمیکند. System Services یا Background Processes از جمله این برنامهها هستند که در پس زمینه سیستم اجرا میشوند، عملکرد سیستم را بهبود میبخشند و باعث تجربه کاربری بهتر میشوند.
سوالات متداول
- نرم افزار چیست؟
نرمافزارها مجموعهای از دستورالعملها هستند که به سخت افزار دستور میدهند. سخت افزار هم طبق دستور و برنامه این ابزارها کار میکند. - آیا سخت افزار بدون نرم افزار کارایی دارد؟
خیر، تا زمانی که نرم افزارها وجود نداشته باشد هیچ سخت افزاری به کار نمیآید. - آیا برای استفاده از نرم افزار حتما باید آن را نصب کنیم؟
برخی از نرم افزارها به نصب نیاز دارند، اما برخی دیگر تحت وب هستند و بدون نصب کردن هم میتوانید از آنها استفاده کنید.









