چکیده

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

۱- مقدمه

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

۲- تعریف نرم افزار

نرم افزار در معنای عام کلمه به کلیه روش ها و داده ها و هر آنچه که منجر به ایجاد آگاهی می شود اطلاق می شود ]انفورماتیک ۷۳[. این تعریف کلی است و شامل نرم افزار کامپیوتری نیز می شود.
طبق تعریف انجمن مهندسان برق و الکترونیک (IEEE) نرم افزار کامپیوتری عبارت است از برنامه های کامپیوتری ، رویه ها ، دستورالعمل ها و مستندات اجتماعی در رابطه با آنها و همچنین اطلاعات مربوط به عملیات یک سیستم کامپیوتری.
نرم افزار را از دیدگاه های مختلف طبقه بندی می کنند. در این مقاله ما به دو دیدگاه “پیچیدگی” و “لایه های نرم افزار” اشاره می کنیم.

۲-۱- طبقه بندی نرم افزار از نظر پیچیدگی

عوامل پیچیدگی نرم افزاردو دسته هستند:
الف) کمی
۱- تعداد نفرات لازم برای طراحی و تولید
۲- زمان مورد نیاز
۳- هزینه
۴- تعداد دسترالعمل برنامه
ب) کیفی
۱- ضریب اطمینان بالا
۲- سهولت استفاده
۳- قابلیت های برنامه

پیش از ادامه بحث دو واژه “محصول” و “سیستم” را تعریف می کنیم :
محصول: برنامه ای که برای آن مستندات کافی تهیه شود ، استانداردهای لازم رعایت شود و استفاده از آن با سهولت انجام شود.
سیستم : مجموعه ای از چند برنامه که با استفاده از یکدیگر کاری انجام می دهند.
یک سیستم نرم افزاری سه برابر یک برنامه نرم افزاری پیچیدگی دارد. یک برنامه نرم- افزاری محصولاتی نیر سه برابر یک برنامه نرم افزاری پیچیدگی دارد. و بالاخره یک سیستم نرم افزاری محصولاتی نه برابر یک برنامه نرم افزاری پیچیدگی دارد. ]انفورماتیک ۷۳[

۲-۲- طبقه بندی نرم افزار از نظر لایه های نرم افزاری

نرم افزارهای کامپیوتری را از نقطه نظر لایه های نرم افزاری به پنج گروه تقسیم می کنند:

آ) نرم افزار های سیستم عامل
ب) نرم افزارهای توسعه امکانات سیستم
پ) نرم افزارهای پایگاه داده / نرم افزارهای ارتباطی داده ها
ت) نرم افزارهای مفسر / نرم افزارهای مترجم
ث) نرم افزارهای کاربردی / نرم افزارهای تسهیلاتی

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

۳- نرم افزار به عنوان یک صنعت

نرم افزار به عنوان یک صنعت دارای ویژگی هایی می باشد مانند:
• بازار بزرگ و پویا
• بی نیازی از هزینه های تولید انبوه
• همکاری از راه دور ( تیم های جهانی )

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

۳-۱- مقایسه صنعت نرم افزار و سخت افزار

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

زنجیره تولید سخت افزار

زنجیره تولید نرم افزار

شکل شماره ۱ : زنجیره تولید سخت افزار و نرم افزار

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

شکل شماره ۲ : نمودار اندازه اندازه اقتصادی برای نرم افزار و سخت افزار

۳-۲- مدل شرکت مایکروسافت برای صنعت نرم افزار

طبق نظر شرکت مایکروسافت به گردش درآمدن چرخ صنعت نرم افزار نیازمند چهار عامل است (شکل شماره ۳) :
۱ – تقاضا
۲ – سرمایه
۳ – نیروی انسانی
۴ – فناوری
هر کدام از این چهار مورد اگر وجود نداشته باشند تولید نرم افزار ناممکن می شود.

شکل شماره ۳ : مدل صنعت نرم افزار طبق گزارش شرکت مایکروسافت
۴- بررسی وضعیت صنعت نرم افزار در چهارچوب مدل شرکت مایکروسافت

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

۴-۱- بررسی وضعیت صنعت نرم افزار کشور هلند در چهارچوب مدل شرکت مایکروسافت

دولت هلند برای تامین عوامل تاثیرگذار در صنعت نرم افزار سیاست هایی را اتخاذ کرده- است. در شکل شماره ۴ این سیاست ها نشان داده شده اند.