تعریف نرم افزار و نرم افزارهای اختصاصی
پنجشنبه 13/مهر/1396 3571 برنامه نویسی

تعریف نرم افزار و نرم افزارهای اختصاصی

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

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

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

نرم افزار های آماده

مثلا به نرم افزارهایی که جهت جستجو و مشاهده صفحات وب به کار می روند مرورگر وب (Browser) می گویند.

به نرم افزارهایی که جهت تایپ و یا نوشتن متون استفاده می شود ویرایشگر متن (Editor) می گویند.

به نرم افزارهایی که جهت پخش موسیقی و یا نمایش فیلم به کار می روند نرم افزارهای چند رسانه ای (multimedia) می گویند.

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

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

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

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

نرم افزار های آماده

نرم افزار های اختصاصی طبیعتا ویژگی های بیشتری نسبت به نرم افزارهای آماده و از پیش طراحی شده دارند به عنوان مثال:

  1. نرم افزار اختصاصی صرفا جهت نیازهای اختصاصی یک مشتری خاص طراحی می شود.
  2. فاقد بخشهای مازاد و بلا استفاده است ( باعث کاهش حجم نرم افزار - کاهش هزینه نگهداری - و بالا رفتن سرعت اجرای نرم افزار و سهولت در استفاده نرم افزار می شود )
  3. قابلیت توسعه آن در هر زمان امکان پذیر است ( افزودن بخش های جدید و بنا به احتیاج مشتری )
  4. سازگاری آن با سخت افزار کاربر بسیار بیشتر از نرم افزارهای آماده است.
  5. نرم افزار اختصاصی نتیجه مطلوب مشتری را تضمین می کند چرا که بر اساس تحلیل نیازهای مشتری تحلیل شده است.
  6. به جای سازگاری مشتری با نرم افزار، نرم افزار با مشتری سازگار می شود.
  7. پشتیبانی نرم افزار در هر زمان و در هر مکان پذیر است ( برخلاف اکثر نرم افزارهای آماده که در صورت بروز مشکل در نصب و اجرا فقط راهنمایی کلی ارائه می دهند )
  8. عدم فاسد شدن نرم افزار! نرم افزارهای آماده عمر کوتاهتری نسبت به نرم افزارهای اختصاصی دارند چرا که بعد از یک دوره حیاتی مشخص و ورود سیستم عامل و سخت افزارهای جدید نرم افزار بلا استفاده می شود و در کمتر موردی نرم افزار قابلیت بازیابی اطلاعات را از نسخه های قبلی دارد اما در نرم افزارهای اختصاصی به علت مستند بودن سیستم تحلیل شده در هر زمان امکان تبدیل اطلاعات و طراحی و ارتقاء نرم افزار ممکن است ( یعنی حفظ داده در آن بسیار بالاتر از نرم افزارهای عمومی است )

الف-تعاریف عمومی

  1. فرهنگ فارسی معین: (نَ اَ) مجموعه ای از برنامه ها و داده ها، کتابچة راهنما و مانند آن ها که بتوان آن را برای انجام کار مشخصی با استفاده از کامپیو تر به کار برد.
  2. مجموعه دستورالعمل ها یی که به منظور انجام کاری به رایانه داده می شود. (میکروسافت، فرهنگ تشریحی اصطلاحات کامپیوتری، مترجم مجید سماوی )
  3. مجموعه ای از جملات قابل اجرا به وسیله کامپیوتر (مثلا به صورت یک رشته جملات یا فرمان ها و به همراه اطلاعات ضروری برای اجرای آن) است که برای انجام فعالیت خاص تدوین و تحریر می گردد. (حقوق پدیدآورندگان نرم افزار، شورای عالی انفورماتیک، ص63 )
  4. متن برنامه ها، داده ها، اطلاعات و تمامی مستنداتی که برنامه ها را به عنوان یک محصول متمایز می کند، این مستندات شامل طیف وسیعی است از مدارک طراحی، روش تست، اصول عملیات، رویه های کنترل کیفیت، رویه های پشتیبانی و نگهداری، راهنمای استفاده کننده، نحوه نصب، ابزار کمک آموزشی در ارتباط با آن و گزارش های دوران طراحی و تولید نرم افزار. (انجمن مهندسین برق و الکترونیک آمریکا، به نقل از دبیرخانه شورای عالی انفورماتیک، ص 12 )
  5. نرم افزار، مجموعه ای از برنامه های رایانه ای و داده های مرتبط است که دستورالعمل هایی را بر رایانه فراهم می کند و به منظور اینکه به رایانه فرمان دهد چه کاری را انجام بدهد، در رایانه نگهداری می شود.

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

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

ب- تعاریف قانونی

  1. آیین نامه اجرایی قانون حمایت از حقوق پدیدآورندگان نرم افزارهای رایانه ای: ماده 2- نرم افزار عبارت است از مجموعه برنامه های رایانه ای، رویه ها، دستورالعمل ها و مستندات مربوط به آن ها و نیز اطلاعات مربوط به عملیات یک سیستم رایانه ای که دارای کاربری مشخص بوده و بر روی یکی از حامل های رایانه ای ضبط شده باشد.
  2. لایحه جامع حمایت از حقوق مالکیت ادبی و هنری و حقوق مرتبط: ماده 1 بند19: نرم افزار: مجموعه منسجمی از برنامه های رایانه ای و محتواهای دیجیتال همراه آنکه به وسیله برنامه های موجود در مجموعه اجرا می شود.
    بند (20)«برنامه رایانه ای»: مجموعه ای از دستورات است که به صورت کلمات، کد ها، طرح برنامه یا هر شکل دیگری بیان شود و چنانچه در حاملی که رایانه توانایی خواندن آن را دارد قرار گیرد، سبب شود که رایانه عمل خاصی را انجام دهد یا به نتیجه خاصی برسد.
  3. متن پیشنهادی آی سی تی جهت درج در لایحه فوق الاشاره: نرم افزار (برنامه ریانه ای)، اثری است متشکل از مجموعه ای از رویه ها، دستورالعمل ها داده ها، الگوریتم ها، مستندات مربوط به آن ها که در قالب فرامین یا اشکال دیگر بیان شده و در صورت ارائه آن به یک سامانه پردازنده (رایانه) آن سامانه قابلیت اجرا یا انجام کار معین یا تحصیل نتیجه مورد انتظار را داشته باشد. در این قانون واژه نرم افزار و برنامه رایانه ای معادل یکدیگر مدنظر قرار گرفته است.

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

نرم افزار یا برنامه (به انگلیسی: Software). ظاهراً، اولین بار جان تاکی در سال 1958 این واژه را به این معنا به کار برده است. احتمالاً این واژه در مقابل سخت افزار (به انگلیسی: Hardware) به کار برده اند که بسیار پیش از پیدایش رایانه (به معنای اسباب و اشیاء) به کار می رفته است.
اگرچه «نرم افزار رایانه ای» و «برنامه رایانه ای» یک معنی دارند و اصطلاح برنامه (به انگلیسی: program) به است.

نرم افزارهای سفارشی

دو گروه کلی نرم افزارها

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

  • نرم افزار سیستم (System Sotfware)
  • نرم افزار کاربردی (Application Software)

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

از لحاظ معماری نرم افزار ها به دسته های زیر تقسیم می شوند:

  • Client Base
  • Server Base
  • Client-Server Base

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

رقابت نرم افزاری

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

درباره این مطلب دیدگاهی بنویسید...

آدرس پست الکترونیک شما منتشر نخواهد شد.

نظرات (0)