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

 

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

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

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

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

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

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

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

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

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

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

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

 

 

.

 

 

 

 

 

 

 

 

RSSنقل قول های برنامه نویسی

برنامه نویسان خوب هیچ وقت کدی را که می توانند بدزدند یا قرض بگیرند را خودشان نمی نویسند! Jeff Atwood

قبل از اینکه برنامه بنویسید دو بار فکر کنید، وگرنه مجبورید دو بار برنامه بنویسید قبل از اینکه فکر کنید!

هرگز کدی را که می توانید در گوگل پیدا کنید، بخاطر نسپارید!

PHP ویژوال بیسیک وب است! PHP is the Visual Basic of theweb! Jeff Atwood

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

هر احمقی می تواند کدی بنویسد که یک کامپیوتر آن را بفهمد، یک برنامه نویس خوب کدهایی می نویسد که حتی یک انسان هم آن ها را می فهمد! MartinFowler

Debuggerها باگ ها را از بین نمی برند، آن ها فقط باگ ها را به صورت Slow Motion نشان ما می دهند! Anonymous

بهتره افراد را آموزش بدهید و ریسک رفتن آن ها را بپذیرید تا اینکه کاری نکنید و ریسک ماندن آن ها را بپذیرید! Human Resource Risks

خدا از ایندکس 0 یا 1 برای شروع روزها استفاده کرد؟ این موضوع می تواند تمام محاسبات ما را در مورد آخر هفته ها به هم بریزد! Array StartIndex

قبل از اینکه یک نرم افزار قابلیت استفاده دوباره داشته باشد، باید قابل استفاده باشد! Software Reusability

 

/ 0 نظر / 7 بازدید