بانی نو
هیچ محصولی در سبدخرید نیست.

نرم افزار کامپیوتر چیست؟

نرم افزار کامپیوتر

نرم افزار کامپیوتر چیست؟

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

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

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

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

شاید برایتان سوال پیش بیاید که نرم افزار کامپیوتر چیست؟ اصطلاح “نرم افزار” برای اولین بار توسط جان دبلیو توکی در سال 1957 استفاده شد. در علوم کامپیوتر و مهندسی نرم افزار ، نرم افزار کامپیوتر همه برنامه های رایانه ای است.

مفهوم خواندن توالی های مختلف دستورالعمل ها در حافظه دستگاهی برای کنترل محاسبات ، توسط چارلز بابیج به عنوان بخشی از موتور تفاوت خود ابداع شد. نظریه ای که پایه و اساس بیش ترین نرم افزارهای مدرن است و اولین بار توسط آلن تورینگ در مقاله خود در سال 1935 با عنوان “اعداد قابل محاسبه با کاربردی در Entscheidungsproblem” ارائه شد.

تاریخچه نرم افزار

اصطلاح نرم افزار اواخر دهه 1950 مورد استفاده قرار گرفت. در این مدت ، اگرچه انواع مختلفی از نرم افزارهای برنامه نویسی ایجاد می‌شد ، اما معمولاً در دسترس تجاری نبود. در نتیجه ، کاربران – عمدتا دانشمندان و شرکتهای بزرگ – اغلب مجبور بودند نرم افزار خود را بنویسند.

21 ژوئن 1948. تام کیلبورن ، دانشمند کامپیوتر ، اولین نرم افزار جهان را برای کامپیوتر منچستر بیبی در دانشگاه منچستر در انگلستان می‌نویسد.

اوایل 1950 جنرال موتورز اولین سیستم عامل را برای ماشین پردازش الکترونیکی داده IBM 701 ایجاد کرد. این سیستم عامل جنرال موتورز یا GM OS نامیده می‌شود.

  1. 1958. جان توکی ، متخصص آمار ، کلمه نرم افزار را در مقاله‌ای در مورد برنامه نویسی کامپیوتر ضبط می‌کند.

اواخر دهه 1960 فلاپی دیسک‌ها معرفی شده‌اند و در دهه‌های 1980 و 1990 برای توزیع نرم افزار مورد استفاده قرار گرفتند.

3 نوامبر 1971AT&T  اولین نسخه سیستم عامل Unix را منتشر می‌کند.

  1. 1977. اپل Apple II را عرضه می‌کند و نرم افزارهای مصرفی از بین می‌روند.
  2. 1979. VisiCorp VisiCalc را برای Apple II ، اولین نرم افزار صفحه گسترده برای رایانه‌های شخصی ، منتشر کرد.
  3. 1981. مایکروسافت MS-DOS را منتشر کرد ، سیستم عامل که بسیاری از رایانه‌های اولیه IBM بر روی آن کار می‌کردند. IBM شروع به فروش نرم افزار می‌کند و نرم افزار تجاری در دسترس مصرف کننده عادی قرار می‌گیرد.

دهه 1980 هارد دیسک‌ها در رایانه‌های شخصی استاندارد می‌شوند و تولیدکنندگان شروع به جمع آوری نرم افزار در رایانه‌ها می‌کنند.

  1. 1984. سیستم عامل مک برای اجرای خط مکینتاش اپل منتشر شد.

اواسط دهه 1980 برنامه‌های کلیدی نرم افزاری ، از جمله AutoDesk AutoCAD ، Microsoft Word و Microsoft Excel ، منتشر می‌شوند.

  1. 1985. مایکروسافت ویندوز 1.0 منتشر شد.
  2. 1989. CD-ROM ها استاندارد می‌شوند و داده‌های بسیار بیشتری را نسبت به فلاپی دیسک‌ها در خود جای می‌دهند. برنامه‌های بزرگ نرم افزاری را می‌توان سریع ، آسان و نسبتاً ارزان توزیع کرد.
  3. 1991. هسته لینوکس ، اساس سیستم عامل لینوکس منبع باز ، منتشر شد.
  4. 1997. DVD معرفی شد و می‌تواند داده‌های بیشتری را نسبت به CD ذخیره کند ، بنابراین امکان قرار دادن مجموعه‌ای از برنامه‌ها ، مانند Microsoft Office Suite ، بر روی یک دیسک وجود دارد.
  5. 1999. Salesforce.com از رایانش ابری برای پیشگام شدن تحویل نرم افزار از طریق اینترنت استفاده می‌کند.
  6. 2000. اصطلاح نرم افزار به عنوان سرویس (SaaS) رواج پیدا کرد.
  7. 2007. IPhone راه اندازی شد و برنامه‌های تلفن همراه شروع به کار کردند.

