نرم افزار
نرم افزار مجموعه ای از دستورالعمل ها، داده ها یا برنامه هایی است که برای کنترل رایانه ها و انجام وظایف خاص استفاده می شود.
این برعکس سخت افزاری است که جنبه های فیزیکی یک کامپیوتر را توصیف می کند.
نرم افزار یک اصطلاح کلی است که برای اشاره به برنامه ها، اسکریپت ها و برنامه های در حال اجرا بر روی یک دستگاه استفاده می شود.
می توان آن را به عنوان بخش قابل تعویض رایانه در نظر گرفت، در حالی که سخت افزار جزء جدایی ناپذیر آن است.
دو دسته اصلی نرم افزارها نرم افزارهای کاربردی و سیستمی هستند. برنامه نرم افزاری است که نیاز خاصی را برآورده می کند یا وظایفی را انجام می دهد.
نرم افزار سیستم برای اجرای سخت افزار کامپیوتر طراحی و برنامه زیر مجموعه کلی دارند ماننده پلاگین ها, فونت و.. که می توانند در طبقه بالا اجرا شوند.
انواع دیگر نرم افزارها شامل نرم افزارهایی است که ابزارهای برنامه نویسی مورد نیاز توسعه دهندگان نرم افزار را فراهم می کند. میان افزاری که بین نرم افزار سیستم و برنامه ها قرار دارد.
و نرم افزار درایور که دستگاه های کامپیوتری و لوازم جانبی را مدیریت می کند.
نرم افزارهای اولیه برای رایانه های خاصی نوشته می شد و همراه با سخت افزاری که روی آن اجرا می شد فروخته می شد.
در دهه 1980، فروش این نرم افزار روی فلاپی دیسک و بعداً روی سی دی و دی وی دی آغاز شد. امروزه اکثر نرم افزارها مستقیماً از طریق اینترنت خریداری و دانلود می شوند.
نرم افزار را می توان در وب سایت های ارائه دهندگان خدمات یا ارائه دهندگان خدمات یافت.
نمونه ها و انواع نرم افزارها
از میان دسته های مختلف نرم افزار، رایج ترین انواع آن شامل موارد زیر است:
نرم افزار کاربردی. رایج ترین نوع نرم افزار، نرم افزار کاربردی، بسته نرم افزاری کامپیوتری است که عملکرد خاصی را برای یک کاربر یا در برخی موارد برای برنامه دیگری انجام می دهد.
مثلا نرم افزار افترافکت در زمینه متحرک سازی فعالیت دارد.
برنامه می تواند مستقل باشد یا می تواند گروهی از برنامه ها باشد که برنامه را برای کاربر اجرا می کنند.
نمونه هایی از برنامه های کاربردی مدرن عبارتند از مجموعه های اداری، نرم افزارهای گرافیکی، پایگاه های داده و برنامه های مدیریت پایگاه داده، ایده ها , مرورگرهای وب، واژه پردازها، ابزارهای توسعه نرم افزار، ویرایشگرهای تصویر و پلت فرم های ارتباطی.
سیستم نرم افزار. این نرم افزارها برای اجرای برنامه های کاربردی و سخت افزار کامپیوتر طراحی شده اند.
نرم افزار سیستم، فعالیت ها و عملکردهای سخت افزار و نرم افزار را هماهنگ می کند.
علاوه بر این، بر عملکرد سخت افزار کامپیوتر نظارت می کند و محیط یا بستری را برای عملکرد انواع نرم افزارهای دیگر فراهم می کند.
سیستم عامل بهترین نمونه نرم افزار سیستم است. تمام برنامه های کامپیوتری دیگر را مدیریت می کند.
نمونههای دیگر نرمافزار سیستم عبارتند از میانافزار، مترجمهای زبان کامپیوتر و ابزارهای کمکی سیستم.
نرم افزار درایور
این نرم افزار که به عنوان درایورهای دستگاه نیز شناخته می شود، اغلب نوعی نرم افزار سیستمی محسوب می شود.
درایورهای دستگاه، دستگاه ها و لوازم جانبی متصل به رایانه را کنترل می کنند و به آنها اجازه می دهند وظایف خاص خود را انجام دهند.
هر دستگاه متصل به یک کامپیوتر حداقل به یک درایور دستگاه برای کار کردن نیاز دارد.
مثالها شامل نرمافزاری است که با هر سختافزار غیر استاندارد، از جمله کنترلکنندههای بازی ویژه، و همچنین نرمافزاری که به شما امکان میدهد از سختافزار استاندارد مانند درایوهای USB، صفحهکلید، هدفون و چاپگر استفاده کنید، ارائه میشود.
نرم افزار متوسط. اصطلاح میانافزار نرمافزاری را توصیف میکند که واسطه بین نرمافزار کاربردی و سیستمی یا بین دو نوع مختلف نرمافزار کاربردی است.
به عنوان مثال، میان افزار به ویندوز مایکروسافت اجازه می دهد تا با Excel و Word ارتباط برقرار کند.
همچنین برای ارسال درخواست کار از راه دور از یک برنامه کاربردی در رایانه ای که یک نوع سیستم عامل دارد به یک برنامه روی رایانه با سیستم عامل دیگر استفاده می شود. همچنین به برنامه های جدید اجازه می دهد با برنامه های قدیمی کار کنند.
برنامه ای برای برنامه نویسی برنامه نویسان کامپیوتر از نرم افزار برای نوشتن کد استفاده می کنند.
نرم افزارها و ابزارهای برنامه نویسی به توسعه دهندگان این امکان را می دهند که برنامه های دیگر را طراحی، بنویسند، آزمایش کنند و اشکال زدایی کنند.
نمونه هایی از نرم افزارها عبارتند از کامپایلر، کامپایلر، دیباگر و مفسر.
نرم افزار چگونه کار می کند؟
همه نرم افزارها دستورالعمل ها و داده های مورد نیاز برای کار و رفع نیازهای کاربر را ارائه می دهند. با این حال، دو نوع مختلف - کاربردی و سیستمی - متفاوت عمل می کنند.
نرم افزار کاربردی
نرم افزار کاربردی از برنامه های زیادی تشکیل شده است که عملکردهای خاصی را برای کاربران نهایی انجام می دهد، مانند نوشتن گزارش و مرور وب سایت ها.
برنامه ها همچنین می توانند وظایفی را برای سایر برنامه ها انجام دهند. برنامه های کامپیوتری نمی توانند به تنهایی اجرا شوند. کار آنها به سیستم عامل کامپیوتر و همچنین سایر برنامه های سیستم کمکی نیاز دارد.
این برنامه های دسکتاپ بر روی کامپیوتر کاربر نصب می شوند و از حافظه کامپیوتر برای انجام وظایف استفاده می کنند.
آنها فضای روی هارد کامپیوتر شما را اشغال می کنند و نیازی به اتصال به اینترنت ندارند.
با این حال، برنامه های دسکتاپ باید الزامات دستگاه های سخت افزاری را که روی آن اجرا می شوند، برآورده کنند.
از سوی دیگر، برنامه های کاربردی وب برای کار فقط به دسترسی به اینترنت نیاز دارند.
نرم افزار های مختلف در جاهای گوناگون استفاده می شوند مثلا نرم افزار فتوشاپ در و ادیت تصاویر و بقیه بخش های گرافیکی استفاده می شود.
آنها برای کار به سخت افزار و نرم افزار سیستم متکی نیستند. به این ترتیب، کاربران می توانند برنامه های وب را از دستگاه هایی که دارای مرورگر وب هستند اجرا کنند.
از آنجایی که اجزای مسئول عملکرد برنامه بر روی سرور قرار دارند، کاربران می توانند برنامه را از ویندوز، مک، لینوکس یا هر سیستم عامل دیگری اجرا کنند.
سیستم نرم افزار
نرم افزار سیستم بین سخت افزار کامپیوتر و نرم افزار کاربردی قرار دارد.
کاربران مستقیماً با نرم افزار سیستم ارتباط برقرار نمی کنند زیرا در پس زمینه اجرا می شود و عملکردهای اساسی رایانه را پردازش می کند.
این نرمافزار سختافزار و نرمافزار سیستم را هماهنگ میکند تا کاربران بتوانند یک اپلیکیشن سطح بالا را برای انجام اقدامات خاصی اجرا کنند.
نرم افزار سیستم هنگام بوت شدن سیستم کامپیوتری اجرا می شود و تا زمانی که سیستم روشن شود به کار خود ادامه می دهد.
جدول مقایسه سیستم و نرم افزار کاربردی
در اینجا تفاوت های اصلی بین نرم افزار سیستم و نرم افزار کاربردی وجود دارد.
طراحی و پیاده سازی
چرخه حیات توسعه نرم افزار ساختاری است که مدیران پروژه از آن برای توصیف مراحل و وظایف مرتبط با توسعه نرم افزار و هویت برند استفاده می کنند.
اولین گام در چرخه عمر طراحی، برنامه ریزی تلاش و به دنبال آن تحلیل نیازهای افرادی است که از نرم افزار استفاده خواهند کرد و ایجاد الزامات دقیق.
پس از تجزیه و تحلیل نیازهای اولیه، مرحله طراحی با هدف نشان دادن چگونگی برآورده کردن این نیازهای کاربر است.
مرحله بعدی پیاده سازی است، جایی که توسعه دهندگان نرم افزار را تکمیل و سپس تست می کنند.
مرحله تعمیر و نگهداری شامل کلیه وظایف مورد نیاز برای نگهداری سیستم می باشد.
طراحی نرم افزار شامل توصیفی از ساختار نرم افزاری که قرار است پیاده سازی شود، مدل های داده، رابط های بین اجزای سیستم و الگوریتم های بالقوه ای است که توسط مهندس نرم افزار استفاده خواهد شد.
فرآیند طراحی نرم افزار نیازمندی های کاربر را به فرمی تبدیل می کند که برنامه نویسان می توانند از آن برای رمزگذاری و پیاده سازی نرم افزار استفاده کنند.
مهندسان نرم افزار طراحی نرم افزار را به طور مکرر توسعه می دهند، جزئیات را اضافه می کنند و طراحی را در حین توسعه تنظیم می کنند.
انواع مختلف طراحی نرم افزار شامل موارد زیر است:
طراحی معماری. این یک پروژه بنیادی است که ساختار کلی سیستم، اجزای اصلی آن و روابط متقابل آنها با یکدیگر را از طریق ابزارهای طراحی معماری تعریف می کند.
طراحی سطح بالا این دومین سطح از طراحی است که بر چگونگی پیاده سازی سیستم همراه با تمام اجزای آن در قالب ماژول های پشتیبانی شده توسط پشته نرم افزار تمرکز دارد. طراحی سطح بالا رابطه بین جریان داده و ماژول ها و عملکردهای مختلف سیستم را توصیف می کند.
طراحی دقیق و با جزییات.
این سطح سوم از طراحی بر روی تمام جزئیات پیاده سازی مورد نیاز برای یک معماری معین تمرکز می کند.
نمودار چرخه عمر توسعه نرم افزار
شش مرحله اصلی توسعه نرم افزار را بیاموزید.
نحوه حفظ کیفیت نرم افزار
کیفیت نرم افزار زمانی اندازه گیری می شود که نرم افزار نیازمندی های کاربردی و غیر کاربردی خود را برآورده کند.
مجوز نرم افزار و پتنت
مجوز نرم افزار یک سند الزام آور قانونی است که استفاده و توزیع نرم افزار را محدود می کند.