خطاهاى نرمافزارى سالانه 60 ميليارد دلار به هدر مىدهد
دنياى اقتصاد – در روز چهاردهم سپتامبر راديوى يك مركز كنترل ترافيك هوايى در پالم دال (Palmdale) كاليفرنيا، از كار افتاد و صدها پرواز در كاليفرنياى جنوبى و نوادا انجام نشد و ميان 5 هواپيما كه نتوانستند با كنترلچى پرواز ارتباط برقرار كنند برخورد روى داد. سوال مهم در اينجا اين است كه چرا ايستگاه راديويى پالم دال از كار افتاد؟
يك اشكال در نرمافزارى كه سيستم را راه مىاندازد به اين معناست كه كامپيوترها بايد هر 30 روز، يكبار سروي شوند و البته افرادى كه مامور اين كار بودند، فراموش كردند. اما نرمافزارى كه يك سيستم اساسى ماموريتى را اجرا مىكند نبايد هر ماه سرويس شود.
علت: طراحى نامناسب و ناشيانه.
البته نرمافزار پالم دال براى مدتها كار كرده بود. اما چنين چيزى را براى نرمافزار سرويس درآمد داخلى ايالات متحده (IRS) كه 4 ميليارد دلار بودجه را هدر داد نمىتوان گفت بهطورى كه تلاش چند ساله براى معاينه و تعمير سيستم كاملا بىنتيجه بود. يك چنين مشكلاتى محدود به آمريكا و دولت آمريكا نمىشدند.
يك پروژه 844 ميليارد دلارى براى آژانس حمايت از كودكان به چنين مشكلى برخورد و نتوانست پراختهاى خود را ادامه دهد.
به موازات اينكه نرمافزار در كار تجارت و فعاليت اقتصادى و نيز كارهاى دولتى نقش اساسىترى پيدا مىكنند و كاركردهاى پيچيدهترى به عهده دارند، تاثير طراحىهاى ناشيانه بيشتر خود را نشان مىدهد. يك بررسى در اوايل سال جارى كه گروه Standioh انجام داده است برآورد كرده است كه حدود 30درصد همه پروژههاى نرمافزار لغو شدهاند كه نزديك به نيم آنها به دليل بودجه زياد آن است و 60درصد ديگر آن مربوط به ناتوانى سازمانهايى است كه مبدع آنهاست. يك موسسه تحقيقاتى دولتى آمريكايى طى بررسىهاى خود به اين نتيجه رسيده است كه سالانه هزينه اشتباهات و خطاهاى نرمافزارى براى اقتصاد آمريكا 5/59 ميليارد دلار هزينه دربر دارد. حال چه كسى براى يك چنين سيستم ناكارآمدى مقصر است؟
هزينههاى زياد و نيز تاخير در توليدات، مشكل عمومى همه انواع صنعت نيست، اما آنچه متعارف نيست اين است كه نرمافزارى كه برايش ميليونها دلار صرف شود، ممكن است اصلا مفيد نباشد. در اصل اين اشكال و ناتوانى از مهندسان برنامهنويس و روساى آنهاست. حتى مىتوان گفت كه كمپانىهايى كه در كار توسعه نرمافزار هستند از تاخير و بودجه زياد توليد نرمافزار صدمه مىبينند، نمونه آشكار آن مايكروسافت است: لانگهورن كه قرار بود خلف پيشرفته سيستمعامل ويندوز XP باشد، امسال به بازار بيايد، در حالى كه انتظار مىرود تا اواسط 2006 به بازار عرضه شود، بنابراين بسيارى از اشكال كليدى آن تا سال 2007 به كنار گذاشته شدند.
يكى از دلايل اين شكستها و ناتوانىها را مىتوان به ابزارى نسبت داد كه در دسترس سازندگان نرمافزار است. به محض اينكه يك نرمافزار پيچيده مىشود، براى يك تيم خيلى حرفهاى و مجرب هم كنترل ميليونها رمز خطوط تقريبا غيرممكن است.
براى مثال سالها پيش در دهه 80 برخى از كمپانىهاى توليد نرمافزار سعى كردند تا نرمافزارهايى توليد كنند كه به نوشتن نرمافزار كمك كند، اما اين سيستم براى كار كردن خيلى راحت و آسان نبود و در نتيجه اين تلاشها هم بى نتيجه ماند. اگر چه عدهاى مانند دل فولر رييس يك كمپانى نرمافزار موافق است كه آنها مىتوانند مشكل ابزار ضعيف را حل كنند.
جان مونتگمرى كه اداره چنين چيزهايى را در مورد مايكروسافت برعهده دارد هم معتقد است كه وضعيت خيلى بد نيست اما در عين حال معتقد است كه آنچه مايكروسافت به عنوان يك مشكل با آن مواجه است مشكل محصولات مشترك است كه براى توليدكنندگان و نويسندگان نرمافزار نوشتن برنامهاى حد وسط اين محصولات كه براى همه اين محصولات سازگار باشد را مشكل مىسازد.
چالشى كه همه اين كمپانىها با آن مواجه هستند، اين اس كه چگونه ابزارى قابل اعتماد بسازند كه قادر باشد با ميليونها رمز خطوط و تجهيزاتى كه همواره مىتوانند تغيير كنند، سازگار باشد و كار كند.
اهميت بخش توسعهدهنده نرمافزار براى تجارت و اقتصاد اساسى است.
مونتگمرى از مايكروسافت در اين باره مىگويد، علاوه بر اينكه فروش نرمافزارها براى مايكروسافت سودآور است، اين موضوع همچنان راه ديگرى براى پيدا كردن و ربودن فعاليتهاى اقتصادى جديد است.
ابزار تكامل يافته بيشتر و بهتر به معناى نوشته شدن نرمافزار بيشترى براى ويندوز است و اين هم به اين معناست كه تعداد افراد بيشترى جذب سيستم عامل ويندوز مىشوند.
يكى از دلايلى كه IBM تصميم گرفته است كه از unix (حتى نسخه open-source) كه رمز آن براى همگان آشكار است، حمايت كند، همين دليل است، unix قديمىترين سيستم عامل كه در عين حال بزرگترين رقيب و تهديد براى ويندوز هم به شمار مىرود.
سه روند آزمايشى، آينده توسعه نرمافزار را شكل مىدهد و به آنهايى كه در انتظار پروژههاى بزرگ نرمافزارى هستند، اميدوارى مىدهد.
اول از همه آگاهى از نياز به توجه بيشتر به چرخه زندگى يك قطعه از نرمافزار است، از نصب و تنظيم ابتدايى تجهيزات تا كاربرد پيوسته و مدام آنها.
روند دوم، سيستم خودكار و اتوماتيك آزمايش نرمافزار است، بر اساس تحقيق موسسه تحقيقاتى NIST، با اين كار حدود 2/22 ميليارد دلار (بيش از يك سوم) هزينه از كار افتادن نرمافزارها مىتواند با سيستم آزمايش خودكار حذف شود. روند سوم، آشكار كردن كد نرمافزار است چيزى كه حتى مايكروسافت هم آن را پذيرفته است.
برنامه 5 مرحلهاى
توليد هر نرمافزار پنج مرحله دارد: معين كردن تجهيزات، طراحى برنامه، نوشتن كد برنامه به آزمايش كردن آن و سپس به كارگيرى آن. به لحاظ سنتى و طبيعى اين 5 مرحله پياپى براى نوشتن يك نرمافزار كافى است. با اين وجود برخى از كارشناسان مىگويند ممكن است وقتى يك كمپانى تصميم به بكارگيرى و اجراى يك نرمافزار بگيرد، تجهيزات آن تغيير كند. به اين مدل، مدل تكرارى و يا دورانى مىگويند به اين معنا كه الزاما مراحل توليد نرمافزار به صورت پياپى و يكى پس از ديگرى اتفاق نمىافتد بلكه گاه مجبور هستيد به يكى از مراحل گذشته باز گرديد، اين مدل با آن مدل قديمى كه به آن آبشارى هم مىگويند تفاوت دارد.
البته در عمل مدل بسيار متداولتر از مدل، تكرارى يا>
به موازات اينكه تجهيزات تغيير پيدا مىكند، برنامهنويسان مسير و رشته را تغيير مىدهند. البته اين موضوع بيشتر به يك يوتوپيا شباهت دارد. در ماه اكتبر IBM جديدترين طرح خود را به نام آتلانتا كه رقيب جدى themic مىباشد اعلام كرد. مايكروسافت هم محصول مشابهى را كه Visual studio2005 نام دارد در نيمه اول سال آينده عرضه خواهد كرد، عجله اين كمپانىها براى جا گرفتن در بازار هيچ منطق و توجيهى ندارد. اما اين موضوع حقيقت دارد كه اگرچه آنها رقيب هستند، اما همكار همديگر هم تلقى مىشوند.
منبع : اكونوميست