2010 تا کنون DVD ها با خرید و بارگیری نرم افزار از اینترنت و ابر ، منسوخ می‌شوند. فروشندگان به مدل ‌ای مبتنی بر اشتراک می‌روند و SaaS رایج شد.

طراحی و پیاده سازی نرم ‌افزار

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

مرحله بعدی پیاده سازی است ، جایی که کار توسعه به پایان می‌رسد ، و سپس آزمایش نرم افزار اتفاق می‌افتد. مرحله تعمیر و نگهداری شامل همه کارهایی است که برای کارکرد سیستم لازم است.

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

فرآیند طراحی نرم افزار نیازهای کاربر را به شکلی تبدیل می‌کند که برنامه نویسان کامپیوتر می‌توانند از آن برای کد نویسی و پیاده سازی نرم افزار استفاده کنند. مهندسان نرم افزار طراحی نرم افزار را به صورت مکرر توسعه می‌دهند و با توسعه آن جزئیات را اضافه می‌کنند و طرح را اصلاح می‌کنند.

انواع مختلف طراحی نرم افزار شامل موارد زیر است:

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

نحوه حفظ کیفیت نرم افزار کامپیوتر

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

تغییر در نرم افزار:

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

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

ابعاد کیفیت نرم افزار شامل ویژگی های زیر است:

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

رابطه نرم افزار با سخت افزار

به نرم افزار کامپیوتر در مقابل سخت افزار رایانه گفته می شود که شامل اتصالات فیزیکی و دستگاه های مورد نیاز برای ذخیره و اجرای (یا اجرای) نرم افزار است. در رایانه ها ، نرم افزار در حافظه دسترسی تصادفی (RAM) بارگذاری می شود و در واحد پردازش مرکزی اجرا می شود. در پایین ترین سطح ، نرم افزار شامل یک زبان ماشین مخصوص پردازنده های جداگانه است.

زبان ماشین از گروه هایی از مقادیر دودویی نشانگر دستورالعمل های پردازنده (کد شی) تشکیل شده است ، که وضعیت کامپیوتر را از حالت قبلی تغییر می دهد. نرم افزار دنباله ای دستورالعمل برای تغییر وضعیت سخت افزار کامپیوتر در یک توالی خاص است. این معمولاً در زبان های سطح بالای برنامه نویسی نوشته می شود که استفاده از آن ها برای انسان ها (نزدیک به زبان طبیعی) آسان تر و کارآمدتر از زبان ماشین است.

زبان های سطح بالا به کد شی زبان ماشین وارد شده یا تفسیر می شوند. همچنین ممکن است نرم افزار به یک زبان اسمبلی نوشته شود ، اساساً نمایشی اسطوره ای از یک زبان ماشین با استفاده از الفبای زبان طبیعی. زبان اسمبلی باید از طریق اسمبلر در کد شی جمع شود.

ارتباط با داده ها

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

به عنوان مثال ، اطلاعات پیکربندی (سیستم) نیز ممکن است ورودی در نظر گرفته شود ، اگرچه لزوماً داده در نظر گرفته نمی شود (و مطمئناً داده های برنامه ها نیستند). خروجی یک قطعه خاص از نرم افزار اجرا شده ممکن است ورودی یک قطعه دیگر از نرم افزار اجرا شده باشد. بنابراین ، نرم افزار ممکن است رابطی بین سخت افزار ، داده ها و / یا نرم افزارهای (دیگر) در نظر گرفته شود. مثل نرم افزار تست باتری لپ تاپ.

انواع نرم افزار کامپیوتر

سیستم های رایانه ای عملی ، نرم افزار را به سه دسته عمده تقسیم می کنند: نرم افزار سیستم ، نرم افزار برنامه نویسی و نرم افزار کاربردی

1- نرم افزار سیستم

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

مقاله پیشنهادی : کاربرد کامپیوتر در زندگی
2- نرم افزار برنامه نویسی

معمولاً ابزاری را برای کمک به یک برنامه نویس در نوشتن برنامه ها و نرم افزارهای رایانه ای با استفاده از زبان های مختلف برنامه نویسی به روشی راحت تر فراهم می کند. این ابزارها شامل ویرایشگرهای متن ، کامپایلرها ، مفسرها ، پیوند دهنده ها ، اشکال زدایی و … است. یک محیط توسعه یکپارچه (IDE) این ابزارها را در یک بسته نرم افزاری ادغام می کند و ممکن است نیازی به یک برنامه نویس برای نوشتن ، تفسیر ، اشکال زدایی ، ردیابی و غیره چند دستور نباشد ، زیرا IDE معمولاً دارای رابط کاربری گرافیکی پیشرفته (GUI) است

3- نرم افزار کاربردی

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

ویروس های رایانه ای

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

برنامه و کتابخانه

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

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

سه لایه

