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

شاید شما ندانید؛ اما نرم افزارها در بسیاری از دستگاه هایی که امروزه استفاده می کنیم جاسازی شده اند.

در بسیاری از موارد ما به دلیل قابل مشاهده نبودن نرم افزار ها، متوجه حضور و اهمیت آن ها در دنیای مدرن امروز نمی شویم؛ مثل ماشین های لباسشویی.

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

1# نرم افزار چیست؟ (software)

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

نرم افزار تعیین می کند که همه دستگاه های جانبی دقیقا چگونه یک کار را انجام دهند.

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

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

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

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

نرم افزار ها به گونه های مختلفی روی سیستم رایانه ای اجرا می شوند. به عنوان مثال:

  • برنامه های تجاری (مانند Microsoft Word و Adobe Photoshop)
  • بازی ها
  • سیستم عامل رایانه
  • یا حتی بد افزار مانند ویروس ها
    و غیره

نرم افزار

2# تاریخچه نرم افزار چیست؟

اصطلاح نرم افزار تا اواخر دهه 1950 مورد استفاده قرار نگرفت.

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

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

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

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

همچنین در اوایل دهه 1950 جنرال موتورز اولین سیستم عامل را برای دستگاه پردازش الکترونیکی داده IBM 701 ایجاد کرد که
به آن General Motors Operating System یا GM OS گفته می شود.

در نهایت در 3 نوامبر 1971، AT&T با انتشار اولین نسخه سیستم عامل Unix تحول بزرگی در دنیای نرم افزار ایجاد کرد.

3# انواع نرم افزار

به طورکلی 3 طبقه بندی اصلی برای نرم افزار وجود دارد:

انواع نرم افزار

1-3# نرم افزار های سیستمی (System Software)

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

نرم افزار سیستمی بسیار پیچیده است و در چندین لایه با دستگاه های محاسباتی در ارتباط است.

اما زیرمجموعه این نوع از نرم افزار چیست؟

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

1) سیستم عامل (OS)

بدون سیستم عامل یا OS (مخفف Operating System) رایانه فقط مجموعه ای از اجزای سخت افزاری است که
قادر به انجام هیچ عملکردی نیست.

سیستم عامل به کامپیوتر امکان انجام عملکردهای اساسی را می دهد و
رابطی را فراهم می کند تا کاربران بتوانند با کامپیوتر ارتباط برقرار کنند.

سیستم عامل در واقع بستری است که برنامه ها می توانند روی آن اجرا شوند.

2) میان افزار (Firmware)

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

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

برخی از دستگاه های حاوی میان افزار عبارتند از:

  • سیستم های جاسازی شده (مانند چراغ راهنمایی، وسایل مصرفی و ساعت های دیجیتال)
  • رایانه ها
  • تلفن های همراه
  • دوربین های دیجیتال

3) درایورهای سخت افزار (Device drivers)

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

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

4) برنامه های کمکی (Utilities)

عملکرد این نوع از نرم افزار چیست؟

یوتیلیتی ها برنامه های کوچکی هستند که غالبا برای اجرای وظایف خاص در سیستم عامل مورد استفاده قرار می گیرند.

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

2-3# نرم افزار کاربردی (Application software)

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

نرم افزارهای کاربردی با نام برنامه نیز شناخته می شوند.

شما احتمالا با این نوع از نرم افزار بیشتر آشنا هستید.

این نرم افزارها بسته هایی هستند که شما برای تحقق هدف خاصی از آن ها استفاده می کنید.

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

برخی از رایج ترین آن ها عبارتند از:

  • سرویس های ایمیل مانند Outlook
  • نرم افزار پایگاه داده مانند Microsoft Access که برای سازماندهی و مدیریت حجم زیادی از داده استفاده می شود
  • نرم افزارهای چندرسانه ای
  • Adobe Photoshop که برای ویرایش گرافیک و عکس استفاده می شود
  • مرورگرهای وب

3-3# نرم افزار برنامه نویسی (Programming software)

software برنامه نویسی

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

برنامه نویسان و تولید کنندگان نرم افزار برای ایجاد برنامه ها به تعدادی از ابزارهای مختلف نرم افزاری اعتماد می کنند. به عنوان مثال:

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

این را هم ببینید
نقش کامپایلر در برنامه نویسی

4# منظور از ابعاد کیفیت نرم افزار چیست؟

نرم افزار ها تحت تست های مختلفی قرار می گیرند تا کارایی و کیفیت آن ها مورد بررسی قرار گیرد.

اما منظور از ابعاد کیفیت نرم افزار چیست و یک نرم افزار خوب شامل چه مشخصاتی است؟

کیفیت software

1-4# Accessibility یا دسترسی

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

به عنوان مثال گزینه جستجو در محل مشخصی قرار داشته باشد.

2-4# Compatibility یا سازگاری

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

3-4# Efficiency یا بهره وری

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

