کنترل‌هاى مرحله پردازش اطلاعات به منظور حصول اطمينان از پردازش اطلاعات صحيح و کامل و بدون اشتباه بودن پردازش، طراحى و اجراء مى‌شود. اگرچه پردازش اصلى اطلاعات بعد از ويرايش و تصحيح اشتباهات احتمالى اطلاعات ورودى انجام مى‌گيرد اما برنامه‌هاى مرحله پردازش نبايد بر فرض صحت کامل اطلاعات، طراحى و نوشته شود زيرا امکان دارد که، اولاً، برخى از اطلاعات بدون گذر از مسير عادى و ويرايش به برنامه‌هاى پردازش وارد شود و ثانياً، با وجود اجراءِ کنترل‌هاى ويرايشى کامل بر روى هر يک از رکوردهاى اطلاعات ورودي، ترکيب آن اشتباه باشد. براى نمونه، ممکن است جمع پرداخت‌هاى صندوق، که هر کدام کمتر از موجودى است، بيش از مانده اوليه به‌اضافه دريافتى‌ها، شود. ويرايش‌هاى مرحله پردازش بايد کامل‌تر از کنترل‌هاى مرحله ويرايش باشد تا بتواند از ورود اطلاعات ويرايش نشده و غيرمجاز جلوگيرى کند.


افزون بر اشتباهات ناشى از اطلاعات ورودى نادرست و غيرمجاز، علل زير نيز مى‌تواند موجب کامل نمودن يا پردازش اشتباه اطلاعات گردد.

منطق برنامه‌هاى کامپيوترى

طبق اصول ايجاد و توسعه سيستم‌هاى کاربردي، هر برنامه سيستم، قبل از رسيدن به مرحله اجراءِ واقعى و پس از انجام هرگونه تغييرات بايد به‌طور کامل آزمايش شود تا آن حدى که بدون اشتباه بودن منطق برنامه اثبات گردد. برخى از برنامه‌ها داراى مسيرهاى متعدد براى پردازش هر يک از حالات و امکانات مختلف مى‌باشد و ممکن است يک يا چند حالت يا مسير پردازش آن آزمايش نشود و به‌علت ندرت وقوع حالت يا حالات مزبور، اشتباه موجود در آن براى مدت‌هاى پنهان بماند. بديهى است که عوامل خارجى نيز مى‌تواند موجب پردازش اشتباه شود مانند مواردى‌که يک کليد کامپيوتر يا دستگاه‌هاى جانبى مطابق شرايط تعيين شده، نباشد. براى مثال، اگر اپراتور کامپيوتر، کليد علامت آخرين رکورد را خاموش کرده باشد، برنامه نمى‌تواند جواب لازم را از دستگاه بگيرد و اين امر مى‌تواند موجب ناقص ماندن پردازش شود. برنامه‌هاى کامپيوترى تا مرحله امکان بايد مستقل از شرايط خارجى باشد و آزمايش برنامه‌ها با اطلاعات آزمايشى کاملى انجام شود که تمام قسمت‌هاى برنامه را در بر گيرد.

روش انجام محاسبات

مدار محاسبات و منطق کامپيوترها مى‌تواند محاسبات را با دقت‌هاى زياد انجام دهد. اما در بيشتر حالات، نتيجه محاسبه (I = 3/2) يک است، همانگونه که اتومبيل سالمى که با سرعت کم حرکت مى‌کند ممکن است به داخل دره سرازير شود. اشکال در هر دو مورد از استفاده يا کاربرد غلط وسيله است. هدف در اينجا آموزش روش صحيح معرفى نوع، طول و ساير مشخصات اعداد مورد پردازش نيست. روش درست براى هر مورد در قواعد زبان مورد استفاده براى برنامه‌نويسى موجود است و برنامه‌نويس بايد با شناخت صحيح محاسبات موردنظر، و زبان برنامه‌نويسى مورد استفاده، ترتيبى اتخاذ کند که محاسبات انجام شده از دقت کافى برخوردار باشد.


علت اينکه خارج قسمت ۳ بر ۲ در مثال ساده ابتداى پاراگراف بالا ۵/۱ نخواهد شد اين است که در بيشتر زبان‌هاى برنامه‌نويسى پيش‌قرار براى متغير I اين است که مقدار متغير مزبور هميشه بايد فقط اعداد صحيح (Integer) باشد و در نتيجه فقط قسمت صحيح نتيجه محاسبه از واحد محاسبه کامپيوتر به آن قسمت حافظه که براى مقدار I در نظر گرفته شده است منتقل مى‌شود. اگر پيش‌فرض صحيح و دقيق بودن محاسبات انجام شده توسط کامپيوتر را کنار گذاشته و محاسبات قبوض آب، برق، تلفن، عوارض شهردارى و غيره را کنترل کنيم نتايج محاسبات غيردقيق در موارد زيادى قابل مشاهده است. چون ميزان اشتباه محاسبات بدون تکرار دقيق محاسبه، قابل درک، و در صورت محاسبه، قابل توجه نيست معمولاً افراد عادى در اين مورد پيگيرى نمى‌نمايند. حسابرس در رسيدگى‌هاى خود بايد به اينگونه موارد توجه خاص نمايد. يکى از موارد مشهور اختلاس از طريق سيستم‌هاى کاربردى کامپيوترى موردى است که يک برنامه‌نويس بانک اجزاءِ واحد پول را به حساب بانکى خود منظور مى‌کرده است.

پيش‌قرارهاى برنامه

در زبان‌هاى برنامه‌نويسى سطح بالا (level ـ High) معمول است که مشخصات يا مقادير متغيرها يا اطلاعات داده نشده، بر اساس پيش‌قرارهاى معينى عمل شود. براى مثال، کليه متغيرهائى که نام آنها با حروف I تا N شروع شود در زبان برنامه‌نويسى فورتران متغير عدد صحيح خواهد بود مگر آنکه مشخصات ديگرى برايش ذکر شود. در سيستم‌هاى کاربردى نيز ممکن است به منظور کاستن از حجم اطلاعات ورودي، براى برخى از اطلاعات پيش‌قرارهائى مقرر گردد. به‌طور مثال اگر ساعات کارکرد يک کارگر داده نشود، ساعات کار استاندارد مبناى محاسبه حقوق باشد يا اگر روش استهلاک مشخص نشده باشد روش مستقيم مبناى محاسبه قرار گيرد. در اينگونه موارد، خطر اشتباه افزايش مى‌يابد. در مورد نمونه‌هاى ذکر شده واضح است که علت نبودن ساعات کارکرد کارگر ممکن است مفقود شدن کارت ساعات يا عدم ارسال به موقع آن باشد. روش استهلاک به‌دليل مشکل بودن اخذ تصميم نوشته نشده باشد، يا شماره (کد) مربوطه هنگام منگنه‌زنى ماشين نشود. با اعمال کنترل‌هاى جنبى مانند جمع کنترل براى ستون روش استهلاک مى‌توان اشتباهات مزبور را کشف کرد. در هر حالت، تمام موارد استفاده از پيش‌قرارهاى برنامه بايد کنترل شود.