تعریف کلی
نرم افزار، مجموعه ای از برنامه های رایانه ای، رویه ها و مستندات است که انجام کارهای مختلف بر روی یک سیستم رایانه ای را برعهده دارد و در سطح بسیار ابتدایی، متشکل از زبان ماشین است که شامل گروهی از مقادیر دودویی بوده و دستورالعمل پردازنده را تعیین میکند.
نرم افزار را از منظرهای متفاوتی مورد دسته بندی و تحلیل قرار می دهند تا زوایا و ابعاد فنی و حقوقی نرم افزار، قدری روشن تر گردد.
1.تقسیم بندی های فنی نرم افزار
1-1. نرم افزار های پایه (Programming Software):
این دسته بندی از نرم افزار در قالب ابزار بوده و به برنامه نویس در نوشتن برنامه های کامپیوتری کمک می کند.
ابزارهایی که به برنامه نویسان در ایجاد یک سیستم کامپیوتری کمک میکند، شامل اشکال زداها، کامپایلرها و مترجم ها است.
کامپایلر ها کد منبع در قالب یک زبان برنامه نویسی را به زبان قابل فهم کامپیوتر ترجمه میکند،اشکال زداها جهت بررسی و اشکال زدایی کدهای نوشته شده استفاده میشود، مترجم ها کد منبع و یا یک کد از پیش تالیف شده را اجرا و یا کدها را قبل از اجرا به یک زبان میانی ترجمه میکند.
1-2.نرم افزارهای سیستمی (System Software):
نرم افزار های سیستمی به سیستم عامل ها،درایورها، سرورها و برنامه های جانبی سیستمی اطلاق می شود و به راه اندازی و اجرای سخت افزار رایانه ای و سیستم رایانه کمک می کند.
میان افزارها و سیستم ورودی و خروجی بایوس، ابزاری را فراهم می کنند تا سخت افزار به کار گرفته شود.
1-3. نرم افزار های کاربردی (Application Software):
این نرم افزارها کاربر را قادر به انجام امور خاصی میکند، از نمونه نرم افزارهای کاربردی می توان به نرم افزار های آموزشی و واژه پرداز های مختلف اشاره کرد.
1-3-1. بدافزارها (Malware):
بدافزار اشاره به هرگونه نرم افزار مخرب مثل کرم های رایانه ای، اسب های تروجان داشته که به هر شکل، تهدیدی برای امنیت رایانه می باشند، به طور کلی هر کدی که روی سیستم شما قرار بگیرد و عملیاتی ناخواسته را انجام دهد به عنوان بدافزار شناخته می شود.
1-3-2. ابزارهای تبلیغاتی مزاحم (Adware):
برنامه هایی هستند که یک بار بر روی کامپیوتر شما نصب می شوند و تبلیغات های مربوط به سایت هایی که به آن سر میزنید را برای شما ارسال میکنند.
گرچه ابزار های تبلیغاتی مزاحم برای امنیت رایانه و یا حریم خصوصی کاربر، مضر نیست اما میتواند سرعت اینترنت و کارایی پردازنده را کم کند و باعث کند شدن سیستم شما شود. اکر فکر میکنید Adware ها سیستم شما را آلوده کرده اند میتوانید از برنامه هایی نظیر Anti Adware استفاده کنید.
این برنامه ها سیستم را اسکن کرده و Adware ها را پیدا میکند که شما پس از آن قادر به پاک کردن آنها خواهید بود.
1-3-3. نرم افزار های انبار گردانی (Inventory Management Software):
این نوع نرم افزار به یک سازمان برای ردیابی کالاها بر اساس کمیت و کیفیت کمک می کند.این نرم افزار کمک می کند تا یک شرکت یا سازمان در سازماندهی موجودی و بهینه سازی جریان کالا در سازمان خود بهتر عمل کرده و در نتیجه باعث بهبود خدمات به مشتریان شود.
1-3-4. نرم افزار های جانبی (Utilities Software):
این نرم افزار ها در خصوص مدیریت سخت افزار و نرم افزار های رایانه ای کمک می کنند و طیف محدودی از وظایف و عملکرد ها را بر عهده دارند.
1-3-5. نرم افزارهای پشتیبان و بازیابی اطلاعات (Data Backup and Recover Software) :
نرم افزارهای پشتیبان اغلب، نیازهای کاربر را در خصوص تشخیص موارد و زمان پشتیبانی و حمایت برنامه ها، برطرف می کند. این نرم افزارها، سازمان مندی اصلی فایل را حفظ کرده و هرگونه بازیابی آسان از اطلاعات پشتیبانی شده را ممکن می سازد.
1-3-6. نرم افزار پردازش داده ها (Data Processing):
داده پردازی شامل تمام امور مربوط به نگهداری یک رکورد صحیح و بهنگام از عملیات موسسه است. در این نرم افزارها امور داده پردازی شامل جمع آوری اطلاعات توصیف کننده عملیات – پرورش اطلاعات به شکل قابل استفاده و ذخیره اطلاعات و ایجاد سند مورد استفاده است.
1-3-7. نرم افزارهای شبیه سازی (Simulation):
به طور کلی شبیه سازی هنر مدلسازی از یک پروسه یا سیستم، جهت آزمایش آنها بوده و روشی برای آگاهی از نتایج ایده های مطرح شده قبل از اجرای آنها می باشد.
1-3-8. نرم افزار های سیستم خبره (Expert system):
منظور از این نرم افزارها برنامه هایی هستند که می توانند کارهای هوشمندانه انسان را مانند گفتگو و ترجمه انجام دهند.
در نرم افزارهای سیستم خبره علاوه بر پایگاه داده از پایگاه دانش استفاده می شود.
1-3-9. نرم افزارهای سیستم بلادرنگ (Real-time System):
سیستم های بلادرنگ سیستم های نرم افزاری هستند که در درون دستگاه قرار گرفته اند و به صورت توکار در جاهای مختلف استفاده می شوند بنابراین قادر به مشاهده این سیستم ها نخواهیم بود.
این نرم افزارها بیشتر در مراکز تولیدی همانند پالایشگاه ها استفاده می شوند که با بروز هر عاملی به صورت بی درنگ واکنش نشان داده و فرآیند تولید را تنظیم کنند.
1-3-10. نرم افزارهای سیستم نهفته (Embedded Systems):
نرم افزارهای سیستم نهفته وظیفه کنترل عملکرد و پردازش درست سیست مرا برعهده دارند.
این سیستم ها در بسیاری از وسایل بزرگ و کوچک از اسباب بازی ها تا تجهیزات پزشکی وجود دارند و با برنامه هایی که روی آنها نصب می گردد، کار دستگاه ها را کنترل می کند.
با توجه به اینکه نرم افزار پدیده ای فنی بوده و همچنین دارای ارزش اقتصادی می باشد نیازمند مجموعه ای از قواعد و حمایت های حقوقی است، در ادامه به معرفی تقسیم بندی های حقوقی نرم افزار می پردازیم.
بیشتر بخوانید: خدمات نرم افزاری در تبریز
2. تقسیم بندی های حقوقی نرم افزار
2-1.نرم افزار های سفارشی (Custom Software):
نرم افزارهایی هستند که برای یک کاربر و یا سازمانی خاص طراحی شده و ویژگی های آن مطابق با نیازهای کاربر می باشد.
2-2. نرم افزار های رده عام (Off-the-Shelf Software):
این نرم افزارها بر خلاف نرم افزارهای سفارشی بوده و می توانند جهت منظوری خاص و یا در خصوص نیازهای کاربری خاص طراحی شده باشند و یا به این منظور طراحی نشده باشند.
این نرم افزارها قابلیت استفاده عام داشته و طیف وسیعی از کاربران می توانند نیازهایشان را در زمینه مطلوب خودشان برطرف نمایند.
2-3. نرم افزار های رایگان (Free Software):
به طور کلی نرم افزار های رایگان بدون هزینه بوده و کاربر قادر به استفاده، تغییر و توزیع آن است، این نرم افزارها به طور رایگان قابل دانلود و استفاده هستند اما لزوما ممکن است قابلیت استفاده مجدد توسط کاربر را نداشته باشند.
ویژگی مشترک نرم افزارهای رایگان و نرم افزارهای متن باز قابلیت دسترسی به کدهای منبع می باشد.
2-4. نرم افزارهای منبع باز و منبع بسته (Open Source and Closed Source Software):
در نرم افزارهای منبع باز کد منبع، برای اصلاح و استفاده در دسترس عموم است در حالی که در نرم افزارهای منبع بسته، منبع نرم افزار برای عموم منتشر نمی شود.
2-5. نرم افزارهای اختصاصی (Proprietary Software):
این نوع نرم افزارها متعلق به یک شرکت و یا شخص حقیقی بوده و استفاده از آن لازم به خرید یا کسب مجوز بهره برداری از دارنده است.
حقوق قانونی این نرم افزارها منحصرا برای دارنده حق تکثیر بوده و اکثر نرم افزارهای اختصاصی به صورت منبع بسته در دسترس قرار می گیرند.
2-6. نرم افزارهای مشروط و نرم افزارهای جزئی (Shareware and Retail Software):
نرم افزارهای مشروط به صورت آزمایشی به کاربران عرضه می گردد در حالی که نرم افزارهای جزئی به کاربران نهایی فروخته می شود. با افزایش دسترسی به نرم افزارهای مشروط که به صورت رایگان در اینترنت قرار گرفته اند، بازار نرم افزارهای جزئی تغییر می کند.
در نرم افزارهای مشروط ابعاد اصلی نرم افزار عمل نمی کند و پس از اتمام دوره آزمایشی به طور کلی از کار می افتد.
2-7. نرم افزار اختراعی و نرم افزار کپی رایتی (Patent software and copy right software):
یکی از معمولترین نظام های پیشنهادی برای حمایت از پدیدآورندگان نرم افزار، نظام حق مولف است. برخی مشابهت ها بین یک اثر ادبی همانند کتاب و یک برنامه رایانه ای به خصوص در ابتدای عمر مهندسی نرم افزار که به شکل پیشرفتۀ کنونی مطرح نبود، سبب شد قوانین کپی رایت بسیاری از کشورها، طوری اصلاح شوند که از نرم افزارهای رایانه ای نیز همانند آثار ادبی حمایت شود. این در حالی است که تفاوت هایی در موضوع و نیز عدم تناسب احکام حق مولف با نرم افزار موجب شده است نظرها به نظام حقوق صنعتی (حق اختراع) معطوف شود و البته حق اختراع نیز کاملاً برای نرم افزارها مناسب نبوده و نقطه ضعف هایی بر آن بار می شود.
2-8. نرم افزار مشاع و نرم افزار غیر مشاع:
چنانچه اشخاص متعدد در پدید آوردن نرم افزار مشارکت داشته و سهم مشارکت هر کدام در پدید آوردن نرم افزار مشخص باشد، حقوق مادی آن اثر نسبت به مشارکت به هر یک تعلق می گیرد و در غیر این صورت اثر مشترک نامیده شده و حقوق ناشی از آن، حق مشاع پدید آورندگان است.
2-9. نرم افزار مکمل و نرم افزار سازگار:
در برخی از نظام های حقوقی، استفاده از نرم افزارهای دیگر برای ایجاد نرم افزارهای سازگار و مکمل که قابلیت ها و ظرفیت ها یا کاربری جدید ایجاد کند بلا مانع است و نقض حقوق پدیدآورنده نرم افزارهای دیگر محسوب نمی شود البته با رعایت این شرط که پدید آوردنده نرم افزار سازگار، رضایت کتبی پدید آورندگان نرم افزار هایی که برای اولین بار در آن کشور تولید شده اند را داشته باشند.
10-2. نرم افزارهای واسط و غیر واسط:
منظور از نرم افزارهای واسط یا رابط برنامه نویسی نرم افزار (Application Programming Interface)، رابطه بین یک کتابخانه یا سیستم عامل و برنامه هایی است که از آن تقاضای سرویس می کنند.
همانطور که می بینیم از جهت حقوقی، نرم افزارهای واسط، نمی توانند مورد حمایت مضاعف واقع شده و به مناسبت تولید هر نرم افزار، مورد حمایت قرار گیرند.
موقعیت شغلی مهندسان نرم افزار
فرصت های شغلی:
بیشترین تجمع مهندسان نرم افزار در صنایع رایانه و خدمات پردازش اطلاعات می باشد و عده دیگری از آنها در سایر بخش ها مانند مراکز دولتی ، سازندگان رایانه و تجهیرات الکترونیکی مربوطه ، کالج ها و دانشگاها به فعالیت می پردازند.
تعداد روزافزونی از مهندسان نرم افزار که اکثرا خود اشتغالند به عنوان مشاور به شکل قراردادی یا پیمانی به کار گرفته می شوند. گروهی از مشاوران در شرکتهای تخصصی مشغول بکارند که ایجاد و نگهداری اینترانت وپایگاههای اینترنتی شرکتها را بر عهده دارند. از آنجایی که شرکتهای تجاری نیاز به مدیریت، به روز رسانی و سفارشی سازی سیستمهای پیچیده رایانه ای دارند لذا فرصتهای مشاوره ای برای مهندسان نرم افزاری از روند رو به افزایش برخوردار خواهد بود.
چشم انداز آینده:
فرصت های شغلی برای مهندسان نرم افزاری از رشد سریعی بر خوردار است. احتمال می رود که رشد سریع در صنایع رایانه ای و خدمات پردازش اطلاعات که بالاترین شمار استخدام مهندسین نرم افزار را داراست منجر به ایجاد فرصت های شغلی مناسبی برای فارغ التحصیلان این رشته باشد. کار فرمایان به دنبال استخدام مهندسان زبده ای هستند که در زمینه برنامه نویسی، تجزیه و تحلیل سیستمها، روابط عمومی و تجارت دارای مهارت های بالایی باشند.
وضعیت نیاز ایران:
رشته کامپیوتر باعث جهانی شدن اطلاعات و ارتباطات شده بنابراین پیش بینی می شود تا 10 سال دیگر وابستگی مردم به شبکه اینترنت بیش از پیش شود.
با توجه به پیشرفت کند ایران نسبت به جامعه جهانی کامپیوتر، در سالهای اخیر نیاز به مهندسین خلاق و کوشا در این زمینه کاملاً احساس می شود. روند رو به رشد استفاده از کامپیوتر در محافل عمومی و خصوصی، استفاده گسترده از شبکه اینترنت و زمینه های مرتبط با آن، فراهم آمدن شرایط آموزش و تجارت الکترونیک همه و همه دست به دست هم داده اند تا از اکنون چشم انداز روشنی نسبت به آینده این رشته وجود داشته باشد به نحوی که فعالان در این زمینه از آینده معلوم و مطمئنی برخوردار خواهند بود. تنها نگرانی به قسمت نرم افزار مربوط می شود که باید مهندسان خلاق ایرانی اقدام به تهیه نرم افزارهای گوناگون و کارآمد کرده تا تنها مصرف کننده صرف نباشیم.
برای همکاری با شرکت ریزکاران تبریز کافیست با شماره (6 خط) 04133362988 تماس بگیرید و یا فرم درخواست همکاری را تکمیل نمایید.