4-4# Functionality یا عملکرد

معنی عملکرد در نرم افزار چیست؟

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

5-4# Installability یا قابلیت نصب

در قابلیت نصب، نرم افزار باید معیارهای بسیاری را داشته باشد.

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

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

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

6-4# Maintainability یا قابلیت نگهداری در نرم افزار

یعنی به راحتی می توان نرم افزار را برای افزودن و بهبود ویژگی ها، رفع اشکالات و غیره اصلاح کرد.

7-4# Performance یا کارایی

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

8-4# Portability یا قابل حمل بودن

منظور از قابل حمل بودن در نرم افزار چیست؟

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

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

دانلود pdf مقاله

درباره نویسنده : سیما طهماسبی وفا

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

نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.

۸ دیدگاه

  1. Avatar
    Mehdi ۱۴۰۳/۰۸/۰۲ در ۱۶:۰۹ - پاسخ

    چجوری میتونم یک مهندس خوب کامپیوتر دردانشگاه باشم

    • حانیه برمایون
      حانیه برمایون ۱۴۰۳/۰۸/۰۳ در ۰۹:۱۶ - پاسخ

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

  2. Avatar
    نجمه مولای ۱۴۰۳/۰۶/۱۱ در ۰۹:۴۰ - پاسخ

    سلام ببخشیدمن از کامپیوتر چیزی بلد نیستم ولی علاقه دارم یاد بگیرم امکانش به صورت خیلی ساده وکار بردی یادبگیرم ودر زمان کم بسیار عالی یادش گرفته باشم ممن میشم راهنماییم کنید واگر به صورت حضوری باشه برام خیلی بهتره وراحت یاد میگیرم

    • حانیه برمایون
      حانیه برمایون ۱۴۰۳/۰۶/۱۱ در ۱۰:۵۵ - پاسخ

      سلام سرکار خانم مولای
      ضمن تشکر از اینکه همراه ما هستید.
      برای یادگیری هر حوزه ای نیاز هست که آموزش های معتبر و جامعی رو در اون زمینه فرا بگیرید و یادگیری کار با کامپیوتر هم از این قاعده مستثنی نیست.
      اگر قصد دارید در مدت کوتاه کار با کامپیوتر رو به صورت کامل و عالی یاد بگیرید، به تبع نیاز دارید تمرین و تکرار بسیار زیادی داشته باشید که مطالب آموزشی که مشاهده کردید، ملکه ذهنتون بشه و مهارتش برای شما تثبیت بشه و صرف دیدن یک دوره یا گذراندن یک کلاس آموزشی، شما به مرحله تسلط عالی نخواهید رسید.
      درباره آموزش مهارت های کامپیوتری ما هم باید خدمتتون عرض کنم که یک دوره ویدیویی هست که در اون مبانی کار با کامپیوتر در سطح مقدماتی تا متوسط تدریس شده و مبنای این آموزش سرفصل های بین المللی ICDL بوده که در سراسر دنیا به عنوان یک دوره کامل کار با کامپیوتر شناخته میشه.
      لینک این آموزش رو براتون در ادامه ارسال میکنم و در صورتی که هر سوالی درباره این آموزش دارید، میتونید با همکاران ما در واحد پشتیبانی مطرح بفرمایید
      https://namatek.com/Course/%D8%A8%D8%B3%D8%AA%D9%87-%D9%85%D9%87%D8%A7%D8%B1%D8%AA-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1%DB%8C/
      البته ما به صورت کلی آموزش حضوری نداریم و معتقدیم بنا بر ویژگی های متعددی که یک دوره آموزشی نماتک داره، بسیار بهتر از شرکت در کلاس های حضوری هست.
      موفق باشید

  3. Avatar
    مسیح الله ۱۴۰۳/۰۴/۰۱ در ۲۱:۴۸ - پاسخ

    بسیار عالی بود یک معلومات مفید خداوند شما را که قسم به مردم خدمت می کنید آجر و ثواب نصیب بگرداند برای من خیلی مفید و خلاصه بود

    • حانیه برمایون
      حانیه برمایون ۱۴۰۳/۰۴/۰۲ در ۱۱:۱۵ - پاسخ

      سلام همراه محترم
      ممنون از انرژی خوب و دلگرمی که به ما هدیه دادید
      موفق و پیروز باشید

  4. Avatar
    سید کمال آزادمنش ۱۴۰۱/۱۱/۱۴ در ۱۸:۴۰ - پاسخ

    سلام. ببخشید من دانش آموخته علوم کامپیوتری نیستم ، ولی به این حوزه علاقه مند هستم. آیا می شود موضوعات به زبان ساده تری بیان شوند. متشکرم

    • مبینا شیرین
      مبینا شیرین ۱۴۰۱/۱۱/۱۶ در ۱۲:۳۱ - پاسخ

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

ارسال دیدگاه