نرم افزار چیست؟
اگر در این سایت هستید پس به یک نرم افزار حسابداری کامل و بدون نقص نیاز دارید، سپیدار سیستم با ارائه نرم افزار های ابری به شما کمک می کند بتوانید از طریق اینترنت تمامی کارهای خود را به آسانی انجام دهید، در این مقاله درباره نرم افزار حسابداری ابری و اینکه چرا باید از نرم افزار سپیدار ابری استفاده کنیم، و هر چیزی که لازم است درباره نرم افزار سپیدار ابری بدانید، مطالبی را برای شما به تحریر درآوریم در ادامه مقاله بیشتر با این نرم افزار آشنا میشوید. باما همراه باشید.
نرم افزار، مجموعه ای از برنامه های رایانه ای، رویه ها و مستندات است که انجام کارهای مختلف بر روی یک سیستم رایانه ای را بر عهده دارد. عبارت «نرم افزار» برای نخستین بار توسط جان توکی در سال 1958 مورد استفاده قرار گرفت. در سطح بسیار ابتدایی، نرم افزار کامپیوتر، متشکل از زبان ماشین است که شامل گروهی از مقادیر دودویی بوده و دستورالعمل پردازنده را تعیین می کند. دستورالعمل پردازنده تغییر بیان از سخت افزار کامپیوتر در یک توالی از پیش تعریف شده می باشد. به طور خلاصه، نرم افزار کامپیوتر، زبانی است که اصطلاحاً به وسیلۀ آن یک رایانه، صحبت می کند. انواع مختلفی از نرم افزار های رایانه ای وجود دارد و باید دید اقسام اصلی آنها کدامند؟
نرم افزارها از منظرهای مختلفی قابل دسته بندی و تقسیم می باشند و متخصصین علوم رایانه ای با توجه به ابعاد مختلف نرم افزار به ارائۀ تقسیم بندی های متفاوتی از این پدیدۀ فناورانه پرداخته اند.
با توجه به این نکته که هر تقسیم بندی می بایستی فلسفه و فایده ای داشته باشد و از طرفی نرم افزار از دو بعد فنی و حقوقی نیز امکان دسته بندی دارد، آنچه در پی می آید بر آن است که نرم افزار را از منظرهای متفاوتی مورد دسته بندی و تحلیل قرار دهد تا زوایا و ابعاد فنی و حقوقی نرم افزار ، قدری روشن تر گردد؛ زیرا به نظر می رسد، میزان و شکل حمایت حقوقی با توجه به اجزا، مراحل و اقسام نرم افزار، متفاوت خواهد بود. در این مقاله به بررسی تعریف نرم افزار ، تقسیم بندی انواع نرم افزار و تقسیم بندی نرم افزار از ابعاد حقوقی میپردازیم.
تعریف نرم افزار
تعاریف مختلفی از نرم افزار ارائه شده است که به شرح زیر است:
تعاریف عمومی نرم افزار
(نَ اَ) مجموعهای از برنامهها و دادهها، کتابچه راهنما و مانند آنها که بتوان آن را برای انجام کار مشخصی با استفاده از کامپیوتر به کار برد (فرهنگ فارسی معین)،
مجموعه دستورالعملهایی که به منظور انجام کاری به رایانه داده میشود (میکروسافت، فرهنگ تشریحی اصطلاحات کامپیوتری، مترجم مجید سماوی )،
مجموعهای از جملات قابل اجرا به وسیله کامپیوتر (مثلا به صورت یک رشته جملات یا فرمانها و به همراه اطلاعات ضروری برای اجرای آن) است که برای انجام فعالیت خاص تدوین و تحریر میگردد (حقوق پدیدآورندگان نرمافزار، شورای عالی انفورماتیک، ص۶۳ )،
متن برنامهها، دادهها، اطلاعات و تمامی مستنداتی که برنامهها را به عنوان یک محصول متمایز میکند، این مستندات شامل طیف وسیعی است از مدارک طراحی، روش تست، اصول عملیات، رویههای کنترل کیفیت، رویههای پشتیبانی و نگهداری، راهنمای استفاده کننده، نحوه نصب، ابزار کمک آموزشی در ارتباط با آن و گزارشهای دوران طراحی و تولید نرم افزار (انجمن مهندسین برق و الکترونیک آمریکا، به نقل از دبیرخانه شورای عالی انفورماتیک، ص ۱۲ )،
نرمافزار، مجموعهای از برنامههای رایانهای و دادههای مرتبط است که دستورالعملهایی را بر رایانه فراهم میکند و به منظور اینکه به رایانه فرمان دهد چه کاری را انجام بدهد، در رایانه نگهداری میشود.
به عبارت دیگر نرمافزار مجموعهای است از برنامهها، رویهها و الگوریتمها و مستندات مربوط به اجرای سیستم پردازش اطلاعات است. برنامه رایانهای، کار ویژه (وظیفه) برنامه را ایفا میکند، خواه مستقیما در سختافزار رایانه، دستورالعملها را تدارک ببیند، خواه به صورت ورودی در بخشی از نرمافزار دیگر به کار گرفته شود.
تعاریف قانونی نرم افزار
آییننامه اجرایی قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای:
ماده ۲- نرمافزار عبارت است از مجموعه برنامههای رایانهای، رویهها، دستورالعملها و مستندات مربوط به آنها و نیز اطلاعات مربوط به عملیات یک سیستم رایانهای که دارای کاربری مشخص بوده و بر روی یکی از حاملهای رایانهای ضبط شده باشد.
لایحه جامع حمایت از حقوق مالکیت ادبی و هنری و حقوق مرتبط:
ماده ۱ بند۱۹: نرم افزار مجموعه منسجمی از برنامههای رایانهای و محتواهای دیجیتال همراه آن است که به وسیله برنامههای موجود در مجموعه اجرا میشود.
بند (۲۰) «برنامه رایانهای» مجموعهای از دستورات است که به صورت کلمات، کدها، طرح برنامه یا هر شکل دیگری بیان شود و چنانچه در حاملی که رایانه توانایی خواندن آن را دارد قرار گیرد، سبب شود که رایانه عمل خاصی را انجام دهد یا به نتیجه خاصی برسد.
متن پیشنهادی آی سی تی جهت درج در لایحه فوق الاشاره:
نرمافزار (برنامه ریانهای)، اثری است متشکل از مجموعهای از رویهها، دستورالعملها دادهها، الگوریتمها، مستندات مربوط به آنها که در قالب فرامین یا اشکال دیگر بیان شده و در صورت ارائه آن به یک سامانه پردازنده (رایانه) آن سامانه قابلیت اجرا یا انجام کار معین یا تحصیل نتیجه مورد انتظار را داشته باشد. در این قانون واژه نرمافزار و برنامه رایانهای معادل یکدیگر مدنظر قرار گرفته است.
تقسیم بندی های فنی نرم افزار
به جهت فنی و ابعاد مرتبط با علوم رایانه ای، نرم افزار ها را با توجه به معیارهای گوناگون از جمله هدف و مأموریت نرم افزار، زمینۀ استفاده، نوع نقش و عملکرد و یا کاربر نرم افزار، می توان مورد تقسیم بندیهای مختلفی قرار داد. ذیلاً با توجه به معیارهای پیش گفته به بررسی انواع نرم افزارها از جهت فنی خواهیم پرداخت.
نرم افزارهای پایه (Programming Software)
این دسته از نرم افزارها، یکی از انواع معمول، شناخته شده و مورد علاقۀ کاربران در میان نرم افزار های کامپیوتری است . این نرم افزار در قالب ابزار بوده و به برنامه نویس در نوشتن برنامه های کامپیوتری کمک می کند. برنامه های کامپیوتری مجموعه ای از دستورات منطقی هستند که برای یک سیستم کامپیوتری، وظایف خاصی را انجام می دهند . ابزارهایی که به برنامه نویسان در ایجاد یک سیستم کامپیوتری کمک می کنند، شامل ویرایشگر متن ، کامپایلرها و مترجم ها ست.
کامپایلرها(مفسرها)، کد منبع را که در قالب یک زبان برنامه نویسی، نوشته شده اند به زبانی که کامپیوتر آن را می فهمد، ترجمه می کنند.(اغلب در قالب دو دویی). کامپایلرها چیزهایی را که به وسیلۀ رابط ها، تجمیع و تبدیل شده اند، تولید می کنند. دی باگرها( اِشکال زداها )، جهت بررسی و اشکال زدایی کدها استفاده می شوند. کد منبع، بعضاً یا به طور کامل، برای ابزارهای اشکال زدا (Debugging tool) که بر روی آنها اجرا شده و به جهت برطرف کردن هرگونه اشکال احتمالی به کار می روند، شبیه سازی می شود. مترجم ها (Interpreters) برنامه ها را اجرا می کنند. آنها کد منبع و یا یک کد از پیش تالیف شده را اجرا و یا کد منبع را قبل از اجرا به یک زبان میانی ترجمه می کنند.
نرم افزارهای سیستمی (System Software)
این گونه از نرم افزارها به راه اندازی و اجرای سخت افزار رایانه ای و سیستم رایانه، کمک می کنند. نرم افزارهای سیستمی به سیستمهای عامل، درایورها، سرورها و برنامه های جانبی سیستمی(utilities) اطلاق می شود. نرم افزار سیستمی به یک برنامه نویس کاربردی در خصوص جداسازی و انتزاع زبان برنامه نویسی از سخت افزار، حافظه، و سایر اجزاء مرکب درونی یک رایانه، کمک می کند تا خودش را درگیر زبان ماشین نکند. یک سیستم عامل، برای کاربرها، با یک پلت فرم، امکان اجرای برنامه های سطح بالا را فراهم می آورد.