کاربران اغلب چیزهای متفاوت از برنامه نویسان را می بینند. افرادی که از رایانه های مدرن عمومی استفاده می کنند (برخلاف سیستم های جاسازی شده ، رایانه های آنالوگ ، ابر رایانه ها و غیره) معمولاً سه لایه نرم افزار کامپیوتر را می بینند که کارهای مختلفی را انجام می دهند: بستر های نرم افزاری ، برنامه ها و نرم افزارهای کاربر.

نرم افزار بستر های نرم افزاری:

بستر های نرم افزاری شامل سیستم اساسی ورودی-خروجی (که اغلب به عنوان نرم افزار به جای نرم افزار توصیف می شود) ، درایورهای دستگاه ، یک سیستم عامل و به طور معمول یک رابط کاربر گرافیکی است که در مجموع به کاربر امکان تعامل با رایانه و لوازم جانبی آن را می دهد. (تجهیزات همراه). نرم افزار بستر های نرم افزاری غالباً به همراه رایانه ارائه می شود و ممکن است کاربران متوجه نشوند که این نرم افزار وجود دارد یا اینکه گزینه ای برای استفاده از نرم افزارهای مختلف سیستم عامل دارند.

  • نرم افزار کاربردی:

نرم افزار کاربردی یا به سادگی “برنامه های کاربردی” همان چیزی است که اکثر مردم وقتی به نرم افزار فکر می کنند به ذهنشان می رسد. نمونه های معمول آن شامل مجموعه های اداری و بازی های ویدیویی است. نرم افزار کاربردی غالباً جدا از سخت افزار رایانه خریداری می شود. گاهی اوقات برنامه ها با رایانه همراه هستند ، اما این واقعیت را تغییر نمی دهد که آن ها به عنوان برنامه های مستقل اجرا می شوند. برنامه ها تقریباً همیشه نرم افزارهایی مستقل از سیستم عامل هستند ، هرچند که اغلب برای سیستم عامل های خاص طراحی شده اند. بیشتر کاربران ، کامپایلرها ، پایگاه داده ها و سایر “نرم افزارهای سیستم” را به عنوان برنامه در نظر می گیرند.

نرم افزار کامپیوتر

  • نرم افزار نوشته شده توسط کاربر:

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

اجرای نرم افزار کامپیوتر

نرم افزار کامپیوتر باید در حافظه رایانه “بارگیری” شود (همچنین به عنوان حافظه و RAM نیز شناخته می شود). پس از بارگیری نرم افزار ، کامپیوتر قادر به اجرای نرم افزار است. کامپیوترها با اجرای برنامه کار می کنند.

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

حرکت داده ها به طور معمول از یک مکان در حافظه به مکان دیگر است. گاهی اوقات شامل انتقال داده ها بین حافظه و ثبات ها است که دسترسی سریع به داده را در پردازنده امکان پذیر می کند. یک مثال ساده از نحوه عملکرد نرم افزار این است که چه اتفاقی می افتد وقتی کاربر ورودی ای مانند “کپی” را از منو انتخاب می کند.

در این حالت ، یک دستورالعمل مشروط برای کپی کردن متن از داده ها در یک منطقه “سند” موجود در حافظه ، شاید در یک منطقه ذخیره سازی متوسط ​​شناخته شده به عنوان یک منطقه داده “کلیپ بورد” اجرا می شود.

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

مجوز نرم افزار و ثبت اختراع

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

منبع باز نوعی نرم افزار است که در آن نرم افزار به صورت مشترک توسعه داده می‌شود و کد منبع به صورت رایگان در دسترس است. با مجوزهای نرم افزار منبع باز ، کاربران می‌توانند نرم افزار مشابه نرم افزار رایگان را اجرا ، کپی ، به اشتراک گذاشته و تغییر دهند. فروشندگان نرم افزار نرم افزار را در فضای ابری میزبانی می‌کنند و در اختیار مشتریانی قرار می‌دهند که هزینه اشتراک را پرداخت می‌کنند و از طریق اینترنت به نرم افزار دسترسی پیدا می‌کنند.

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

نتیجه گیری:

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

در حال حاضر ، تقریباً تنها محدودیت های استفاده از نرم افزارهای رایانه ای در برنامه ها ، ابتکار طراح / برنامه نویس است. در نتیجه ، فعالیتهای بزرگی (مانند اجرای شطرنج در سطح استاد بزرگ) که قبلاً در صورت انجام شبیه سازی نرم افزار غیرممکن بود ، اکنون بصورت معمول برنامه ریزی می شد.

تنها زمینه ای که تاکنون ثابت شده است که از نظر شبیه سازی نرم افزاری ایمن است ، قلمرو هنر بشر است – به ویژه موسیقی و ادبیات دلپذیر.

0
دیدگاه‌های نوشته

*
*