S Y S T E M S D E S I G N A N A L Y S I S Chapter 19 Data Entry Procedures Jerry Post Copyright © 1997 1 S Y S T E M S Goals Collect accurate data. Effective data coding. Efficient data capture and entry. Data validation. D E S I G N 2 S Data Encoding Y Codes to conceal S Simple ID Numbers Sequential e.g., hide prices T Easy to create. Simple substitution ciphers E Problems if mistype by one (substitute one letter for a M number. number, etc.) S Alphabetic Codes to provide information D E S I G N Hide the count. Contain additional information. Classification codes e.g., M=male, F=female Block sequence Sequential numbers assigned to categories. 100-199 = spreadsheet 200-299 = database Categories (significant digit) e.g., 2023954010 Dept. 202 Prod. 395 Color 40 Size 10 Mnemonic codes e.g., airports: STL, LAX, SLC 3 S Y S T E M S D E S I G N Guidelines for Creating Codes Be concise. Keep the codes stable. Assure that codes are unique. Allow codes to be sortable. Avoid confusing codes. Keep codes uniform. Allow for modification an expansion. Make codes meaningful. Add check-digits. Bad examples: 20927365123452 170AB, QQ9882, 2O008 Apr495, Mar396, Dec1595 1lS52ZO0 Better examples: 125, 998, 253 170AB, 982QQ, 291QB 950304, 960303, 951215 4 S Effective and Efficient Data Capture Y Entry options S Decide what to capture. Optical character T Let the computer look up recognition (OCR). data. E Magnetic ink character M Let the computer do recognition (MICR). computations. S Mark-sense forms. D E S I G N Avoid bottlenecks and extra steps. Start with a good form (especially drop-down boxes). Avoid batch data-entry. Collect data as close to the source as possible. Punch-out forms. Bar codes. On-line/customer entry (Web site). 5 S Data Validation Y S Validating input transactions Validating input data (errors to avoid). Test for missing data. T Submitting the wrong data. Test for correct field length. E Submitting data by an Test for class or M unauthorized person. composition. S Asking the system to Test for range or D E S I G N perform an unacceptable function. reasonableness. Test for invalid values. Test for comparison with stored data. Design self-validating codes (check digits). 6 S Check Digits Y S Add a digit to the end of the Code: 54823 code that is based on the T Weights (1 x 3), Modulus: 10 earlier digits. E 5*1 = 5 4*3 = 12 M Need weights for each position. 8*1 = 8 S Catch transposition. Catch double errors. D E S I G N Strongest is Cyclic Redundancy Check (CRC). Fits a polynomial to data. Catches most common errors. Algorithm is in CS books. 2*3 = 6 3*1 = 3 Add: 5 + 12 + 8 + 6 + 3 = 34 Get modulus: 34/10 = 3, remainder = 4 (Optional: 10 - 4 = 6) New code: 548236 7