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

 

در کشور ما صنعت نرم افزار بسیار نوپا و جوان است. هنوز فرهنگ نرم افزاری در بین مردم کشور ما جایی ندارد. میانسالان ما با نرم افزار و تکنولوژی های روز از جمله اینترنت کاملا غریبه اند. هنوز بسیاری از ادارات ، شرکت ها و فروشگاه ها اطلاعات خود را به روش دستی روی کاغذ مدیریت می کنند و به اهمیت و مزایای اتوماسیون اداری پی نبرده اند. امیدوارم نوشتار زیر در درک بهتر موجودیت “نرم افزار” به شما کمک کند.

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

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

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

2- محصولات سفارشی : این ها محصولات نرم افزاری هستند که توسط مشتری خاصی سفارش داده می شوند. این گونه محصولات توسط پیمانکاران نرم افزاری برای مشتری سفارش دهنده ایجاد می شوند.

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

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

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

چند نکته بنظرم می‌رسه:

- انتزاعی بودن و “غیرقابل تجسم” بودن نرم‌افزار ریسک را در آن بالا برده‌است؛ بسیاری از اشکالات و کج‌فهمی‌ها در شناخت یک سیستم و تبدیل آن به یک نرم‌افزار، گاهی اوقات تا آخرین مراحل تولید پنهان می‌مونه و هیچ‌کس متوجه ایرادات نمیشه.

- در ایران صنعت نرم‌افزار تقریبا یعنی همان “محصولات‌ سفارشی”! که سفارش‌دهنده آن هم عموما بدنه دولت است. خب این یعنی چی ؟!‌ یعنی اینکه اگر دولت زمانی بودجه IT‌ رو کاهش بده،‌ نرم‌افزار در ایران روزهای سختی رو خواهد گذراند؛‌ متاسفانه.

 

 

.