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

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

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

نرم افزارهای سطح 3  آن هایی هستند که برای ساختن ، تولید و اشکال زدایی نرم افزارهای جدید به کار گرفته می شوند ؛ به عبارت دیگر ما با نرم افزارهای موجود به خلق نرم افزارهای جدید می پردازیم و اشکالات آن ها را بر طرف می سازیم . نرم افزارهای سطح  4  که این نوع نرم افزارها کاربردی هستند فعالیت هایی از قبیل داده پردازی ، محاسبات فنی و فعالیت های هوشمند را در کامپیوتر اجرا می کنند[1] .

با ذکر این مقدمه ی کوتاه طبقه بندی کلی نرم افزارها را بیان می کنیم :

الف-  نرم افزارهای سیستمی[2] :

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

 

بند 1- نرم افزارهای سخت افزاری  :

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

الف – ریز کدها :

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

ب –  عیب یاب های سخت افزار :

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

 

ج – بار کننده ها :

مفهوم نرم افزار بارکننده این است که جهت انتقال یک سری نرم افزار از حافظه های جانبی با     حافظه ی اصلی نقش یک باربر را ایفا می کند و نرم افزار مورد نظر را از یک حافظه به حافظه ی دیگر      می برد[4] .

 

بند 2 – سیستم عامل :

سیستم عامل ها همان طور که از نام آن ها هم مشخص است وظیفه عملیاتی در سیستم کامپیوتری دارند . نرم افزارهای این سطح ، اجرای عملیات هایی نظیر مدیریت ورودی و خروجی ، مدیریت          حافظه جانبی را بر عهده دارند . این نرم افزارها به شرح زیر می باشند[5] :

[1] . جمعی از نویسندگان، حقوق پدیدآورندگان نرم افزاهای رایانه ای، دبیر خانه شورای عالی انفورماتیک،چاپ اول 1371 ،ص64 .

  1. system software

[3] .امیرصادقی نشاط، پیشین،ص61.

[4] . همان،ص64 .

[5] . جمعی از نویسندگان ،پیشین، ص 67 .

بند 3- نرم افزارهای پایه :

نوع دیگری از نرم افزارهای سیستمی نرم افزارهای پایه هستندکه عمده فعالیت آن ها ساختن نرم افزار         می باشد[1] . این نرم افزارها و عمده فعالیت آن ها به شرح زیر است :

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

 

  1. محیط های برنامه سازی    1 . بهینه سازی متن نرم افزار 2. نگهداری کتابخانه ای از نرم افزار

3 . یک پارچه سازی نرم افزار

3 . نرم افزارهای کمکی                       1.اجرا کردن یک نرم افزار2.اعمال تغییرات اجرایی جهت اشکال زدایی

4 . نرم افزارهای مدیریت پایگاه داده                    ایجاد سازمان های اطلاعاتی مرکب و پیچیده            (پایگاه های دادهای)

5 . نرم افزارهای مولد نرم افزار                         تسهیل اجرای تمام یا قسمتی از تولید نرم افزار[2]

 

ب – نرم افزارهای کاربردی[3] :

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

حال به شرح جزئیات این گروه از نرم افزارها می پردازیم :

الف –  نرم افزارهای داده پردازی :

همان طور که از نام این نرم افزارها پیداست این نرم افزارها در جهت پردازش داده ها گام برمی دارند . از انواع این نرم افزارها می توان سیستم های مالی و حسابداری را نام برد[4] .

ب –  نرم افزارهای امور نشر و خدمات دفتری :

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

پ –  نرم افزارهای اطلاع رسانی :

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

 

ت –  نرم افزارهای سیستم های اطلاعات مدیریت :

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

ث –  نرم افزارهای طراحی و تولید :

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

ج –  نرم افزارهای کنترل فرآیند های سریع :

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

چ –  نرم افزارهای مدل ساز :

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

ح –  نرم افزارهای هوشمند و خبره :

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

خ –  نرم افزارهای پردازش تصویر :

این نرم افزارها در جایی که تصویر نقش اصلی و تعیین کننده را ایفا می کند ، مسئولیت تسهیل ، تسریع و بهبود کیفی را بر عهده دارند . از انواع مشهور این کاربردها می توان پردازش تصویرهای هوایی  ماهواره ای پدیده های زمینی و تولید فیلم های نقاشی متحرک را نام برد[5] .

د –  نرم افزارهای آموزشی :

نرم افزارهای آموزشی در زمینه های آموزش به کمک کامپیوتر ، یادگیری به کمک کامپیوتر ، یادگیری بر مبنای کامپیوتر ، تدریس بر مبنای کامپیوتر ، مدیریت آموزشی به کمک کامپیوتر و … به کار گرفته می شوند[6] .

.[1]امیرصادقی نشاط، پیشین،ص61.

[2] .جمعی از نویسندگان،پیشین ، ص 70 .

3 .  Application software

[4].امیر صادقی نشاط،پیشین،ص62.

[5] .همان ، ص63.

[6] .جمعی از نویسندگان،پیشین ،ص 73 .

                                                    .