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

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

 بطور کلی اولین قدم بنیادی در طراحی کدگذاری مطلوب ،بطوریکه بنحو مناسب در خدمت نیازهای هرسازمان باشد . رعایت  ویژگیهایی است که بر حسب اهمیت  ،بشرح زیر میتوان آنرا درجه بندی کرد :

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

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

 

 دوم ، ویژه گی توسعه پذیری ( Expandibility (- بدین معنی است که در ساختار کد باید امکان لازم برای گسترش وجود داشته باشد . برای مثال کد٧ رقمی مندرج در تابلو شماره یک از دو جهت دارای محدودیت است . نخست اینکه، در شکل کنونی افزودن یک خصوصیت دیگر مثل گروه محصول فروخته شده ، به کد ممکن نیست . گسترش کد برای جا دادن این خصوصیت تنها از یک راه پر هزینه میسر است و آن عبارت است از باز کردن پرونده ای دیگر و ایجاد کدی جداگانه برای ارتباط دادن گروه محصول  فروخته شده به عامل کلیدی کد ، یعنی نام مشتری ، اگر شماره های اضافی در کد وجود می داشت ، آنگاه تلفیق موارد جدید با سیستم موجود می توانست به آسانی صورت پذیرد. دیگری آنکه ، ظرفیت هر کد برای استقرار خصیصه های مختلف محدود است . که در مورد مثال جدول شماره ١ تنها می توان ٩٩ گروه اشخاص ، ٩٩ گروه مشتری و ٩٩٩/٩ نام مشتری را گنجاند در حالی که نیازهای بیشتر موسسات  ممکن است فراتر از چنین ظرفیتی باشد .

 سوم ،ویژه گی خطاپذیری ( Errors (- بدین معنی که یک کد و ارتباطات آن با سایر اجزای نظام طبقه بندی باید به گونه ای طراحی شود که اشتباهات کدگذاری را به سطحی قابل قبول کاهش دهد

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

پنجم، ویژه گی تداعی معانی ( Mnemonies (-  بدین معنی که خاصیت مفهوم بخشی در اثر استفاده از ابزار تداعی معانی بیشتر جلوه گر می شود زیرا که این ابزار به استفاده کننده کمک می کند که کد را به مصداق آن مربوط سازد . به عنوان مثال ، حساب مربوط به مواد می تواند با حرف (م) یا( M) و حساب مربوط به کار با حرف (ک) یا ( W)آغاز شود . به علاوه می توان با استفاده از فاصله باز یا علاماتی مانند (/) یا (-) عوامل کد را به چند قسمت تقسیم کرد و در نتیجه به خاطر سپردن کد را آسان ساخت .

ششم، ویژه گی همشکلی ( Format (-  بدین معنی که چنانچه کد، به طرزعلمی ومناسب طراحی شده باشد ، باید ساختار و شکل یکسانی را فراهم آورد تا بتوان با سهولت و دقت از آن استفاده کرد. این کیفیت در هر حالتی معمولاً از الزامات یک سیتم اطلاعاتی است . ضرورت یکسان سازی شکل کد ریشه بسیاری از مشکلاتی است که توسعه پذیری کد را محدود می کند.

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

هشتم ،ویژه گی ترتیب پذیری ( Sortability (- بدین معنی که  غالباً درتمامی سیستمها ، استفاده کنندگان ملزم می گردند که چگونگی ترتیب کدها را مشخص کنند . ساختار کد معمولاً این امر را در خود منعکس می سازد . بطورمثال ضرورت مرتب سازی اشخاص بر حسب نام مشتری به ترتیب الفبا . در چنین مواردی بهتر است که شماره شخص دارای ترتیب الفبایی باشد . بدین معنی که مثلاً برای شرکت آلفا شماره ( ٠٠٠١) و برای شرکت بتا شماره (٠٠٠٢) را به کار برد.  حال چنانکه در این مثال شرکت آلتا در زمره مشتریان شرکت قرار گیرد ، توسعه پذیری کد دچار اشکال می شود و تخصیص یک کد مناسب به مشتری غیر ممکن می گردد. بنابر این ممکن است ضروری باشد که در بین کدها فواصل کافی در نظر گرفته شود .

بطورکلی ساختار یک  کد دارای صور اصلی  زیراست :

١ـ طول

٢ـ نماد

٣ـ مفهوم

حالات مختلف هر کدام از این صورتها در آرایه زیر نشان داده می شود :

 

 

توضیحات عناصر موجود درآرایه فوق بطورمختصر بقرارذیل میباشد:

١- طول(Length) :

١-١ـ ثابت (Fixed): اکثر سیستمهای مدرن استفاده کنندگان را ملزم می سازند که تعداد ارقام و یا حروف تخصیص یافته  در یک کد را محدود سازند .

٢-١ـ متغیر (Variable): با در نظر گرفتن کدهای کوتاهتر برای موضوعاتی که کاربرد عمومیتری دارند می توان جا را ذخیره کرد . کد تلفن راه دور نمونه ای از این گونه است ؛ تهران با کد ( ٠٢١) ، آبادان ( ٠٦٣١) و کد نیشابور با ( ٠٥٢٣١) شروع می شود . کدهای گسترش یابنده که رده بندیهای آن هر کدام با جزئیات بیشتری گسترش می یابند ، مصداق کاملی برای طول متغیر بحساب می آیند.کدهای باطول متغیر را همیشه می توان با افزودن صفر به عنوان پیش کد یا پس کد ، به کدهای ثابت تبدیل کرد . برای مثال ، کدهای راه دور سه رقمی را می توان به کد با طول ثابت چهار رقمی تبدیل کرد . در این حالت کدهای تهران و آبادان به ترتیب (٠٢١٠٠ ) . ( ٠٦٣١٠) خواهند بود .

٢- نماد (Symbol):

١-٢-عددی(Numeric) در واقع کدهایی که از حروف استفاده می کنند از کدهای عددی معادل خود کوتاهترند . به رغم این واقعیت ، اکثر کدها در سیستمهای حسابداری عددی هستند .

خاصیت استفاده از نماد عددی این است که تصمیمگیری پیرامون ترتیب و ساختار اطلاعات در درون کد را ساده می کند . برای مثال ، درک کدهای (٠) تا (١٠٠) در مقایسه با دامنه مشابهی از کدهای مثلاً (٢م) تا ( ٢ی ) آسانتر است . چنین کیفیتی استفاده کننده و برنامه نویس ، هر دو را منتفع می سازد .

٢-٢ـ غیر عددی (Non-numeric): یک کد می تواند حرفی و یا عدد ـ حرفی باشد و یا ممکن است نمادهایی مانند (A) و یا (*) را شامل شود . در زبان انگلیسی هر حرف از حروف یک کد حرفی می تواند ٢٦ حالت و هر جزء ( یا ادعداد ) یک کد عدد ـ حرفی ٣٦ حالت و هر عدد از اعداد یک کد عددی تنها ١٠ حالت داشته باد . بدین ترتنیب یک کد سه رقمی حرفی می تواند ترکیبهایی معادل ٥٧٦ و ١٧=٢٦3  ، اگر عدد ـ حرفی باشد معادل ٦٦٥ و ٤٦= ٣٦3 و اگر عددی باشد معادل ١٠٠٠= ١٠3 ترکیب به وجود آورد . سایر نمادها ممکن است برای جداسازی یا تقسیمبندی کد در جایی که هر قسمت از کد دارای طول متغیر باشد ، مورد نیاز باشند ، تا نشان دهند که تقسیمات در نقاط مختلفی از کدروی می دهند . چنانکه هر قسمت از کد دارای طول ثابت باشد تقسیمبندی کد ضروری نیست اما می تواند باعث بهبود شکل ظاهری کد شود .

 

٣- مفهوم (Significance):

١-٣ـ کدهای بی مفهوم (Non- significant): نقش این کدها محدود به این است که اقلام کد شده را معرفی کنند یا به عهنوان کلید این اقلام  عمل به کار روند . بدین ترتیب کدهای بی مفهوم عنوان و یا تیتری هستند که ذیا آنها سایر اطلاعات پر اهمیت گردآوری می شود .

این نوع کد می تواند تصادفی یا مسلسل باشد . کد تصادفی استفاده کننده را وا می دارد تا برای یافتن کد موجود بعدی صرف وقت کند تا بدین وسیله از تکرار دوباره کد در مواردی که اشخاص متععدی امر ایجاد کد را به عهده دارند اجتناب شود . در هر حال می توان با استفداه از کد مسلسل و به کمک ماشین نمره زنی ( که شماره را به طور مسلسل درج می کند ) به نتیجه مشابهی دست یافت .

٢-٣- کدهای با مفهوم (Significant Codes): این گروه ، کدهای متعددی را شامل می شود که مهمترین خصوصیت برجسته آنها دراین است که اطلاعاتی درباره قلم کد شده را نشان می دهند . در اکثر موراد چنین کدهایی باید مشخصات یگانه ای را نیز ارائه کنند .

ضرورتهای دوگانه فوق معمولاً باعث می شود که طول کد از کد بی مفهوم مشابه طولانیتر شود. برای مثال ، در یک بررسی انجام شده در این زمینه ، یک کد حساب با مفهوم دارای ١٢ رقم مشادهده شد که ظرفیتی بسیار بیشتر از ١٧٠ حسابی که واقعاً مورد نیاز بود فراهم می آورد .

انواع اصلی کدهای با مفهوم به قرار زیر می باشند .

٤- کد دربست (Block code): این کد عبارت است از گروهبندی اقلام بر حسب یک خصوصیت معین مانند نوع فعالیت. مثلاً صورتهای مالی  دربالاترین سطح طبقه بندی  به شرح زیرگروهبندی میشوند :

  

 

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

 

برای مشاهده ماتریس کامل ساختار اینجا اشاره نمائید.

.

وبه همین ترتیب هریک ازسطوح کل حسابها میتوانند به شاخه های فرعی تردرسطح حساب کل منشعب شوند برای نمونه سطح موجودی مواد وکالا ازگروه داراییهای جاری به سطوح فرعی زیرطبقه بندی وشماره گذاری شده اند:

برای مشاهده ماتریس کامل ساختار اینجا اشاره نمائید.

.

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

 

برای مشاهده ماتریس کامل ساختار اینجا اشاره نمائید.

.

کد دربست کیفیتهای مفهوم بخشی ، تداعی معنی و ترتیب پذیری مطرح شده در قسمت اول را داراست . در مثال فوق کیفیت مفهوم بخشی کد از آنجا ناشی می شود که برای مثال ، تمام شمارههای کمتر از ( ٣٠٠٠) اقلام ترازنامه ای هستند . اگر یک حرف (ت) قبل از این کد به کار می رفت آنگاه کیفیت تداعی معنی را نیز دارا می شد . کیفت ترتیب پذیر ی کد ، با توجه به اینکه داده ها طبق اصولی که برای بایابی احتمالی آنها مد نظر بوده گروهبندی شده اند ، به طرز آشکار بالا رفته است . 

 نارسایی کد دربست در این است که تنها می تواند اطلاعاتی پیرامون خصوصیت را در بر داشته باشد . به این معنی که ف کد مثال بالا تنمها موضوع حساب را بیان می کند . به علاوه ، از آنجا که در هنگام طراحی کد در 9همان ابتدا باید حدود آن معین و بسته شود . بناگزیر در برابر توسعه پذیری با مشکل روبرو خواهد شد .

 

٥- کد الفبایی (Alphabetical Code): هنگام کد گذاری اسامی مانند اسامی مشتریان ، فروشندگان و کارکنان ، اغلب این حالت پیش می آید که از نظر سیستم باید ترتیب کد با ترتیب الفبایی منطبق باشد که الفبایی آنگاه می تواند  اسامی را به کد عددی تبدیل کند که قادر باشد از طریق تخصیص جای بیشتر ، برای اسامی متدوال بیشتر ، ذخیره لازم برای ترتیب الفبایی را در نظر گیرد . یکی از این نوع کدها به نام SOUNDEX شهرت دارد . در این روش از اولین حرف اسم به عنوان اولین رقم کد استفاده می شود . در دنبال آن سه عدد به نشانه سه حرف بعدی اسم ( به جزY,H,W و حروف صدادار ) اضافه می گردد . جدول زیر تبدیل حروف به عدد را ، در روش پیشگفته نشان می دهد :

1 به جای  B,F,P,V

2به جای  C,G,J,K,Q,S,X,Z

3 به جایD,T

4 به جای L

5 به جایM,N

6 به جای  R

بدین ترتیب کد اسم Jones,B.   برابرJ521 وکدنام Smith,R. برابر S536 خواهدبود.دراین روش تضمینی وجود ندارد که به هراسم، یک کد یگانه تعلق گیرد، ودرنتیجه ممکن است اعمال برخی اصلاحات ضروری شود.

٦- کد مرتبه ای (Hierarchical Code) : کدمرتبه ای اقلام را برحسب نظام رایجی مانند وزن، طول، ضخامت، نوع، سلسله مراتب سازمانی وغیره انتظام میبخشد.کد مرتبه ای هنگامی مفید واقع میشود که سلسله مراتب داده ها درتجزیه وتحلیل بعدی آنها دارای اهمیت باشد.

٧- کد زنجیره ای (Chain Code): این نوع کد تا کنون متدوالترین نوع کدگذاری در سیتمهای اطلاعاتی کامپیوتری امروزین به حساب می آید . این کد مجموعه ای از خصوصیاتی را که با قلم کد شده مرتبط به نظر می رسد ، در خود جای می دهد . هر خصوصیت بوسیله یک قسمت از کد با عنوان فیلد معرفی می شود . در هر فیلد از کد ، اطلاعات به صورت یک کد در بست مسلسل یا تصادفی نگهداری می گردد . تابلو شماره دو کد حسابها ی یک شرکت را به عنوان مثال نشان می دهد اطلاعات در دورن هر فیلد بسته است ، بدین ترتیب شماره فیلد جاری ٥٥٥ در همه موارد ، بدون توجه به  حسابجاری یاپس اندازبودن آن، دولتی وخصوصی بودن بانک ویاشعب مختلف آن درشهرها وغیره ، با کدیگانه ٠٥٥٥ معرفی گردیده است .

 

برای مشاهده ساختار تفصیل حسابها اینجا اشاره نمائید.

.

٨- کد طبقه بندی(Classification Code) : این نوع کد ، مشابه کد زنجیره ای است با این تفاوت که رابطه گسترش یابنده ای بین فیلدها وجود دارد ، هر فیلئ بعدی نماینده تقسیمی فرعی تر در فیلد قبلی است و معروفترین مثال برای چنین کدی سیتم اعشاری دیویی است که برای طبقه بندی کتابها در کتابخانه ها به کار می رود . مثال زیر نشان می دهد که چگونه گروهها گسترش پیدا می کنند . د راین مثال ، جعبه دنده به جنبه مکانیکی ماشینها مربوط است که خود به عنوان شاخه ای از فیزیک طبقه بندی می شود:

XX5   علوم طبیعی

X53   فیزیک

531 مکانیک

53101 ماشین ها

531011 جعبه دنده

کیفیتهای این کد مشابه کیفیتهای مربوط به کدهای با طول متغیر ، دربست و زنجیره ای است و به عنوان انشعاب ویژه ای از این نوع کدها به حساب می آید .

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

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

الف ـ انتقال نادرست (Misinterpretation): در این مورد یک کد صحیح به دلیل بدخواندن کتابچه کدگذاری و یا بد فهمیدن قلمی که باید کد شود ، به صورتی اشتباه انتقال داده می شد.

ب ـ اشتبه جا به جایی (Transposition): این نوع اشتباه هنگامی رخ می دهد که ارقام یک کد ، معمولاً ارقام مجاور ، پس و پیش می شوند ، برای مثال کد ١٢٣٤ به صورت ١٣٢٤ منتقل می شود .

ج ـ اشتباه رونویسی (Transposition error): در حالت یک رقم از یک کد اشتباهاً با رقم دیگری جایگزین می شود ، مثل ، ١٢٣٤ که به صورت ١٢٢٤ منتقل می شود .

د ـ اشتباه تصادفی (Random error): این اشتباه ترکیبی از دو اشتباه قبلی است و حذف یا افزایش یک رقم را نیز شامل می شود .

هـ  - اشتباه ناشی از سیستم (System- based error): برنامه نویسی ضعیف و سخت افزار ناقص ممکن است باعث ایجاد اشتباه در کد اقلام موجود در درون سیتم شوند .

باید درنظرداشت که اکثر اشتباهات هنگام کد شدن داده ها روی می دهد . به عبارت دیگر هنگام انتخاب کد و دادن آن به سیتم معمولاً همان لحظه ای است که انسان بیشترین حضور و مداخله را دارد . موارد اصلی مربوط به پیشگیری اشتباهات به طور خلاصه بشرح ذیل قابل ارائه میباشد .

١- مستندات (Documentation): تمام سیستمهای اطلاعاتی ، استفاده از اسناد به عنوان منبع اصلی داده ها را ضروری می شناسد . صورت هزینه ، صورتحساب ، برگه محاسبه قیمت و غیره نمونه های متعارفی از این نوع اسناد است . بسیاری از سیستمها نیز این الزام را به وجود می آورند که کدها قبل از آنکه به صورت مجموع به سیستم کامپیوتری داده شوند ، به صورت دستی فهرست شوند . در همه حالات ، موسسه باید دقت زیادی در مورد فرمهایی که کدها بر روی آنها نوشته می شوند از کاربردآنها اطمینان حاصل کند که به صورتی روشن طراحی شده و بطور مناسب تکمیل شده باشند . باید قواعدی مورد توافق قرار گیرد که بر اساس آنها تشخیص اعداد و حروف همشکل مانند (I,L ) و (2,Z ) و ( 0,٠ ) میسر گردد . برای تاکید بر استفاده های متفاوتی که از فرمها به عمل می آید ، می توان از رنگهای مختلف استفاده کرد . رویه ها و دستورها باید به طرز صریحی اجرا شوند و کنترلهای ساده ای مانند حصول اطمینان از ارائه تمام اسناد و موازنه بودن عملیات دو طرفه اعمال شود . اشتباهات ناشی از سند باید به دقت تجزیه و تحلیل شود شود و اصلاحات لازم در فرمهای مربوط هر جا که ضروری باشد ، انجام شود .

محیط (Environmemt): شرایط کار کارکنانی که به امر کد گذاری مشغولند ممکن است تأثیر مهمی بر کیفیت کار داشته باشد . وظیفه این افراد ساده نیست . انجام یک کار تکراری و کم تحرک نیازمند دقت کامل است . برای کمک به کارمندانی که در این شغل قراردارند، لازم است به طراحی محل کار ، کیفیت محل نشستن ، میزان روشنایی و وضوح صفحه نمایشگر توجه کامل شود . کارفرمایان باید آگاه باشند که کار کدگذاری داده ها در شرایط نامطلوب ممکن است سلامت کارکنان را به خطر بیندازد . باید استفاده از روش چرخش کار در مورد کارهای دفتری توصیه و ترغیب شود و از آن به عنوان وسیله ای برای تنوع و پشتوانه ای برای موراد خستگی ناشی از تکرار ، بهره گرفته شود .

 -٣طول کد (Code length): بعضی مؤسسات تمایل و علاقه وافری به استفاده از کدهای طولانی دارند و ظاهراً طول را به عنوان شاخصی برای کمال و کفایت سیستم به حساب می آورند . در بررسیهای انجام شده در این زمینه ، یک تحلیلگر سیستم طی مصاحبه ای با سازمان ، دریافت که آنها از کدی ٣٠ رقمی استفداه می کنند .مطول بودن کد معمولاً نشانه ای از ضعف طراحی در سیستم است . اگر استفاده کننده بخواهد خصوصیاتی را که می تواند به طور موثرتر در جای دیگری ذخیره کند ، به طور یکجا ضبط کند ،   باعث طولانی شدن غیر ضرور کد خواهد شد. برای مثال ، در تابلو شماره دو  می توان کدهای (( بانکهای خصوصی یا دولتی )) و ((حسابهای جاری یاپس انداز )) و ((شعب مختلف درهرشهرستان)) را از کد حساب حذف کرد و آنها را در کد جداگانه ای نگهداری نمود به ترتیبی که کد یاد شده و کد حساب توسط یک فیلد کلیدی به هم مرتبط شوند . به مفهوم دیگر فیلد کلیدی قسمتی از هر دو کد را تشکیل می دهد .

هنگامی که امر کدگذاری داده ها به وسیله انسان صورت می گیرد هر قدر کد طولانیتر باشد به همان اندازه احتمال اشتباه بیشتر خواهد بود . محققان آزمایشهایی کرده اند که معلوم می کند تا چه میزان می توان طول یک کد را افزایش داد بی آنکه این کار سبب افزایش  ضریب درصد اشتباهات شود .  ازبین محققان حاصل کارپرفسورمیلر (MILER)در این زمینه بیش از همه مورد قبول قرار گرفته است . وی دریافت که حافظه کوتاه مدت انسان می تواند به طور اطمینان بخشی کدهای پنج تا نه رقمی را حفظ کند تحقیقات دیگران نشان می دهد که اگر کدها بسادگی تفکیک پذیر و قابل شکستن باشند ، اشتباهات کاهش پیدا می کند . مثلاً شماره تلفنهای شش شماره ای به صورت ٨٤٨-٨٢٢ خوانده می شود . استفاده از کدهای عدد- حرفی به امر تفکیک پذیری کمک می کند .

 - ٤طراحی کد ـ ارقام کنترل کننده (Code design – Check digits): هر جا که کار نقل و انتقال کدها به وسیله انسان صورت می گیرد ، حتی در مورد دقیقترین ساخت کد گذاری ، همیشه امکان بروز اشتباه در کد گذاری وجود دارد . شاید کشف اشتباهات بعد از وقوع آسانتر از پیشگیری آن قبل از وقوع باشد . نمونهای از این پیشگیری عبارت است از جای دادن رقم کنترل کننده در درون ساخت کد.اگر چنین روشی در پیش گرفته شود ، آخرین نماد به کار رفته در کد تابعی از نمادهای قبلی خواهد بود ، و هر گاه کد به کامپوتر تغذیه شود ، این تابع و خود کد توسط ماشین کنترل می شود و اگر اشتباهی کشف شود تغذیه بعدی داده ها قبل از انجام اصلاحات لازم ، متوقف خواهد شد .

یک مثال ساده درباره رقم کنترل کننده این است که رقم سوم یک کد سه رقمی را معادل باقیمانده دورقم اول تقسیم بر ٧ بگیریم . بدین ترنیب کد ٣٦١ کدی صحیح و معتبر به حساب می آید چرا که باقیمانده ٣٦:٧ معادل ١ یعنی آخرین رم کد است . اگر این کد اشتباهاً ٣٤١ خوانده شود ( اشتباه رونویسی ) کامپیوتر داده ها را قبول نخواهد کرد زیرا باقیمانده ٣٤:٧ معادل ٦ می شود و نه ١ به همین ترتیب اگر دو رقم کد جا به جا شوند و مثلاً کد ٦٣١ وارد گردد دراینصورت نیز مورد قبول قرار نمی گیرد چراکه باقیمانده ٦٣:٧ عدد0 میشود ونه ١. متاسفانه این روش مشخصاً نمی تواند همه اشتباهات را کشف کند . برای مثال اگر کد ١٨٤ به صورت ٨١٤ وارد شود ، اشتباه کشف نمی شود زیرا باقیمانده هر دو عدد ١٨ و ٨١ تقسیم بر ٧ عدد ٤ است .

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

مرحله اول ـ هر رقم از کد در یک ضریب از پیش تعیین شده ضرب می شود .

مرحله دوم ـ سپس نتایج گام اول جمع زده می شود و بر عددی به نام قدر مطلق تقسیم می شود .

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

اگر در مرحله دوم قدر مطلق انتخابی ١٣ یا بیشتر باشد هر ضریبی در مرحله اول انتخاب شود قابل قبول است . اما اگر قدر مطلق کمتر از آن رقم  باشد باید ضریبهای ( تصاعد حسابی نوسانی ) به کار برده شود . این ضریبها از ١ تا عددی درست زیر نصف قدر مطلق صعود می کنند و سپس از قدرمطلق منهای ١ تا عددی درست بالای نصف قدرمطلق نزول می نمایند. برای مثال ، یک کد شش رقمی ٣١٦٨٥٨که از قدرمطلق ١١ استفاده می کند ، ضرایبی برابر ١٠ ، ٥ ، ٤ ، ٣ ، ٢ ، ١ خواهد داشت . رقم کنترل کننده برای چنین کدی ، به ترتیب مراحل ذیل ، محاسبه می شود.

گام اول ـ ضرب کردن ارقام کد در یک ضریب از پیش تعیین شده :

 

گام دوم ـ تقسیم کردن جمع گام اول بر قدر مطلق :

٦ = باقیمانده ١٤ = ١٦٠:١١

گام سوم - کم کردن قدرمطلق از باقیمانده :

 ٥=٦-١١

به این ترتیب کد کامل عبارت است از :

 ٣١٦٨٥٨٥

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

هنگامی که قدر مطلق ١١ یا بیشتر باشد ، اشتباهات جا به جایی یا رونویسی به طور ١٠٠ درصد کشف میشود . درصد میزان کشف اشتباهات تصادفی از روی فرمول ١٠٠*(m/11 ) محاسبه می شود که در آن m قدر مطلق است بنابر این قدر مطلق ١١ معادل ٩/٠ ٩% =١٠٠ *( ١١/١-١ ) از اشتباهات تصادفی را کشف می کند .

کدهای عدد – حرفی از قوانین مشابهی نظیر کدهای عددی تبعیت می کنند . حروف در ادامه سلسه اعداد در نظر گرفته می شوند.

بدین ترنیب ١٠= A و ١١=B ، ٠٠٠ و ٣٥=Z می باشد . قدر مطلق ٣٧، تمام اشتباهات ناشی از جا به جایی یا رونویسی و ٣/٩٧% از اشتباهات تصادفی را در کدهای عددی – حرفی کشف می کند ( یعنی ١٠٠*٣٧/١-١ ) .

 -٥سایر وسایل (Other means): در نهایت ، اشتباهات را می توان بدون ارتباط مستقیم یا ساخت کد یا فرایند کدگذاری کشف کرد. بررسی و مرور اقلامی که در حسابها ثبت شده اند ممکن است باعث آشکار شدن برخی اشتباهات شود. مثلاً مشخص شود که تعدادی اقلام ، هر چند کم یا زیاد ، به صورت غیرمتداول در حسابهای معینی منظور شده اند . بعضی حسابها به طور غیر معمول و خارج از انتظار بوده است. در حسابداری مدیریت آنجا که ارقام واقعی و بودجه با هم مقایسه می شوند، مغایرتهای غیر منتظره ممکن است نشاندهنده اشتباه در کدگذاری اقلام باشد . به علاوه صورت مغایرت ، صورت مطابقت بانکی ، انبارگردانی و تجزیه و تحلیل کلی اطلاعات مالی ، همه ممکن است منجر به آشکار شدن اشتباه در عملیات کدگذاری شود. اشتباه کدگذار هر چه دیرتر کشف شود به همان نسبت هزینه بیشتری ایجاد خواهد کرد و سازمان باید تمام تلاش خود را به کار برد تا از اصلاح اشتباهات در چنین مرحله پیشرفته ای از کارپردازش داده ها اجتناب شود. با این همه نباید فراموش کرد که هر گز نمی توان احتمال وجود اشتباه کدگذاری را به صفر رساند.

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

شماره کد ممکن است مستقیماً به وسیله کامپیوتر خوانده شود . برای این کار از سیستمی که حروف نوشته شده با مرکب مغناطیسی را شناسایی می کند و یا سیستمی که حروف قابل دیدن را شناسایی می نماید استفاده می شود. سیستم " ام آی سی آر " (Magnetic Ink Character Recognition)کدها را با استفاده از مرکب اکسید آهن ، که درست قبل از خوانده شدن به وسیله کامپوتر مغناطیسی می شوند چاپ می کند. این سیستم در مورد چکهای بانکی به کار می رود. سیستم " او ام سی آر اس " (Optical Mark Character Recongnition System)از سلولهای فتوالکتریک برای کشف علامات قلمی بر روی محلهای معینی از مدارک اصلی استفاده می کند . کامپیوتر بر مبنای این مشاهده ساده به طور خودکار داده ها را کد خواهد نمود. بالاخره سیستم های شناسایی صدا این نوید را می دهند که کار انسان را در انتقال داده ها به کامپوتر ساده تر سازند. گرچه چنین سیستمهایی در حال حاضر مراحل اولیه خود را می گذراند .

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

١ـ ساخت کدگذار را می توان طبق خواسته استفاده کننده طراحی کرد. انجام این امر به چند طریق میسر است :

 الف ) قسمتهای استفاده نشدنی کد از استفاده کننده پوشیده نگهداشته شود .

ب) قسمتهای معینی از کد که برای بعضی از استفاده کنندگان یا دستگاههای ورودی کاربرد عادی و ساده ای دارد به طور خودکار به کامپوتر تغذیه شود .

ج) اطلاعات در ساخت کدگذاری به گونه ای سازمان داده شود که طول کد کوتاه شود .

٢ـ در طراحی کد می توان تدابیری به کار برد که استفاده از آن با انعطاف بیشتری همراه باشد . ساخت کدهای سنتی با این گرایش همراه است که بازیابی اطلاعات را با روش خاصی تسهیل کند. سیستمهای مدرن کامپوتری این امکان را فراهم می آورند که کدگذاری داده ها به طریقی انجام شود که انعطاف در به کارگیری یا استقلال داده ها افزایش یابد .

٣ـ می توان از جدول تبدیل کدها استفاده کرد . موسسات اغلب تمایلی به پذیرش کدهای  جدید ، بخصوص در صورت آشنایی کامل کارمندان با کدهای موجود ندارند . معرفی یک سیستم جدید اغلب اوقات به مفهوم تغییر کدهاست ، حال آنکه ما بین کدهای قدیم و جدید ارتباطی تک به تک وجود دارد و می توان تغییر و تبدیل کد را در درون سیستم جای داد . کدهای مورد پسند استفاده کننده را نیز می توان بدون ایجاد دردسر برای وی ، به صورتی که برای استفاده در کامپیوتر موثرتر است ، تبدیل کرد.

٤ـ می توان کتابچه راهنمای کدگذاری را کامپیوتری کرد و با استفاده از برنامه هایی که با هم ارتباط متقابل دارند استفاده کننده را برای دستیابی به کد صحیح راهنمایی کرد.

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

نماهنگ ها:

منبع ومأخذ:

 The classification and coding of accouting  information”R.P.Fox,the institute of cost and management Accounants,1986,PP.35-46.