اختلالهای نرمافزاری ایران با ورود به سال 1400

حسین طالبی - با ورود به سال ۱۴۰۰ شمسی بسیاری از سیستمهای مکانیزه کلیدی و فراگیر در کشوردچار چالشها و خطرات جدی خواهد شد. این خطرات ناشی از عدم همخوانی تاریخهای دو رقمی(برای سال) تعریف شده در هزاران برنامه در سیستمها ونرمافزارهای کاربردی است که در بسیاری از وزارتخانهها وسازمانها وبانکها ایجاد خواهد شد.
این چالشها و مشکلات همانند وشبیه اتفاقات و جنجالهایی است که به علت ورود به سال ۲۰۰۰ میلادی تحت عنوان Y2K بوقوع پیوست که تقریباً تمام کشورها و سازمانها در دنیا با آن روبرو بودند و اکثر سازمانها در جهان از ۵ سال قبل از سال 2000 طبق برنامه ریزی دقیق با میلیاردها دلار هزینه نسبت به اصلاح تمامی برنامهها و سیستمها اقدام کردند.
اینک در ایران نیز در آغاز سال ۱۴۰۰ شمسی چنین رویداد چالش بر انگیزوخطر آفرینی که اجازه دهید از این به بعدبه مختصر آن را Y14H = Year Fourteen Hundred بنامیم بوقوع خواهد پیوست.
بدیهی است اگر مدیران فناوری اطلاعات کلیه سازمانها برطبق یک برنامه ریزی صحیح و سیستماتیک نسبت به بازنگری واصلاح تاریخ برنامهها و سیستمهای کاربردی بموقع اقدام ننمایند ناگهان در آغاز سال ۱۴۰۰ شمسی اکثر سیستمهایی که از تاریخ با فرمت تعریف شده دورقمی برای سال YY/MM/DD در برنامهها استفاده کرده اند دچار خطای محاسباتی شده و یا متوقف شده و بحران بزرگی را درآن سازمان ایجادخواهد کرد.
با توجه به اهمیت وحساسیت این رویداد مشکل آفرین، در این گزارش ابتدا علت بوجود آمدن این مشکل را بیان خواهیم کرد وسپس به برخی توصیههای مفید که به اصلاح بموقع ومطمئن سیستمها وبرنامههای کاربردی کمک مینمایند اشاره خواهیم کرد.
علت بروز مشکل چیست؟
سیستم سازان وبرنامه نویسان محترم استحضار دارند که در اکثر نرمافزارهای کاربردی برای نشان دادن ومحاسبه زمان ازتعریف تاریخ در نرمافزارها با فرمت YYYY/MM/DD ویا YY/MM/DD استفاده مینمایند. برای اندسته از نرمافزارهایی که در تعریف فرمت تاریخ، فیلد سال با 4 رقم معرفی شده اند با ورود به سال 1400 هیچ مشکلی پیش نخواهد آمد. ولی برای حالتی که در برنامهها از سال با فرمت دورقمی YY استفاده کرده اند با ورود به سال 1400 شمسی بروز مشکل حتمی خواهدبود. دلیل ان اینست که درمثلا آخرین روز سال 1399 شمسی تاریخ 30/12/99 را نشان میدهد ویک روز بعد از آن درآغازین روز سال 1400 شمسی تاریخ بصورت 01/01/00 نشان داده میشود یعنی کامپیوترتفاوت زمان یک روز را با اشتباه 99 سال ویک روز محاسبه مینماید واز این به بعد تمام محاسبات با 99 سال اشتباه مبنای محاسبات قرار میگیرد.(به همین سادگی) در حالیکه اگر فرمت سال درتاریخ با 4 رقم YYYY تعریف شده بود تفاوت 1399 با 1400 همان یک روز بود وهیچ اشکالی ایجاد نمیشد.
از آنجاییکه در بسیاری از نرمافزارهای کاربردی در محیطهای تجاری ویا صنعتی بویژه نرمافزارهای قدیمی اعم از نرمافزارهای : بانکی ، بیمه، مالی، حقوق، نیروی انسانی، تدارکات، امور مشترکین: آب، برق، گاز، تامین اجتماعی، بیمارستانی اتوماسیون اداری، . . وحتی نرمافزارهای کاربردی در سامانههایی نظیر: اتوماسیون صنعتی وتولیدی،که فیلد سال در تاریخ بصورت دو رقمی تعریف شده است حتما وحتما چنین مشکلات بزرگی ایجاد خواهد شد. بخصوص در نرمافزارهای اتوماسیون صنعتی ممکن است مشکلات فاجعه بار ناشی از افزایش فشار، حرارت وجریان مواد وانفجارمخازن ودیگ بخار در سامانههای مدیریت توزیع، دیسپچینگ، اسکادا و..... ایجاد گردد.
بنابراین ضروریست هرچه سریعتر مدیران ارشد بویژه مدیران فناوری اطلاعات سازمانها ونیز مدیران شرکتهای رایانه ای که تولیدکننده وپشتیبانی کننده نرمافزارهای کاربردی هستند نسبت به برنامه ریزی وتعریف پروژههایی جهت بازنگری واصلاح کلیه سیستمها وبرنامههای کاربردی در کلیه سازمانها اقدام نمایند.
در ازین مقاله توصیههای لازم برای حسن اجرای طرحها وپروژهها برای باز نگری واصلاح سیستمها وبرنامهها ارایه میگردد.
هشدارها:
تا آغاز سال 1400 حدود ۳ ماه باقی مانده است اینجانب ۲سال قبل درتاریخ ۱/۶/۱۳۹۷ طی مقاله ای در هفته نامه عصر ارتباط ضمن تشریح چنین رویدادی هشدارها وراه کارهای اساسی جهت اصلاح سیستمها ومقابله با این چالشها را ارایه داده بودم، ظاهرا نهادها وسازمانها وشرکتهای سرویس دهنده وسرویس گیرنده ومتولیان فناوری اطلاعات در کشور اقدامات جدی جهت اصلاح سیستمها بعمل نیاورده اند لذا اگرچه فرصتهای بسیار ازدست رفته است ولی در این ۳ ماه باقیمانده باید کلیه ذینفعان وبازیگران در این حوزه هرچه سریعتر نسبت به بازنگری واصلاح نرمافزارهایی که در انها تاریخ بافرمت سال دورقمی بکار رفته اقدام وحصول اطمینان نمایند که با ورود به سال ۱۴۰۰ شمسی هیچگونه اختلالی در اجرای نرمافزاره اعم از کاربرد در امور تجاری واتوماسیون صنعتی ایجاذ نخواهد شد قبلا عرض کرده بودم که این مدت زمان ۲ سال نیز زمان زیادی برای سیستمها نیست زمان در ایران مثل باد میگذرد یکمرتبه به صرافت میافتید که کاراز کار گذشته است. ودیدیم که زمان ۲ سال مثل باد گذشت وفقط ۳ ماه تا اغاز سال ۱۴۰۰ باقی مانده است.
با توجه به اهمیت موضوع در زیر سعی میگردد به برخی سکتورها وبخشها و حوزههای مهم تاثیر پذیر و در معرض خطردر کشور اشاره و سپس به راه کارهای عملی جهت اصلاح سیستمها اشاره گردد.
- سازمانهای بزرگ که سرویسهای فراگیر مکانیزه ارایه میدهند نظیر صنعت نفت، وزارت کار، تامین اجتماعی، تمام بانکها و ارایه دهنده گان سرویسهای فناوری اطلاعات نظیر خدمات انفورماتیک، توسن وفناب، شرکتهای بیمه، اپراتورهای موبایل و وزارتخانهها وشرکتهای دولتی وخصوصی وخصولتی همه همه در معرض خطر Y14H هستند.
- اغلب نرمافزارهای اصلی بک آفیس درسازمانهای بزرگ قدیمی وپیچیده بخصوص کاربرانی که از سیستمهای Main frame استفاده مینمایند و یا از زبانهای برنامه نویسی تکنولوژی قدیمی تر برای تولید نرمافزارها استفاده کرده اند. سازمانهاییکه اغلب طراحان وبرنامه نویسان آنها که اشراف کامل به سورس برنامهها دارن بعلت بازنشستگی یا خروج از سازمان دردسترس نیستند و اینگونه سازمانها در معرض خطر بیشتری میباشند وگاهی حتی سورس اصلی برخی از نرمافزارها وپکیجها در دسترس نیست و گاهی از ماجولها وساب روتینهای خاص نظیر Date conversion در برنامهها استفاده میشود که بصورت exe. بوده واصلاح انها کار ساده ای نیست.
- اختلالات در اتوماسیون صنعتی
از انجاییکه بسیاری از عملیات در فرایند تولیدواحدهای بزرگ صنعتی نظیر: پالایشگاهها وپتروشیمیها وخطوط انتقال مواد و شبکههای انتقال وذخیره سازی برق واب و.... میزان و زمان فشار،حرارت و جریان و فلوی مواد در صنایع بصورت اتوماتیک با استفاده برنامههای کنترلی PLC مدیریت وکنترل میشوند ممکن است مدیریت زمان در اینگونه سیستمها از طریق تاریخ صورت پذیرد لذا باید مسِئولین ذیربط تا قبل از سال ۱۴۰۰ حصول اطمینان نمایند که هیچگونه اختلالی در سامانههای کنترل اتوماسیون صنعتی مربوطه ایجاد نخواهد شد. همچنین در سامانههای مرتبط با مدیریت تاسیسات ساختمانها ومجتمعهای بزرگ BMS ومدیریت اسانسورها ... ممکن است نیاز به اصلاح داشته باشد .
الف : برای اصلاح سامانههاچه باید کرد:
به علل بروز اختلالات در نرمافزارها وسامانههای رایانه ای هنگام ورود به سال ۱۴۰۰ شمسی اشاره شد همچنین به نوع سازمانها و نهادها وکاربردهاییکه بیشتر در معرض خطر هستند نیز اشاره شد.
اینک به راه کارها وپیشنهادهای لازمً جهت شناسایی واصلاح نرمافزارها وسیستمهای تاثیرپذیر از Y14H خواهیم پرداخت.
عزیزان استحضاردارند که طراحی، تولید، راهبری ونگهداری سامانهها ونرمافزارهای رایانه ای به روشهای زیر انجام میگیرد:
1- نرمافزارهای عمومی:
این نرمافزارها کاربرد عمومی در بسیاری از سازمانها داشته وتوسط یک شرکت بصورت پکیج طراحی و تولید شده وسپس در تعداد زیادی از سازمانها پیاده سازی راهبری، نگهداری وپشتیبانی میگردند.
۲- نرمافزارهای خاص منظوره:
این نرمافزارها تنها دریک سازمان خاص مورد استفاده قرار میگیرند وبه دو شیوه زیر تولید وپشتیبانی میگردند:
۲-۱ - توسط واحد فناوری اطلاعات خود سازمان تولید وپشتیبانی میگردد.
۲-۲ - توسط یک شرکت رایانه ای خارج سازمان تولید وپشتیبانی میگردد.
با توجه به موارد فوق مسئولیت شناسایی و اصلاح اختلالات ناشی از Y14H به عهده نهاد تولید کننده وپشتیبانی کننده نرمافزار خواهد بود
بنا براین:
اولا: کلیه شرکتهای رایانه ای مکلفند نسبت به اصلاح کلیه نرمافزارهایی که خود تولید وپشتیبانی کرده اعم از نرمافزارهای عمومی یا خاص منظوره اقدام کرده وحصول اطمینان نمایند که هیچ مشکلی ناشی از Y14H برای کاربران ایجاد نخواهد شد.
البته در اینگونه موارد نیز مدیران وبالاترین مقام سازمان های استفاده کننده از نرمافزار نیز مکلفند قبل از Y14H حصول اطمینان نمایند که هیچگونه اختلالی در استفاده از این نرمافزارها برای انها درسال ۱۴۰۰ ایجاد نخواهد شد وتوصیه میگردد مدیران قبل از ۱۴۰۰ تضمین لازم را از شرکتهای پشتیبانی کننده دریافت نمایند.
ثانیا: کلیه واحدهای فناوری اطلاعات دستگاههای اجرایی که خود نسبت به طراحی وساخت نرمافزارهای خاص منظوره اقدام کرده اند مکلف به شناسایی واصلاح اینگونه نرمافزارها تحت نظارت بالاترین مقام دستگاه هستند.
ب : اقدامات فنی واجرایی برای اصلاح سیستمها:
در زیر اهم اقذاماتی که برای شناسایی واصلاح نرمافزارها وسامانههای رایانه ای قبل از ورود به سال ۱۴۰۰ شمسی باید انجام بگیرد امده است:
- اصلاح فرمت تاریخ در ورودیهای به سیستم
- اصلاح فرمت تاریخ در فیلدهای واسط ومحاسباتی
- اصلاح فرمت فیلدهای تاریخ در فایلها وپایگاههای دادهها
- اصلاح فرمت تاریخ در فایلها وگزارشات خروجی
- اصلاح فرمهای جمع اوری دادهها
- تست سیستم با دادههای ازمایشی
- اجرای موازی سیستم اصلاح شده با سیستم موجود قبل از ورود به Y14H وحصول اطمینان از عملکرد صحیح سیستم
- اصلاح مستندات سیستمها
- جایگزین کردن سیستم موجود باسیستم اصلاح شده
ج: سایر پیشنهادات اجرایی:
با توجه به اندک زمان باقیمانده برای شناسایی واصلاح سیستمها ونرمافزارها اعم از نرمافزارهای عمومی وخاص منظوره و نرمافزارهای کنترلی اتوماسیون صنعتی پیشنهادات زیر به شدت توصیه میگردد:
- حمایت بالاترین مقام اجرایی دستگاهها اعم از وزارتخانهها بویژه وزارتخانههای مهم نظیر : وزارتهای: نفت، دارایی، صمت، کشور و.......وبانکها از شناسایی واصلاح سامانههای تحت پوشش ان دستگاه وحصول اطمینان از عدم بروز هرگونه اختلال در عملکرد انها در ورود به سال ۱۴۰۰ شمسی
- قدام فوری مدیران فناوری اطلاعات کلیه دستگاههای اجرایی در برنامه ریزی واجرای عملیات شناسایی واصلاح سامانههای تحت پوشش.
-اقدام فوری شرکتهای رایانه ای که متولی تولید وارایه پشتیبانی سامانهها اعم از سامانههای عمومی وخاص منظوره برای دستگاههای اجرایی را دارند.
- نظارت متولیان فناوری اطلاعات درسطح ملی بمنظور حمایت وحصول اطمینان ازانجام کلیه اقدامات برای ورود سلامت به سال ۱۴۰۰ شمسی .
این متولیان عبارتند از:
- شورای عالی فضای مجازی
- سازمان فناوری اطلاعات
- نظام صنفی رایانه ای استانها
- شورای عالی بانکها با توجه به اهمیت بانکها
تهیه وابلاغ بخش نامههای لازم به دستگاهها ونهادهای ذیربط توسط نهادهای فوق بمنظور حمایت ونظارت واطمینان از انجام کلیه اقذامات پیشگیرانه واصلاحی از وظایف نهادهای ملی فوق است.
توضیح:
با توجه به اینکه اینگونه اختلالات بیشتر در سامانههای قدیمی وابزارها وزبانهای برنامه نویسی قدیمی رخ خواهد داد وتولید کنندگان این نرمافزارها بعضا باز نشسته شده اند، باید به دستگاههای اجرایی اجازه جذب موقت اینگونه نیروها داده شود. (منبع:عصرارتباط)
- ۹۹/۰۹/۲۴