نرمافزار کامپیوتر (Software) یا به عبارت ساده تر نرمافزار، مجموعه ای از داده ها و دستورالعمل های مرحله به مرحله کامپیوتری و رایانه ای هستند که به رایانه و کامپیوتر می گویند دقیقا چگونه کار کند.
نرم افزار با سخت افزار کامپیوتر (Hardware) خیلی متفاوت است. سیستم کامپیوتری به صورت فیزیکی ساخته شده و قابل لمس است و در واقع سخت افزار عملیات را انجام می دهد.
در علوم رایانه و مهندسی نرم افزار، نرم افزار رایانه از جمله نرم افزار واسط تمام اطلاعات پردازش شده توسط سیستم های رایانه ای، برنامه ها و داده ها هستند.
نرم افزارها و برنامه های رایانه ای (Program) شامل برنامه های کامپیوتری، کتابخانه ها و داده های غیراجرایی مرتبط با آن، مثل اسناد آنلاین یا رسانه های دیجیتال هستند. سخت افزار و نرم افزار رایانه ای به یکدیگر وابسته بوده و به تنهایی نمی توان از آنها استفاده کرد و روح و جان یک کامپیوتر، نرم افزار می باشد و نرم افزار و تعامل با سخت افزار به یک سیستم معنا می دهند.
کدهای اجرایی که شامل دستورالعمل های مربوط به زبان ماشین است در پایین ترین سطح برنامه نویسی توسط یک پردازنده مرکزی اجرا می گردد.
زبان ماشین شامل دسته ها و مقادیر باینری است که دستورالعمل های پردازنده را اجرا می کند و وضعیت رایانه را تغییر می دهد. مثلا دستورالعملی وجود دارد که می تواند مقدار ذخیره شده در یک مکان ذخیره سازی خاص در رایانه را تغییر دهد و یا حتی حذف و جابه جا نماید.
یک دستورالعمل همچنین می تواند عملیات ورودی یا خروجی مثل نمایش متن در صفحه رایانه را فراخوانی کند و رابط بین کاربر و سخت افزار باشد.
از سال 2015، بیشتر رایانه های شخصی، دستگاه های هوشمند و سرورها دارای پردازنده هایی با چندین واحد پردازنده و اجرایی هستند که محاسبات را میتوانند با هم و همزمان انجام دهند.
امروزه بیشتر نرم افزارها با زبانهای برنامه نویسی سطح بالایی که به زبان های طبیعی نزدیکتر و برای برنامه نویسان آسان تر هستند، نوشته می شوند.
طبق تحقیق تیم دیتاجو، در سال 1935 اولین نظریه در مورد نرم افزار و طرح اولیه برنامه کامپیوتری با مقاله ای درمورد اعداد شمارای محاسبه شونده، با استفاده از انسکیدانس پرابلم و مسال تصمیم گیری توسط آلن تورینگ انگلیسی که در حل مسائل ریاضی نابغه بود ارائه گردید.
بعد از آن در سال ۱۹۵۸ برای اولین بار ریاضیدان آمریکایی به نام جان توکی واژه و اصطلاح نرم افزار را بر سر زبان مهندسین نرم افزار انداخت.
بعد از آن با تحقیقات مشابه دیگر به خصوص در زمینه حل مسائل ریاضی، نیاز به ایجاد رشته دانشگاهی علوم کامپیوتر و مهندسی نرم افزار احساس گردید که منظور از علوم کامپیوتر مطالعه نظری رایانه و نرم افزار است، در حالی که هدف مهندسی نرم افزار، کاربرد و توسعه نرم افزار می باشد.
متخصصین علوم رایانه ای، نرم افزارها را از نظرهای مختلفی مثل نرمافزارهای پایه ای که برای گسترش و توسعه برنامههای کامپیوتری هستند، نرم افزارهای سیستمی(System Software) که باعث راه اندازی و استفاده از سخت افزار میشوند و همچنین نرمافزارهای کاربردی دسته بندی می کنند ولی به صورت کامل و با توجه به ابعاد نرم افزار از نظر بعد فنی و بعد حقوقی تقسیم بندی های دقیق و حرفه ای کرده اند که در زیر به طور کامل لیست شده اند:
تقسیم بندی فنی نرم افزار با توجه به معیار هدف نرم افزار، معیار زمینه استفاده نرم افزار، معیار کاربرد نرم افزار به طور خلاصه در دسته بندی های نرم افزاری زیر لیست شده اند:
تقسیم بندی های حقوقی نرم افزار با توجه به ماهیت فنی که نرم افزارها دارند، کاری خیلی دشواری بوده و نیازمند مجموعۀ قواعد کاملی می باشد تا ارزش اقتصادی نرم افزار، حقوق پدیدآورندگان نرم افزار، حقوق مصرف کنندگان نرم افزار و همچنین برای جلوگیری از بروز اختلافات مربوط به موارد نرم افزاری مورد حمایت قرار بگیرد که به طور خلاصه به بعضی از این دسته بندی های نرم افزاری در زیر اشاره شده است:
نرم افزار کاربردی (Application Software) برای کاربران نهایی سیستمهای کامپیوتری ساخته شده اند و معمولا همه افراد از نرمافزارهای کاربردی به صورت روزانه استفاده میکنند تا با استفاده از آنها بتوانند کارهای اداری و شخصی را انجام دهند.
اجرای نرم افزار کاربردی به طور کامل از سیستم عامل اصلی رایانه و هسته کامپیوتر مستقل هستند. برنامه های دسکتاپ، برنامه های مبتنی بر وب و سوئیت برنامه از انواع نرم افزار کاربردی به حساب می آیند.
از جمله این نرمافزارها و برنامه های کاربردی میتوان به نرم افزار های مهندسی، نرم افزار بازار، نرم افزار فیسبوک، نرم افزار سروش، نرم افزار دانلود از یوتیوب، نرم افزار ایفون، نرم افزار اسنپ، نرم افزار تلگرام، نرم افزار دانلود نرم افزار اندروید برای کامپیوتر، نرم افزار دیکشنری گوگل، نرم افزار همراه بانک ملت، نرم افزار دیکشنری انگلیسی به فارسی، نرم افزار دانلود بازی ها نام برد.
نرم افزار تحت ویندوز (Windows Based Program) به نرمافزارها و برنامه هایی که فقط در تحت سیستم عامل ویندوز نصب شده و قابل اجرا هستند، گفته می شود.
از مزیت های مهم نرم افزار تحت ویندوز می توان به سریع بودن، رابط کاربری زیبا و آسان و قدرتمند، داشتن اعتبار کافی، دسترسی به رجیستری، مدیریت پردازش پردازشگر و ... اشاره نمود.
بیشر نرم افزارهای مهندسی، نرم افزارهای معماری و حتی نرم افزار تلگرام، نرم افزار تحت ویندوز بوده و تحت سیستم عامل ویندوز نصب و اجرا می گردند.
نرمافزار تحت وب (Web Application)، برنامه ها و نرمافزارهایی که به صورت کلاینت و سرور هستند و از یک هسته پایدار بهره میبرند و با استفاده از مرورگرهایی مثل گوگل کروم، فایرفاکس و اینترنت اکسپلورر با استفاده از تلفن همراه، تبلت و لپتاپ و یا هر دستگاهی قابل دسترس هستند.
برای مثال اپلیکیشن هایی مثل تلگرام، واتساپ، اسنپ و یا هر نرم افزاری که با استفاده از مرورگر و اینترنت قابل اجرا هستند، نرمافزار تحت وب محسوب می شوند.
سرعت پردازش و پاسخگوئی به کاربر در نرم افزارهای تحت وب فعلا بسیار کندتر از نرم افزارهای تحت ویندوز می باشد ولی نرمافزار تحت وب مستقل از پلتفرم بوده و به نوع دستگاه و نوع مرورگر کاربر بستگی ندارد.
اصطلاح نرم افزار رایگان یا نرمافزار آزاد (Free Software) بر خلاف اصطلاح نرمافزار انحصاری، برای نرمافزارهای کد منبع باز یا اوپن سورس که به کاربران، بصورت رایگان و بدون محدودیت و حتی بدون پرداخت هزینه امکان مشاهده سورس کد نرم افزار و همچنین تغییر، ویرایش، کپی و استفاده از آن را تحت لایسنسها و قوانینی مثل GPL، Apache، BSD را میدهند، گفته می شود.
از نمونه های نرمافزارهای آزاد و رایگان کاربردی می توان به هسته ی توزیع های لینوکس، کتابخانه ی زبان برنامهنویسی سی، پایگاهدادهی رابطهای مایاسکیوال، زبانهای برنامهنویسی روبی، پایتون، پرل و پیاچپی، مرورگر وب فایرفاکس و کرومیوم، مجموعه نرم افزار اداری اپن آفیس، نرمافزارهای مدیریت محتوای جوملا و وردپرس اشاره نمود.
مهندسی نرمافزار (Software Engineering) عبارت است از اصول مهندسی مناسب بر نرمافزار که شامل کاربرد یک راه کار منظم قابل اندازهگیری و سیستماتیک برای توسعه و اجرا و تولید و نگهداری نرمافزار با کیفیت قابل اطمینان می باشد.
پانزده رکن و حوزه های علمی مهندسی نرمافزار شامل موارد زیر است:
معماری نرمافزار (Software Architecture) که از کلیدیترین بخشهای تولید نرمافزارهای تجاری و پیادهسازی یک پروژه نرمافزاری می باشد به طور کلی به سازماندهی و گروه بندی ساختار و اجزاء سازمان یک سیستم نرمافزاری با عملیات مشخص و متمرکز برای پوشش دادن به نیازمندیهای فنی، عملیاتی، کاربری و تجاری یک سیستم نرمافزاری است تا بتوان کیفیت تولید نرمافزار و نگهداری آن را نیز بهینه و پرسرعت نمود.
برخی از معماری های معروف نرمافزار در زیرشرح داده شده است:
10 الگوی متداول معماری نرمافزار که هر پروژه نرم افزاری بر مبنای آن ساخته می شود و هر مهندس نرم افزاری باید با آن آشنا باشد به قرار زیر است:
دانلود نرم افزار یا بارگیری نرم افزار (Download)، یک فرآیند می باشد نرم افزار را از اینترنت دریافت میکند به این شکل که دادههای الکترونیکی و دیتاهای نرم افزار را از یک رایانه یا یک سرور برداشته و به رایانه ی شما و یا کلاینت توسط یک مودم یا شبکه رایانهای بارگزاری و ذخیره می کند.
برای دانلود نرم افزار جدید و ذخیره نرم افزار بر روی کامپیوتر راه حل ها و روش های خوبی وجود دارد که در زیر به آن ها پرداخته شده است.
اگر نرم افزاری که می خواهید دانلود کنید دارای لینک دانلود مستقیم باشد، جهت دانلود نرم افزار کامپیوتر از طریق مرورگر اینترنت اکسپلورر، فایرفاکس، اپرا و کروم کافیست که بر روی لینک مستقیم نرم افزار، راست کلیک نموده و گزینه Save Target As و یا Save Link As را انتخاب نمایید و پس از مشخص کردن محل ذخیره کردن نرم افزار مورد نظر، دکمه ذخیره را کلیک کنید و نرم افزار مورد نیاز خودتان را به راحتی دانلود کنید.
دانلود نرم افزار کامپیوتر از طریق نرم افزار مرورگرهای وب محدودیت های دانلود هم زمان و مدیریت آن ها برای دانلودکننده ایجاد می کند و در صورت قطع ارتباط اینترنت نرم افزار دانلود شده نصفه و نیمه بود وقابل استفاده و نصب و حتی ریکاوری شاید نباشد، به همین جهت نرم افزارهای مدیریت دانلود نرم افزار پا به عرصه دانلود گذاشته اند که از قوی ترین آن ها می توان به نرم افزار اینترنت دانلود اکسلریتور (IDA) و نرم افزار اینترنت دانلود منیجر (IDM) اشاره کرد که از معروفیت خوبی بهره مند هستند و امکانات خوبی مثل برنامه ریزی ساعات و ترتیب و سرعت انجام دانلودها و همچنین مدیریت تعداد دانلود های همزمان را دارند و مشکلات دانلود از طریق نرم افزار مرورگر وب به خوبی رفع گردیده است.
برای آموزش نرم افزار های گفته شده در بالا می توانید با جستجوی عبارت آموزش نرم افزار و نام نرم افزار مورد نظر اطلاعات خوبی پیدا نمایید.
سایت های معتبر و برتر مرجع خارجی برای دانلود رایگان نرمافزار وجود دارند که حتی میتوان آموزش دانلود از یوتیوب دانلود فیسبوک، دانلود نرم افزارهای اندروید، دانلود سروش، دانلود اسنپ، دانلود تلگرام و حتی دانلود نرم افزار ویندوز و دانلود رایگان نرم افزار با کرک و سریال نامبر در آن ها پیدا نمود که در زیر به تعدادی از سایت های دانلود رایگان نرمافزار اشاره شده است:
دفتر تبلیغات
تهران- فلکه دوم تهرانپارس خ جشنواره، بین خیابان سجده ای و چهارراه سیدالشهدا- پلاک ۱۲۹ طبقه اول واحد ۲
شماره تماس: 02176703238 - 09193762158