Friday, April 24, 2009

Levels Of Quality Assurance

There are three levels of quality assurance: testing, validation, and certification.

In system testing, the common view is to eliminate program errors. The is extremely difficult and time-consuming, since designers cannot prove 100 percent accuracy. Therefore, all that can be cone is to put the through a "fail test" cycle-determine what will make it fail. A successful test, then, is one that finds errors. The test strategies discussed earlier are used in system testing.

System validation checks the quality of the software in both simulated and live environments. First the software goes through a phase (often referred to as alpha testing) in which errors and failures based on simulated user re4uirements are verified and studied. The modified software is then subjected to phase two (called beta testing) in the actual user's site or a live environment. The system is used regularly with live transactions. After a scheduled time, failures and error are documented and final' correction, and enhancements are made before the package is released for use.

The third level of quality assurance is to certify that the program or software package is current and conforms to standards. With a growing trend toward purchasing ready-to-use software, certification has become more important. A package that is certified goes through a team of specialists who test, review, and determine how well it meets the vendor's claims. Certification is actually issued after the package passes the test. Certification, however, does not assure the use' that it is the best package to adopt; it only attests that it will perform what the vendor claims.

In summary, the quality of an information system depends on its design, testing, and implementation. One aspect of system quality is its reliability or the assurance that it does not produce costly failures. The strategy of error tolerance (detection and correction) rather than error avoidance is the basis for successful testing and quality assurance.

Maintenance And Support

This phase provides the necessary software adjustment for the system to continue to comply with the original specifications. The quality assurance goal is to develop a procedure for correcting errors and enhancing software. 

This procedure improves quality assurance by encouraging complete reporting and logging of problems, ensuring that reported problems are promptly forwarded to the appropriate group for resolution, and reducing redundant effort by making known problem reports available to department that handles complaints.

Software Testing And Implementation

The quality assurance goal of the testing phase is to ensure that completeness and accuracy of the system and minimize the retesting process. In the implementation phase, the goal is to provide a logical order for creation of the modules and, in turn, the creation of the system.

Software Design Specifications

In this stage, the software design document defines the overall architecture of the software that provides the functions and features described the software requirements document. It addresses the question; How it be done? The document describes the logical subsystems and their respective physical modules. It ensures that all conditions are covered.

Software Requirements Specifications

The quality assurance goal of this stage is to generate the requirements document that provides the technical specifications for the design development of the software. This document enhances the system's quality by formalizing communication between the system developer and the and provides the proper information for accurate documentation.

Quality Factors Specifications

The goal of this stage is to define the factors that contribute to the quality of the candidate system. Several factors determine the quality of a system:

   1. Correctness-the extent to which a program meets system specifications and user objectives.
   2. Reliability-the degree to which the system performs its intended functions over a. time.
   3. Efficiency-the amount of computer resources required by a program to perform a function.
   4. Usability-the effort required to learn and operate a system.
   5. Maintainability-the ease with which program errors are located and corrected.
   6. Testability-the effort required to test a program to ensure its correct performance.
   7. Portability-the ease of transporting a program from one hardware configuration to another.
   8. Accuracy-the required precision in input editing, computations, and output.
   9. Error tolerance-error detection and correction versus error avoidance.
  10. Expandability-ease of adding or expanding the existing database
  11. Access control and audit-control of access to the system and extent to which that access can be audited.
  12. Communicativeness-how descriptive or useful the inputs and out of the system an
.

Quality Assurance Goals In The Systems Life Cycle

The software life cycle includes various stages of development, and each stage has the goal of quality assurance. The goals and their relevance to the quality assurance of the system are summarized next.

Quality Assurance

The amount and complexity of software produced today stagger the imagination. Software development strategies have not kept pace, however, and software products fall short of meeting application objectives. Consequently, controls must be developed to ensure a quality product. Basically, quality assurance defines the objectives of the project and reviews the overall activities so that errors are corrected early in the development process. Steps are taken in each phase to ensure that there are no errors in the final software.

User Acceptance Testing

 An acceptance test has the objective selling the user on the validity and reliability of the system. It verifies the system's procedures" operate to system specifications and that integrity of vital data is maintained. Performance of an acceptance test is actually the user's show. User motivation and knowledge are critical for the successful performance of the system. Then a comprehensive test report is prepared. The report indicates the system's tolerance, performance range, error rate, and accuracy. 

System Documentation.

All design and test documentation should be finalized and entered in the library for future reference. The library is central location for maintenance of the new system. The format, organization, and language of each documentation should be in line with system standards.

System Testing

System testing is designed to uncover weaknesses that were not found in earlier tests. This includes forced system failure and validation of the total system as it will be implemented by its user(s) in operational environment. Generally, it begins with low volumes of transactions based on live data. The volume is increased until the maximum level for each transaction type is reached. The total system is also tested recovery and fallback after various major failures to ensure that no data lost during the emergency. All this is done with the old system still operation. After the candidate system passes the test, the old system is discontinued.

String Testing

 Programs are invariably related to one- another interacts in a total system. Each program is tested to see whether it conforms to related programs in the system. Each portion or' the system is test against the entire module with both test and live data before the entire System is ready to be tested.

Program Testing

 A program represents the logical elements of system. For a program to run satisfactorily, it must compile and' test data correctly and tie in properly with other programs. Achieving an error-free program is the responsibility of the programmer. Program testing checks for two types of errors: syntax and logic. A syntax error is a program statement that violates one or more rules of the language in which it is written. Improperly defined field dimension or omitted key words are comma syntax errors. These errors are shown through error messages generated. The computer. A logic error, on the other hand, deals with incorrect data fields, out-of-range items, and invalid combinations. Since diagnostics d not detects logic errors, the programmer must examine the output carefully for them.

When a program IS tested, the actual output is compared with expected output. When there is a discrepancy, the sequence of instructions must be traced to determine the problem. The process is facilitated by breaking the program down into self-contained portions, each of which can be checked at certain key points.The idea is to compare program values against desk-calculated values to isolate the problem.

Thursday, April 23, 2009

Types Of System Tests

After a test plan has been developed, system testing begins by testing program modules separately, followed by testing "bundled" modules as a unit. A program module may function perfectly in isolation but fail when interfaced with other modules. The approach is to test each entity with successively larger ones, up to the system test level.

System testing consists of the following steps:
1. Program(s) testing.
2. String testing.
3. System testing.
4. System documentation.
5. User acceptance testing.

System Teasting

The purpose of system testing is to identify and correct errors in t candidate system. As important as this phase is, it is one that is frequently compromised. 'Typically, the project is behind schedule or the user is eager to go directly to conversion.

        In system testing, performance and acceptance standards are developed. Substandard performance or service interruptions that result in sys­ tem failure are checked during the test. The following performance criteria are used for system testing:

1. Turnaround time is the elapsed time between the receipt of the input and the availability of the output. In online systems, high-priority processing is handled during peak hours, while low-priority processing is done later in the day or during the night shift. The objective is to decide on and evaluate all the factors that might have a bearing on the turnaround time for handling all applications.

2. Backup relates to procedures to be used when the system is down. Backup plans might call for the use of another computer. The software for the candidate system must be tested for compatibility with a backup computer.

         In case of a partial system breakdown, provisions must be made for dynamic reconfiguration of the system. For example, in an online environment, when the printer breaks down, a provisional plan might call for automatically "dumping" the output on tape until the service is restored.

3. File protection pertains to storing files in a separate area for protection against fire, flood, or natural disaster. Plans should also be established for reconstructing files damaged through a hardware malfunction. 

4. The human factor applies to the personnel of the candidate system. During system testing, lighting, air conditioning, noise, and other environmental factors are evaluated with people's desks, chairs, CRTs, etc. Hardware should be designed to match human comfort. This is referred to as ergonomics. It is becoming an extremely important issue in system development.

Prepare Operational Documents

During the test plan stage, all operational documents are final· including copies of the operational formats required by the candidate system. Related to operational documentation is a section on the experience, training, and educational qualifications of personnel for the pro operation of the new system.

Prepare Job Performance Aids

In this activity the materials to be used by personnel to run the system are specified and scheduled. This includes a display of materials such program codes, a list of input codes attached to the CRT terminal, and posted instruction schedule to load the disk drive. These aids reduce the training time and employ personnel at lower positions.

Compile/Assemble Programs


All programs have to be compiled/assembled for testing. Before this however, a complete program description should be available. Included is the purpose of the program, its use, the programmer(s) who prepared it and the amount of computer time it takes to run it. Program and system flowcharts of the project should also be available for reference.

In addition to these activities, desk checking the source code uncovers programming errors or inconsistencies. Before actual program testing, run order schedule and test schemes are finalized. A run order schedule specifies the transactions to test and the order in which they should be tested. Hi priority transactions that make special demands on the candidate system are tested first. In contrast, a test scheme specifies how program software should be debugged. A common approach, called bottom-up programming, tests small-scale program modules, which are linked to a higher-level module, and so on until the program is completed. An alternative is the top down approach, where the general program is tested first, followed by the addition of program modules, one level at a time to he lowest level.

Plan User Training

User training is designed to prepare the user for testing and converting the system. User involvement and training take place parallel with programming for three reasons:

   1. The system group has time available to spend on training while programs are being written.
   2. Initiating a user-training program gives the systems group a image of the user’s interest in the new system.
   3. A trained user participates more effectively in system testing.

For user training, preparation of a checklist is useful Included are provisions for developing training materials and other documents to complete the training activity: In effect, the checklist calls for commitment of personnel, facilities, and efforts for implementing the can date system.

         The training plan is followed by preparation of the user training manual and other text materials. Facility requirements and the necessary hardware specified and documented. A common procedure is to train supervisors and department heads who, in turn, train their staff as they see fit. The reasons are obvious:

   1. User supervisors are knowledgeable about the capabilities of their staff and the overall operation.
   2. Staff members usually respond more favorably and accept instructions better from supervisors than from outsiders.
   3. Familiarity of users with their particular problems (bugs) makes them better candidates for handling user training than the systems analyst The analyst gets feedback to ensure that proper training is provided.

Prepare Test Data For Transaction Path Testing

This activity develops the data required for testing every condition transaction to be introduced into the system. The path of each transaction from origin to destination is carefully tested for reliable results. The t verifies that the test data are virtually comparable to live data used conversion.

Prepare Test Data For Program Testing

As each program is coded, test data are prepared and documented ensure that all aspects of the program are properly tested. After the testing, the data are filed for future reference.

Specify Conditions For User Acceptance Testing

Planning for user acceptance testing calls for the analyst and the user agree on the conditions for the test. Many of these conditions may derived from the test plan. 

Others are an agreement on the test schedule, the test duration, and the persons designated for the test. The start termination dates for the test should also be specified in advance.

Prepare Test Plan

A workable test plan must be prepared in accordance with established design specifications. It includes the following items:

   1. Outputs expected from the system
   2. Criteria for evaluating outputs.
   3. A volume of test data.
   4. Procedure for using test data.
   5. Personnel and training requirements.

Activity Network For System Testing

A test plan entails the following activities.
   1. Prepare test plan.
   2. Specify conditions for user acceptance testing.
   3. Prepare test data for program testing.
   4. Prepare test data for transaction path testing.
   5. Plan user training.
   6. Compile/assemble programs.
   7. Prepare job performance aids. 
   8. Prepare operational documents.

The Test Plan

The first step in system testing is to prepare a plan that will test all aspects of the system in a way that promotes its credibility among potential users.

There is psychology in testing:
   1. Programmers usually do a better job in unit testing because they expected to document and report on the method and extent of the testing.
   2. Users are involved, which means communication is improved between users and the designer group.
   3. Programmers are involved when they become aware of user problem and expectations. The user' also becomes more aware (and appreciative of the complexity of programming and testing. The upshot of all this is more realistic and cooperative user for successful testing.

The Nature Of Test Data

The proper choice of test data is as important as the test itself. If test data as input are not valid or representative of the data to be provided by the user, then the reliability of the output is suspect.

        Test data may be artificial (created solely for test purposes) or live (taken from the user's actual files). Properly created artificial data should provide all combinations of values and formats and make it possible to test all logic and transaction path subroutines. Unlike live data, which are biased toward typical values, artificial data provide extreme values for testing the limits of the candidate system:

For large, complex systems, a computer program is used to generate necessary test data. Data-generating programs save substantial time for both the programmer and the test itself. A familiarity with system files and parameters, however, is necessary for writing an effective data-genera program.

What Do We Test For?

 The first test of a system is to see whether it produces the correct outputs. No other test can be more crucial. Following this step, a variety of other tests are conducted:

1. Online response. Online systems must have a response time that will not cause a hardship to the user. One way to test this is/to input transactions on as many CRT screens as would normally be used in peak hours and time the response to each online function to establish a true- performance level.

2. Volume. In this test, we create as many records as would normally be produced to verify that the hardware and software will function correctly. The user is usually asked to provide test data for volume testing.

3. Stress testing. The purpose of stress testing is to prove that the candidate system does not malfunction under peak loads. Unlike volume testing, where time is not a factor, we subject the system to a high volume of data over a short time period. This simulates an online environment where a high volume of activities occurs in spurts.

4. Recovery and security. A forced system failure is induced to test a backup recovery procedure for file integrity. Inaccurate data are entered to see how the system responds in terms of error direction and protection. Related to file integrity is a test to demonstrate that data and programs are secure from unauthorized access.

5. Usability documentation and procedure. The usability test verifies the user-friendly nature of the system. This relates to normal operating and error-handling procedures, for example. One aspect of user-friendliness is accurate and complete documentation. The user is asked to use only the documentation and procedures as a guide to determine whether the system can be run smoothly.

Why System Testing?

   Testing is vital to the success of the system. System testing makes a logical assumption that if all the parts of the system are correct, the goal will successfully achieved. Inadequate testing or contesting leads to errors t may not appear until months later. This creates two problems: (1) the time lag between the cause and the appearance of the problem (the longer time interval, the more complicated the problem has become), and (2) the effect of system errors on files and records within the system. A small system error can conceivably explode into a much larger problem. Effective testing early in the process translates directly into long-term cost savings from a reduced number of errors.

Another reason for system testing is its utility as a user-oriented vehicle before implementation. The best program is worthless if it does not meet user needs. Unfortunately, the user demands are often compromised by efforts to facilitate program or design efficiency in terms of processing time or memory utilization. Often the computer technician and the user have communication barriers due to different backgrounds, interests, priorities, and perhaps languages. The system tester (designer, programmer, or user) who has developed some computer mastery can bridge this barrier.

Summary

1. The file hierarchy begins with bytes (the smallest addressable units), which make up data items. Data items are records that are grouped to make up a file: Two or more files are a data base:

2. There are four methods of organizing files:
   a. Sequential organization means storing records in contiguous blocks according to a key.
   b. Indexed-sequential organization stores records sequentially but uses an index to locate records. Records are related through chaining using pointers.
   c. Inverted list organization uses an index for each key type. Records are not necessarily in a particular sequence.
   d. Direct-access organization has records placed randomly through­ out the file. Records are updated directly and independently at other records.

3. A data base is a collection of interrelated data stored with a minimum of redundancy to serve many applications. Data base design minimizes the artificiality embedded in using separate files. The primary objectives are fast response time to inquiries, more information at low cost, control of redundancy. Clarity and ease of use, data and program independence, accuracy and integrity of the system, fast recovery, privacy and security of information, and availability of powerful end user languages.

4. The heart of a data base is the DBMS. It manages and controls the data base file and handles requests from the application program in a data manipulation language (DML). To produce the user's view, the data model represents data structures and describes the view in a data definition language (DDL). DDL simply tells the DBMS how the data must be structured to meet application program requirements. DML, then, manipulates -data; DDL describes and identifies data structures; and the DBMS manages and coordinates data according to DML re­ quests and DDL descriptions.

5. A data structure defines relationships among entities. There are three types of relationships: one-to-one, one-to-many, and many-to-many relationships. Data structuring in a DBMS determines whether the system can create a given relationship between entities.

6. Although all DBMSs have a common approach to data management, they differ' in the way they structure data. The three types of data structures are hierarchical, network, and relational. A hierarchical structure specifies that an entity cannot have more than one parent. A network structure allows 1:1, l:M, or M:M relationships and can best be supported by a network. To simplify the structure; the network is separated into a number of hierarchies with duplicates. A hierarchy, then, becomes a sub view of the network structure. A relational structure is a flat, two-dimensional table representing data and relationships. It allows the user to update the table's content and provides a powerful inquiry capability.

7. There are four views of data. The first three views are logical: user's view, application program (called subschema), and overall logical view (called schema). The physical view is what the data actually look like in physical storage.

8. The data structure can be refined through a normalization process that groups data in the simplest way possible so that later changes can be made with ease. Normalization is designed to simplify relationships and establish logical links 11etween files without losing information. An inherent problem is data redundancy and the inefficiency it generates.

9. Managing the data base requires a data base administrator (DBA) whose key functions are to manage data activities, the data base structure, and the DBMS. In addition to a managerial background, the DBA needs technical knowledge to deal \with data base designers. Important for the success of this important job is the support of the senior MIS staff and upper management for the overall data base function.

The Role Of The Data Base Administrator

A database is a shared resource. When two or more users are tied to a common database, certain difficulties in sharing are likely to occur. Perceptions regarding data ownership, priority of access, and the like become issues that need to he resolved when the data base is in operation. To manage the database, companies hire a data base administrator or DBA to protect and manage the data base on a regular basis.

            In addition to resolving user conflicts, the DBA performs maintenance and update tasks-recovery procedures, performance evaluation, database timing, and new enhancement evaluation. Specifically, the DBA performs three key functions: managing data activities, managing the data base structure, and managing the DBMS.

1. Managing data activities. The DBA manages data base activities by providing standards, control procedures, and documentation to ensure each user's independence from other users. Standardization is extremely important in a centralization-oriented environment. Every data base record must have a standard name, format, and unique strategy for access. Standardization, though resisted by users, simplifies reporting and facilitates management control.

           In addition to standardization, the DBA is concerned about data access and modification. Deciding who has authorization to modify what data is job in itself. Locks have to be established to implement this activity. Failures and recovery procedures are added concerns. Failures may be caused by machines, media, communications, or users. The user must be familiar with a recovery procedure for rein putting reports. Training users and maintaining documentation for successful recovery are important responsibilities of the DBA.

2. Managing data base structure. This responsibility centers around the design of the schema and special programs for controlling redundancy, maintaining control of change requests, implementing changes in the schema, and maintaining user documentation. In the case of documentation, the DBA must know what changes have been made, how they were made, and when they were made. Data base changes must be backed by a record of test runs and test results.

3. Managing DBMS. A third responsibility involves the central processing unit (CPU), compiling statistics on system efficiency, including CPU times and elapsed times of inquiries. CPU time is the amount of time the CPU requires to process a request. Elapsed time is the actual clock time needed to process the activities and return a result (output). Much of this time depends on the nature of the activity, other activities that occur in the interim, and the peak load requirements of the system .

            Other elements also affect OHMS management. The DBA investigates 'user performance complaints and keeps the system's capabilities in tune with user requirements. Modifications may have to be made to the communication network, the operating system, or their interfaces with the DBMS. It is the DBA's responsibility to evaluate changes and determine their' impact on the data base environment.

The DBA has a full-time, highly responsible job. In addition to a managerial background, the DBA needs technical knowledge to deal with data base designers. For example, he/she needs to maintain the data dictionary and evaluate new data base features and their implementation. The combinations of technical and managerial backgrounds make the job of the DBA unique.

           Where does the DBA fit into the organization structure? There is considerable debate about this. Two views are commonly accepted. One proposes that the DBA should not be subordinate to a group that imposes restrictions. The second view is that the DBA should be no more than one level above the prime user that uses the system most frequently. In the long run, the key to the success of the DBA in the organization is the attitude and support of the senior MIS staff and upper management for the DBA function.

Steps In Normalization

 1. Isolate repeating groups from an entity because they are easier to process separate from the rest of an entity. The first four attributes (employee number, name, branch and department) are virtually constant. The remaining three attributes-(item number, item description, and price) contain data that change and are repeated with different salespersons. Therefore, the repeating group should be separated, from the entity "salesperson."

             The salesperson data file with employee number as the primary key and the salesperson item file with employee number and item number as new attributes. They are added to relate the records in the file to the salesperson data file. The two attributes are used together for accessing data. Two keys used together are called a concatenated key.

2. After isolating repeating groups from the rest of an entity, try to simplify the relation further. The second normalization makes sure that each non­ key attribute depends on a key attribute or concatenated key. Nonkey attributes that do not meet this condition are split into simpler entities. In the salesperson item file, the attribute "sales price" depends on a concatenated key ("employee number" and "item number")' The way the file is set up, the sales price is strictly related to the salesperson number and the item number of the sale. Alternatively, the attribute "item description" tags to "item number," which is part of the concatenated key. This causes several concerns. Sales information is availbe only by salesperson number, which is unwieldy. Worse yet, an employee transfer would make it difficult to maintain records because they would be dropped when the salesperson leaves the department.
                 To solve the problem, we create new independent entities for "item description" and "sales price." In one file, we create the item description attribute with item number keys from the salesperson item file. The remaining attributes (employee number, item number, and sales price) become the second normalized form.

The second normalization offers several benefits. Sales items can be added without being tagged to a specific salesperson. If the item changes we need to change only the item file. If a salesperson leaves the department it would have no direct effect on the status of the items sold.

3. Looking at the second normalization, we find further room for improvement. In the salesperson data file, the attribute "store branch" is tagged to the primary key "employee number," while the' attribute "department" is related to "store branch," which is a nonkey attribute. Making "store branch," a key attribute requires isolating "department" along with "store branch.

          With the third normalization, we can have store branch information independent of the salespersons in the branch. We can also make changes in the "department" without having to update the record of the employees in it. In this respect, normalization simplifies relationships and provides logical links between files without losing information.

Normalization

Data structuring is refined through a process called normalization. Data are grouped in the simplest way possible so that later changes can be mad with a minimum of impact on the data structure. When too many attributes are grouped together to form entities, some attributes are found to be entities themselves. Further normalization of these entities into attributes linked by common data elements to form relationships improves the effectiveness of the DBMS.

Entities And Attributes

An entity is something of interest to the user about which to collect or store data. It is also called a data aggregate because it represents a number data element. In our sales status system, the "sales" entity contains data elements such as the salesperson's number, name, and date of employment, and the sales period covered by the report. The "item" entity has data elements such as item number, item description, and the sale price of each item.

 Data entities are explained by the use of several terms: attribute, value key and instance of an entity. For example, a salesperson (entity) is described by attributes such as number, name, sex, age, and height. So attributes describe an entity. They are physically stored in fields or data elements.

Each attribute takes on a unique value. For example, "211306801" is a unique value of the attribute "salesperson number." An attribute, takes, on a value for-a specific occurrence (or instance) of an entity. The value is Jim old. Other values that describe him are male, 34 years old, and 5 feet 10 inches tall. So the instance of the entity is a 34-year-old, 5 feet 10 inches tall, male salesman with social security number 211306801.

A key is a unique identifier of the entity. In our example, the key 211306801 is a unique identifier of Jim Arnold. Sex, age, and height are no identifiers, since they are not unique. They are monkey identifiers.

Relational Structuring.

 In relational structuring, all data and relationships are represented in a flat, two-dimensional table called a relation. A relation is equivalent to a file, where each line represents a record. Note that all the entries in e column are of the same kind. Furthermore, each column has a unique name. Finally, no two rows in the table are identical. A row is referred to as tuple (rhymes with "couple”).

A relational DBMS has several features:
1. It allows the user to update (add, modify, or delete) the table's contents.
Any position can be changed.

2. It provides inquiry capabilities against a label. Using our example, inquiry might     be:" How many years has Boynton been with the firm?” The response is "6."

  3. Two or more tables can be merged to form one relation. Unlike hierarchical or network structuring where all relationships are predefined, a relational DBMS develops new relations on user commands.

            To illustrate, suppose a relational DBMS maintains two relations: the EMPLOYEE relation and the EMPLOYEE EDUCATION relation .A query about employees with more than two years the firm and an MBA puts the relational DBMS through the following routine:

1. A relationship is implied between the EMPLOYEE relation and EMPLQYEE EDUCATION relation.

   2. A temporary table of employees who have been in the firm more t two years is obtained from the EMPLOYEE relation and placed in file. This is called a temporary relation and will be deleted after the user has been satisfied.

   3. The information in the temporary table is taken along with the EM­ PLOYEE EDUCATION relation to determine which employee who has been in the firm more than two years has an MBA. This results in a second temporary relation. In our example, zmud and Boynton are the only employees. The temporary relation is also deleted after the user query has been satisfied.

A relational structure is simpler to construct than a hierarchical or a network structure. It may be inefficient, though, since relational DBMS ponds to queries by an exhaustive review of the relations involved.

Network Structuring.

A network structure allows 1:1, l:M, or relationships among entities. For example, an auto parts shop may dealings with more than one automaker (parent). Now consider the automaker and the auto parts shops it deals with. If the automaker sold spare parts to only one shop (say, a new car dealer), then there is a 1:1 relationship. If it supplied many other dealers, then there is a 1:M relationship. The 1:1 and 1;M relationships can be supplied by a hierarchy. When auto parts dealers are supplied by many automakers, however, there is an M:M relationship, which is a network structure.

A network structure reflects the real world, although a program structure can become complex. The solution is to separate the network into several hierarchies with duplicates. This simplifies the relationship to no more complex than 1:M. A hierarchy, then, becomes a sub view of the network structure. The simplified network structure is shown.

Hierarchical Structuring

Hierarchical (also called tree) structuring specifies that an entity can have no more than one owning entity; that is, we establish a 1:1 or 1:M relationship. The owning entity is called the parent; the owned entity, the child. A parent with no owners is called the root. There is only one root in a hierarchical model. 

The customer record is the parent or the root; it has six children (2-7). As parents, 3, 4, and 5 each has three children (8-10, 11-13, and 14-16, respectively), giving the profile of a tree structure.

A parent can have many children (1:M), whereas a child can have only e parent. Elements at the ends of the branches with no children (2,5, and --16) are called leaves. Trees are normally drawn upside down, with the root at the top and the leaves at the bottom.

The hierarchical model is easy to design and understand. Some applications, however, do not conform to such a scheme. The problem is sometimes resolved by using a network-structure.

Types Of Data Structure

Data structuring determines whether the system can create 1:1,l:M, or M:M relationships among entities. Although all DBMSs have a common approach to data management, they differ in the way they structure data. There are three types of data structure: hierarchical, network, and relational.

Types Of Relationships

Three types of relationships exist among entities: one-to-one, one-to­ many, and many-to-many relationships. A one-to-one (1:1) relationship is an association between two entities. For example, in our culture a husband is allowed one wife (at a time) and vice versa, and an employee has one social security number 

A one-to-many (1M) relationship describes an entity that may have two or more entities related to it. For example, a father may have many children and an employee may have many skills.

A many-to-many (M:M) relationship describes entities that may have many relationships in both directions. For example, children may have many toys, and students may have many courses.

Data Structure

Data fire structured according to the data model. In our example sales items are linked to the salesperson who sold them. The salesperson is called an entity and the item sold is also an entity. An entity is a conceptual representation of an object. Relationships between entities make up a data structure. A data model represents a data structure that is described to the DBMS in DDL.

Schemas And Subschema

The schema is the view that helps the DBMS decide what data in storage it should act upon as requested by the application program. An example of a schema is the arrival and departure display at an airport. Scheduled flights and flight numbers (schema) remain the same, but the actual departure and arrival times may vary. The user's view might be a particular flight arriving or departing at a scheduled time. 

How the flight actually takes off or lands is of little concern to the user. The latter view is of subschema. It is a programmer's (pilot's) view. Many subschemas can be derived from one schema, just as different pilots visualize different views of a landing approach, although all (it is hoped) arrive at the sheduled time indicated on the CRT screen display (schema)

Different application programmers visualize different subschemas. The relationships among the schema, subschema, and physical structure are provided by the software. 

Logical And Physical View Of Data

In data base design, several views of data must be considered along with the persons who use them. In addition to data structuring, where relationships are reflected between and within entities, we need to identify the application program's logical views of data within an overall logical data structure. The logical view is what the data look like, regardless of how they are stored. The physical view is the way data exist in physical storage. It deals with how data are stored, accessed, or related to other data in storage .The logical views are the user's view, the programmer's view, and the overall logical view, called a schema.

Key Terms

In data base design, we need to be familiar with several terms. Suppose we have a sales status system designed to give the sales activities of each salesperson. 

1. User's view is a profile that the user expects to see on a report. In our example, the user's view is a sales report.

2. Processing refers to the changes made produce the sales report.

3. Data model is a framework or a mental image of the user's view. The salesperson and the items sold.The steps are determined by the analyst as a framework for producing the user's view-the report.

   4. Data file is the area where the actual files are 8tored. The storage sequence is determined by the data model. In our example, the data are organized by salesperson and the Hen s under each salesperson.

          In a data base environment, the DBMS is the software that provides the interface between the data file on disk and the program that requests processing. The procedure is as follows:
  1. The user requests a sales report through the application program. The application program uses a data manipulation language (DML) to tell the DBMS what is required.

  2. The DBMS refers to the data model, which describes the view in a language called the data definition language (DDL). The DBMS uses DDL to determine how data must be structured to produce the user's view.

   3. The DBMS requests the input/output control system (IDCS) to retrieve the information from physical storage as specified by the application program. The output is the sales report.

To Summarize,
        1. DML manipulates data; it specifies what is required.
        2. DDL describes how data are structured.
        3. DBMS manages data according to DML requests and DDL descriptions.

As you can tell, DBMS performs several important functions:
   1. Storing, retrieving, and updating data.
   2. Creating program and data independence. Either one can be altered independently of the other.
   3. Enforcing procedures for data integrity. Data are immune from deliberate alteration because the programmer has no direct method of altering physical databases.
   4. Reducing data redundancy. Data are stored and maintained only once.
   5. Providing security facilities for defining users and enforcing authorizations. Access                       is limited to authorized users by passwords or similar schemes.
  6. Reducing physical storage requirements by separating the logical and physical aspects of the data base

Objectives Of Data Base

The general theme behind a database is to handle information as an integrated whole. There is none of the artificiality that is normally embedded in separate files or applications. A database is a collection of interrelated fated data stored with minimum redundancy to serve many users quickly and efficiently. The general objective is to make information access easy, quick, inexpensive, and flexible' for the user. In data base design, several specific objectives are considered:

1. Controlled redundancy. Redundant data occupies space and, therefore, is wasteful. If versions of the same data are in different phases of updating, the system often gives conflicting information. A unique aspect of data base design is storing data only once, which controls redundancy and improves system performance.

2. Ease of learning and use. A major feature of a user-friendly data base package is how easy it is to learn and use. Related to this point is that a database can be modified without interfering with established ways of using the data.

3. Data independence. An important data base objective is changing hardware and storage procedures or adding new data without having to rewrite application programs. The database should be "tunable" to improve performance without rewriting programs.

4. More information al low cost. Using, storing, and modifying data at low cost are important. Although hardware prices are falling, software and programming costs are on the rise. This means that programming and software enhancements should be kept simple and easy to update.

5. Accuracy and integrity. The accuracy of a data base ensures that data quality and contel1t remain constant." Integrity controls detect data inaccuracies where they occur.

6. Recovery from failure. With multiuser access to a data base, the system must recover quickly after it is down with no loss of transactions. This objective also helps maintain data accuracy and integrity.

7. Privacy and security. For data to remain private, security measures must be taken to prevent unauthorized access. Data base security means that data are protected from various forms of destruction; users must be positively identified and their actions monitored.

8. Performance. This objective emphasizes response time to inquiries suitable to the use of the data. How satisfactory the response time is depends on the nature of the user-data base dialogue. For example, inquiries regarding airline seat availability should be handled in a few seconds. On the other extreme, inquiries regarding the total sale of a product over the past two weeks may be handled satisfactorily in 50 seconds

Wednesday, April 22, 2009

Data Base Design

A decade ago, database was unique to large corporations with mainframes. Today it is recognized as a standard of MIS and is available for virtually every size of computer. Before the data base concept became operational users had programs that handled their own data independent of other users. It was a conventional file environment with no data integration or sharing of common data across applications. In a data base environment, common data are available and used by several users. Instead of each program (or user) managing its own data, data across api1ication are shared by authorized users with the data base software managing the data as an entity. A program now requests data through the data base management system (DBMS), which detem1ines data sharing.

Direct-Access Organization

In direct-access file organization, records are placed randomly throughout the file. Records need not be in sequence because they are updated directly and rewritten back in the same location. New records are added at the end of the file or inserted in specific locations based on software commands.

Records are accessed by addresses that specify their disk locations. An address is required for locating a record, for linking records, or for establishing relationships. Addresses are of two types: absolute and relative. An absolute address represents the physical location of the record. It is usually stated in the format of sector/track/record number. For example, 3/14/6 means go to sector 3, track 14 of that sector, and the sixth record of the track. One problem with absolute addresses is that they become invalid when the file that contains the records is relocated on the disk. One way around this is to use pointers for the updated records.

A relative address gives a record location relative to the beginning of the file. There must be fixed-length records for reference. Another way of locating a record is by the number of bytes it is from the beginning of the file. Unlike relative addressing, if the file is moved, pointers need not be updated, because the relative location of the record remains the same regardless of the file location.

Each file organization method has advantages and limitations; a summary is given in. Payroll is a good example. The system goes through the employee list, extracts the information, and prepares pay slips. There are no lengthy random-access seeks. In contrast, real-time applications where response requirements are measured in seconds are candidates for random-access design. Systems for answering inquiries, booking airlines or stadium seats, updating checking or savings accounts in a bank, or interacting with a terminal are examples for random-access design.

Inverted List Organization

Like the indexed-sequential storage method, the inverted list organization maintains an index. The two methods differ, however, in the index level and record storage. The indexed-sequential method has a multiple index for a given key, whereas the inverted list method has a single index for each key type. In an inverted list, records are not necessarily stored in a particular sequence. They are placed in the data storage area, but indexes are updated for the record keys and location.

The flight number, flight description, and flight departure time are all defined as keys, and a separate index is maintained for each. Note that in the data location area, flight information is in no particular sequence. Assume that a passenger needs information about the Houston flight. The agent requests the record with the flight description "Houston flight." The data base management system (DBMS) then reads the single-level index sequentially until it finds the key value for the Houston flight. This value has two records associated with it: R3 and R6. The DBMS essentially tells the agent that flight #70 is departing at 10:10 A.M. (R3) and flight #169 is departing at 8:15 A.M.

Looking at inverted-list organization differently, suppose the passenger requests information on a Houston flight that departs at 8:15. The DBMS first searches the flight description index for the value of the "Houston flight.’’ It finds R3 and R6. Next it searches the flight departure index for these values. It. finds that the R3 value departs at 10:10, but the R6 value departs at 8:15. The record at location R6 in the data location area is displayed for follow-up.

It can be seen that inverted lists are best for applications that request specific data on multiple keys. They are ideal for static files because additions and deletions cause expensive pointer updating.

Chaining

File organization requires that relationships be established among data items. It must show how characters from fields, fields form files, and files relate to one another. Establishing relationships is done through chaining or the use of pointers. The file is a indexed-sequential access file sequenced by key 1 that reports part numbers. A record is retrieved by part number. To retrieve all the fenders sold, we can scan the file and determine the total. However, a better way is to chain the records by linking a pointer to each.
      The pointer gives the address of the next part type of the same class. In the case of fenders, the first fender has a pointer that indicates 092, the address (part number) of the next fender in the second table. Fender 092, in turn, has a pointer that indicates 172, the address of the third fender in the fourth table. Fender 172 has a pointer that indicates END, signaling the last fender available. The search method applies similarly to other parts in the file. A graphic method of linking or,chaining records is shown by the connecting lines in the figure.

Indexed Sequential Organization

Like sequential organization, keyed sequential organizati6nstores data in physically contiguous blocks. The difference is in the use of indexes to locate records. To understand this method, we' need to distinguish among three areas in disk storage: prime area, overflow area, and index area. The prime area contains file records stored by key or ID numbers. All records are initially stored in the prime area. The overflow area contains records added o the file that cannot be placed in logical sequence in the prime area. The index area is more like a data dictionary. It contains keys of records and their locations on the disk. A pointer associated with each key is an address that tells the system where to find a record.

  The index area contains pointers to the Chicago and Houston flights. The Chicago flight points to the Chicago flight information stored in the prime area. The Houston fight points to the Houston flight information in the prime area. Lack of pace to store the Huntsville flight in sequential order made it necessary to load it in the overflow area. The overflow pointer places it logically in sequential order in the prime area. The same arrangement applies to the Louisville flight.

Indexed-sequential organization reduces the magnitude of the sequential search and provides quick access for sequential and direct processing. The primary drawback is the extra storage space required for the index. It also takes longer to search the index for data access or retrieval.

Sequential Organization

Sequential organization simply means storing and sorting in physical, contiguous blocks within files on tape or disk. Records are also in sequence within each block. To access a record, previous records within the block are scanned. Thus sequential record design is best suited for "get next" activities, reading one record after another without a search delay.

In a sequential organization, records can be added only at the end of the file. It is not possible to insert a record in the middle of the file without rewriting the file. In a data base system, however, a record may be inserted anywhere in the file, which would automatically resequence the records following the inserted record. Another approach is to add all new records at the end of the file and later sort the file on a key (name, number, etc). Obviously, in a 6O,OOO-record file it is less time-consuming to insert the few records directly than to sort the entire file.

In a sequential file update, transaction records are in the same sequence as in the master file. Records from both files are matched, one record at a time, resulting in an updated master file. A "c" in the record number specifies, "replace"; an "A," "add"; and a "D," "delete."

In a personal computer with two disk drives, the master file is loaded on a diskette into drive A (left), while the transaction file is loaded on another diskette into drive B. Updating the master file transfers data from drive B to A. controlled by the software in memory.

File Organization

A file is organized to ensure that records are available for processing. As mentioned earlier, it should be designed in line with the activity and volatility of the information and the nature bf the storage media and de­ ices. Other considerations are (1) cost of file media (highest for disk, lowest for tape), (2) inquiry requirements (real-time versus batch processing, and 3 file privacy, integrity, security, and confidentiality.

There are four methods of organizing files: sequential, indexed-sequential inverted list, and direct access. Each method is explain

File Structure

To learn about files, we need to understand basic terms used to describe the file hierarchy. The terms we shall cover are byte, data item, record, file and data base.

Byte. A byte is an arbitrary set of eight bits that represent a character. It is the smallest addressable unit in today’s computers.

Data item (element). One or more bytes are combined into a data item to describe an attribute of an object. For example, if the object is an employee.

One attribute may be sex, name, age, or social security number. A data item is sometimes referred to as a field. A field is actually a physical space on tape or disk, whereas a data item is the data stored in the field.

Record. The data items related to an object are combined into a record. A hospital patient (object has a record with his/her name, address, health insurance policy, and next of kin. Each record has a unique key or ID -number. The patient's tag number, insurant policy number, or a unique number could be used as an identifier for processing the record.

In record design, we distinguish between logical and physical records. A logical record maintains a logical relationship among all the data items in the record. It is the way the program or user sees the data. In contrast, a physical record is the way data are recorded on a storage medium. The programmer does not know about the physical "map" on the disk. The software presents the logical records in the required sequence. This capability is unique to data base design.

File. A collection of related records makes up a file. The size of a file is limited by the size of memory/or the storage medium. Two characteristics determine how files are organized: activity and volatility. File activity specifies the percentage of actual records processed in a single run. If a small percentage of records is accessed at any given time, the file should be organized on disk for direct access. In contrast, if a fair percentage of records is affected regularly, then storing the file on tape would be more efficient and less costly. File volatility addresses the properties of record changes. File records with substantial changes are highly volatile, meaning that disk design would be more efficient than tape. Think of the airline reservation system and the high volatility through cancellations, additions, and other transactions compared to the traditional payroll, which is relatively dormant. The higher the-volatility, the more attractive is disk design.

Data base. The highest level in the hierarchy is the data base. It is a set of interrelated files for real-time processing. It contains the necessary data for problem solving and can be used by several users accessing data concurrently. Data bases are covered later in the chapter.

Summary

   1. Input design shows how user-originated input is converted to a computer-based format. After input data are identified, appropriate input media are selected for processing.

   2. In addition to determining the record media, the analyst must decide how input is entered and the speed of data capture. The fastest method is online data entry through a menu, a formatted form, or a prompt. This requires a CRT screen for display and predefined user's options that standardize data capture and provide visual verification.

   3. Two approaches to designing data on a CRT screen are manual print. Layout charts and a software utility provided by the software vendor.
The latter method is more versatile, allowing for instant modifications directly on the screen.

   4. Standards for printed output suggest giving each output a name or title, providing a sample of the output layout, and specifying the procedure for proving the accuracy of the output data. The output devices to consider depend on the compatibility of the device with the system, response time requirements, and the printed quality required.

   5. A form is the physical carrier of data. It can carry authority for action. It is classified by what it does in the system. There are actions, memory, and report forms. In any case, a form is a tool with a message.

   6. In designing a form, attention is given to proper identification and wording, readability and use, composition and layout, order of data items, and clarity of instructions. For form duplication, one-time carbon or carbon-backed paper is chosen, depending on how the form will be used.
   
  7. Forms are classified as flat (single copy), snapout, fanfold, NCR, and preprinted. Fanfold forms are ideal for computer output. NCR is cleaner but costs more than carbon-interleaved forms.
 
  8. A well-designed form with clearly stated captions should be self-in­structing. If instructions are needed, they are placed on the cover of padded forms, in the stub area of snapout forms, or in some cases on the back of the form.
 
  9. Forms can be printed on paper of different colors, grades, and weights.Color distinguishes among copies. In deciding on the kind of paper to select, the forms designer must evaluate appearance, longevity, and handling. These factors are considered against cost.
 
 10. An organization's forms must be centrally controlled for efficient handling. Some planning is required prior to implementation. If forms are handled successfully, unauthorized forms should be minimized.

Form Control

The first step in forms control is to determine whether a form is necessary. Managing the hundreds of forms in a typical organization requires a forms control program. Forms control is a procedure for (l) providing improved and effective forms, (2) reducing printing costs, and (3) securing adequate stock at all times.

The first step in a procedure for forms control is to collect, group, index, stock, and control the forms of the organization. Each form is identified and classified by the function it performs and whether it is a flat form, a snap­ out form, or something else. Once classified, a form is evaluated by the data it requires, where it is used, and how much it overlaps with other forms. The object is to get rid of unnecessary forms and improve those forms that are necessary.

Before launching a forms control program, the designer needs to consider several questions:
1. Who will be responsible for improving forms design?
2. Should forms be produced house or assigned to an outside printer? 
3. What quantity should be printed? What is the break-even point on printing forms?
4. How much lead-time is required to replenish forms?
5. How will one handle reorders? Who will initiate them? In what way? 
6. How will obsolete forms be handled?
7. What should be the life of the form?
8. Where and how should the form be stored?

If questions of this nature are not addressed in advance, the organization is probably not ready to launch a forms control program.

Cost Considerations

Various cost factors go into the final decision to produce a form. Costs consist of both one-time (flat) and running costs. Flat charges center around the preparation of the system used to create the first copy. Charges such as the cost of paper, ink, machine, and labor are all running charges. One way of reducing costs is to order "two-up" or side-by-side forms attached by a perforated line. Other cost-reducing alternatives are:

   1. Using standard size and weight paper.
   2. Ordering in larger quantities at a discount.
   3. Discouraging the use of unnecessary color.
   4. Using standard locations for key captions and form title.

Paper Selection

Forms may be printed on paper of-different colors, grades, and weights.

Colored paper or colored printing on white paper is used to distinguish among copies and facilitate sorting copies. Common color preferences are listed in the table.

Paper weight is based on a ream of 500 sheets that are 17 by 22 inches; it ranges from 4 pounds to 220 pounds. Cutting the 500 sheets into quarters results in the standard size of a typewriter page-81/2 by 11 inches.

There are three major factors to consider in paper selection: appearance, longevity, and handling. The form designer needs to know (1) the number of times the form will be handled (daily, weekly, etc.), (2) the amount of folding it will receive, and (3) the extent of exposure to the environment.

Paper is generally classified as onionskin, bond, duplicator, ledger, index, and card stock. Its thickness is expressed in pound weight. Onionskin paper (9-pound weight) is used for inner copies of multiple-part sets. Bond paper is usually rag paper that has the best feel and quality, depending on the rag content (25, 50, or 100 percent). Duplicator paper (16-20-pound weight) is used for duplicating and xeroxing machines. Ledger paper (28-32­ pound 'weight) is used for checks, accounting records, and permanent ledger cards. Index paper (more than 72-pound weight) is strictly for printing cards. Card stock is the heaviest paper, although it has a lower grade than the other types mentioned. It comes in various weights, ranging from 90 to 140 pounds. The 90-pound weight is used for durable records. The 140-pound weight is strictly heavyweight card stock.

Form Instructions

A well-designed form with clearly stated captions should be self-in­structing. In a recent consulting job, an eight-page procedure included two pages telling how to fill out the printed forms. A sample of the instructions is as follows:

           The first form had 29 captions. The procedure listed the captions and explained the information required under each. Much of this work would have been eliminated if the captions were self-explanatory.

Forms such as application blanks that are filled out once should be self­ instructing. Other forms (e.g., purchase orders) that are processed repeatedly by several people should be designed for easy writing, typing, and sorting. A form becomes self-instructing by means of clearly stated captions and brief, but specific, procedural instructions. The following examples illustrate these points.

           The procedural instructions on the form should be self-explanatory-for example, "Enclose your stub with your payment."

Instructions are placed on the cover of padded forms or in the stub area of snap-out forms. Some forms have instructions on the back. A notation on the front upper left corner of the page tells the user where to find the instructions.

Ballot Box And Check-Off Designs

Using ballot or check-off boxes for questions that can be answered by yes or no can greatly reduce the amount of required writing. The user indicates a preference simply by checking off the desired box or placing an X in the appropriate space.

Spacing Requirements

If you pick 20 printed forms at random, you will find a great variety of spacing on them. Most forms seem to be spaced haphazardly. The method of preparing a form tells whether to allow for handwritten, printed entries, or both. In either case, there must be sufficient space to allow for data capture. A standard is needed.

The 3 refers to the number of lines per vertical inch, while the 5 refers to the number of characters that fit in one horizontal inch. This approach is related to spacing for clerks (8 characters per inch or cpi), workers (5 cpi), and printers (10/J2 cpi).

There are times when a cel1ain amount of space must have a minimum number of lines. One way of determining lines is with the diagonal spacing method. As illustrated in In this case, inch multiples are used. A one-inch multiple can be obtained simply by making a sharper diagonal slant of the ruler.

In columnar spacing, the column width is determined by the amount of data in tl1e column and how data are recorded. The 3/5 rule should be adequate to determine the columnar spacing required on most forms. Column headings should be written horizontally whenever possible. 

Box Design

Whenever possible, it is advisable to design the form using the rule, with captions in the upper left corner. The box design gets the captions up out of the way and reduces the form size by 25 to 40 percent. It also makes the data entry uninterrupted from left to right. The traditional design is acceptable for a handwritten form, but it can be tricky to position the captions on the typewriter. 

Rules And Captions

In designing forms, use rules (lines) to guide the human eye to read write data groups. In this respect, printed rules aid in zoning a form. A caption is similar to a column heading. It specifies what information to write the space provided. Rules and captions go together: Rules guide and separate, whereas captions guide and instruct.

Since a caption is used to guide, one or two different sizes of captions usually used. A caption should not be set in such bold type that it barks" at the form user.
 
Light, single "hairline" rules should be used unless there is a definite d for separating parts of the form; in that case, heavier printed rules can use.

A column heading is a caption used to refer to more than one rule or box on a form. Acceptable abbreviations and those that are not misleading may be used. 

To summarize, a form is designed with a combination of captions. Rules can also be used to make boxes in which the ill data. The caption tells the user what information goes in a particular position. 

Data Classification And Zoning

Data Classification and Zoning

Have you ever filled out a form where you had to "jump around"? Many forms have this design weakness. The solution is simple: List all the items that must go on the form and classify them into logical groupings. All a items are listed under a "general" classification. For example, in a pure order, several items fall into a group called "shipping instructions." They include SHIP TO, SHIP FROM, and SHIP VIA.

After the items are classified into a logical sequence by group, the consideration is placing the data groups in appropriate areas (zones). 
   1. A form is divided into zones; each zone represents a similar group information.
   2. The zones are organized in a logical flow based on the upper left co (ULC) method.  
   3. When more than one form is involved, the sequence of data in related forms should follow the same flow.

Form Title And Number

The first consideration in forms design is a brief, descriptive title that tells what the form is and what it does. Since we read from left to right and from top to bottom, the upper left comer of the form is an appropriate place for a title. On forms that go outside the organization, the title is placed in the center at the top of the form.

Long titles with vague words should be avoided. Good titles often are no longer than two words. Consider the following form titles:

A form number identifies the form, serves as a reference, and provides a control check for the supply room. Since the title and number are parts of the form identification, they should be placed together-say, in the upper left comer of the form. For an oversized form, the title is positioned in the center in bold type. In other situations where the upper left comer is u the lower left comer is an alternative location.

Layout Consideraations

When a form is designed, a list is prepared of all the items to be included on the form and the maximum space to be reserved. The list should be checked by the form user to make sure it has the required details.

Tuesday, April 21, 2009

HCR (No Carbon Required) Paper

Several copies can be made by pressing a chemical undercoating on the top sheet into a claylike coating on the top of the second sheet. The writing (or printing) pressure forms an image by the coating material. The same process applies to the back of the second sheet for producing a carbon copy on the face of the succeeding sheet, and so on.

NCR paper has many applications in sales books, checkbooks, inventory tickets, and deposit slips. It offers cleaner, clearer, and longer-lasting copies than carbon-interleaved forms. No carbon means no smears or smudges.

One problem is the sensitivity of the chemical: It shows every unintended scratch. Other disadvantages are difficulty with erasures and high cost. NCR paper costs as much as 25 percent more than the carbon-interleaved form considering the labor savings of the NCR process, however, cost may be well justified in the long run.

Continuous Strip/Fanfold Forms

These are multiple-unit forms joined together in a continuous strip with perforations between each pair of forms. One-time carbon is interleaved between copies, which are stacked in a fanfold arrangement. The device eliminates individual insertion of forms. The fanfold is the least expensive construction for large-volume use. Computer printouts arc invariably produced on them; they are virtually part of systems design.

Unlt·Seti/Snapout Forms

These forms have an original copy and several copies with one-time carbon paper interleaved between them. The set is glued into a unit (thus unit set) for easy handling. The carbon paper is approximately 3/8 inch shorter than the copies. The copies are perforated at the glue margin for tearing out, although the carbon is not perforated. Because of the perforation and the shorter carbon, the forms can be easily snapped out (thus, the name snapout form) after completion.

Flat Forms

A flat form is single-copy form prepared manually or by a machine and printed on any grade of paper. For additional copies of the original, carbon paper is inserted between copies. It is the easiest form to design, print, and reproduce; it has a low-volume use; and it is the least expensive. Often a pad of the flat forms is printed identical to the original copy of a unit set. 

Types Of Forms

Forms are classified into several categories: flat forms, unit-set/snapout forms, continuous strip/fanfold forms, NCR paper, and preprinted forms. These types are described briefly.

Carbon Paper As A Form Copier

There are many ways of duplicating forms but none is as handy versatile as carbon paper. There are two primary types of carbon, class' by the action they encounter: 

   1. Glide action carbon inserted between a set of forms allows the action of the pencil (or ballpoint) to transfer dye to the surface of the sheet beneath.

   2. Hammer action carbon is used in typewriters and line printers of computers. The hammer action of the key(s) transfers the carbon coating to the sheet beneath. 

        Various methods of transferring, impressions between copies are also used:
   1. One-time carbon. Made of inexpensive Kraftex paper, it is interleaved between two sheets in the form, used once, and then thrown away. It is the most cost effective (also the messiest) method for multipart forms.
   2. Carbon-backed paper. The back of each form copy is coated with carbon, which transfers data to the copy beneath
   3. NCR (no carbon required) paper. The top sheet is chemically treated with invisible dye, which allows impressions to be transferred to the next lower copy. It is the cleanest method of copying but also the costliest. Erasing removes the coating permanently.

The readability of carbon copies depends on color and outline. Regardless of the carbon quality, copies beyond the third or fourth become progressively poorer, so that by the tenth copy all one gets is a smudge of color-with hardly any sharpness of outline. In multicopy forms, the copies below the original should be lighter-weight paper for easier transfer of the carbon. The bottom copy should be heavier paper. Because carbon smears, carbon copies should not be used for data entry copy.

Selected data are deleted from printing on certain copies by using split carbons or short carbons or by printing a random design in the area where the data will be printed. The random design blurs out the readability of the printed data. Generally, one-time carbon is preferred when a small number of copies is required. If carbon is unacceptable, NCR paper is recommended. When selected data are restricted to specific copies, split carbons are used.

Requirements Of Forms Design

Forms design follows analyzing forms, evaluating present documents, and creating new or improved forms. Bear in mind that detailed analysis occurs only after the problem definition stage and the beginning of designing the candidate system. Since the purpose of a form is to communicate effectively through forms design, there are several major requirements:

1. Identification and wording. The form title must clearly identify its purpose. Columns and rows should be labeled to avoid confusion. The form should also be identified by firm name or code number to make it easy to reorder.

2. Maximum readability and use. The form must be easy to use and fill out. It should be legible, intelligible, and uncomplicated. Ample writing space must be provided for inserting data. This means analyzing for adequate space and balancing the overall forms layout, administration, and use.

3. Physical factors. The form's composition, color, layout (margins, space, etc.), and paper stock should lend themselves to easy reading. Pages should be numbered when multipage reports are being generated for the user.

4. Order of data items. The data requested should reflect a logical sequence. Related data should be in adjacent positions. Data copied from source documents should be in the same sequence on both forms. Much of this design takes place in the forms analysis phase.

5. Ease of data entry. If used for data entry, the form should have field positions indicated under each column of data and should have some indication of where decimal points are (use broken vertical lines).

6. Size and arrangement. The form must be easily stored and filed. It should provide for signatures. Important items must be in a prominent location on the form.

7. Use of instructions. The instructions that accompany a form should clearly show how it is used and handled.

8. Efficiency considerations. The form must be cost effective. This means eliminating unnecessary data and facilitating reading lines across the form. To illustrate, if a poorly designed form causes 10 supervisors to waste 30 seconds each, then 5 minutes are lost because of the form. If the firm uses 10,000 of these forms per year, then 833 hours of lost time could have been saved by a better forms design.

9. Type of report. Forms design should also consider whether the content is executive summary, intermediate managerial information, or' supporting-data. The user requirements for each type often determine the final form design.

Classificaion Of Forms

A printed form is generally classified by what it does in the system. There three primary classifications: action, memory, and report forms action form requests the user to do something-get action. (Example purchase orders and shop orders.) A memory form is a record of his data that remains in a file, is used for reference, and serves as control a data. (Examples are inventory records, purchase records, and bond registers.) A report form guides supervisors and other administrators in activities. It provides data on a project or a job. (Examples are profit and statements and sales analysis reports.) .

What Is A Form?

People read from forms, write on forms, and spend billions of hours handling forms and filing forms. The data the forms carry come from people, and the informational output of the system goes to people. So the form tool with a message, it is the physical carrier of data-of information. It can constitute authority for action. For example a purchase order says a customer's order says SHIP, and a paycheck says PAY TO THE ORDER Each form is a request for action. It provides information for making decisions and improving operations.

With this in mind, it is hard to imagine a business operating without using forms. They are the vehicles for most communications and the blueprint for many activities. As important as a printed form is, however, the majority of forms are designed by poorly trained people. People are puzzled by confusing forms, they ask for directions on how to read them and h fill them out. When a form is poorly designed, it is a poor (and costly) administrative tool.

Form Design

We have learned that data provide the basis for information systems. Without data there is no system, but data must be provided in the right form for input and the information produced must be in a format acceptable to the user. In either case, it is still data-the basic element of a printed form.

Output Design

Computer output is the most important and direct source of information to the user. Efficient, intelligible output design should improve the system's relationships with the user and help in decision-making. A major form of output is a hard copy from the printer. Printouts should be designed around the output requirements of the user. The output devices to consider depend on factors such as compatibility of the device with the system, response time requirements, expected print quality, and number of copies needed. The following media devices are available for providing computerbased output:

   1. MICR readers.
   2. Line, matrix, and daisy wheel printers.
   3. Computer output l.licrofilm (COM).
   4. CRT screen display.
   5. Graph plotters.
   6. Audio response.

In addition to deciding on the output device, the systems analyst must consider the print format and the editing for the final printout. Editing ranges from suppressing unwanted zeros to merging selected records to produce new figures. In either case, the task of output preparation is critical, requiring skill and ability to align user requirements with the capabilities of the system in operation.

The standards for printed output suggest the following:
   1. Give each output a specific name or title.
   2. Provide a sample of the output layout, including areas where printing may appear and the location of each field.
   3. State whether each output field is to include significant zeros, spaces between fields, and alphabetic or any other data.
   4. Specify the procedure for proving the accuracy of output data.

In online applications, information is displayed on the screen. The layout sheet for displayed output is similar to the layout chart used for designing input. Areas for displaying the information are blocked out, leaving the rest of the screen blank or for system status information. Allowing the user to review sample screens can be extremely important because the user is the ultimate judge of the quality of the output and, in turn, the success (or failure) of the system. For example, the following shows editing output for a student birth date:

DISPlAY: DATE OF BIRTH (mm/dd/yy) 23/19/80 

RESPONSE: MONTH EXCEEDS 12

SUGGESTS A RETRY: DATE OF BIRTH (mm/dd/yy)

CRT Screen Design

Many online data entry devices are CRT screens that provide instant visual verification of input data and a means of prompting the operator. Operator can make any changes desired before the data go to the system processing. A CRT screen is actually a display station that has a b (memory) for storing data. A common size display is 24 rows of 80 characters each or 1,920 characters.

There are two approaches to designing data on CRT screens: in. and software utility methods. The manual method uses a work sheet m like a print layout chart. The menu or data to be displayed are blocked in the areas reserved on the chart and then they are incorporated into system to formalize data entry. For example, in the first command in the partial program is interpreted by system as follows: "Go to row 10 and column 10 on the screen and display (SAY) the statement typed between quotes." The same applies to the three commands. The command "WAIT TO A" tells the system to keep menu on the screen until the operator types the option next to the word.

"WAITING."
The main objective of screen display design is simplicity for accurate and quick data capture or entry. Other guidelines are:
   1. Use the same format throughout the project.
   2. Allow ample 3pace for the data. Overcrowding causes eye strain and may tax the interest of the user.
   3.Use easy-to-Iearn and consistent terms, such as "add," "delete,' and "create."
   4. Provide help or tutorial for technical terms or procedures.

The second approach to designing screen layouts is through so utility, usually provided by the CRT vendor. For example, IBM provides a screen Design Aid (SDA) package that allows the designer (at the terminal) to modify the display components.

The Prompt (Conversational Mode)

 In prompt the system displays one inquiry at a time, asking the user for a response. For example, the following dialogue represents a prompt approach to data entry.

Most systems edit the data entered by the user. For example, if the password exceeds a maximum number of digits or if the password is illegal, system responds with a message like UNAUTHORIZED ENTRY or ILLEGAL NUMBER. The user has three chances to enter the correct code, after which the system "locks up." In banks' automated teller machines (ATMs), if customer entered his/her code wrong three times, the system retains the card and displays a message on the screen that the user should check with an officer during banking hours.

The prompt method also allows the user to key questions that determine mine the next response of the system. In our example INPUT DATA NOW? Y/N, if the response is Y, the system might display a record format for entering data. Otherwise, it might automatically go back to the menu for different set of options. This method along with the menu and template designed to improve the efficiency and accuracy of online data entry.

In each of the alternative approaches to data entry, the user's options are predefined. An inexperienced user is guided through complex functions by a formatted procedure. The main limitation with many of the avail menus or prompts is that they require only one item to be entered at a time rather than a string of data items simultaneously.

The Formatted Form

 A formatted form is a preprinted form or template that requests the user to enter data in appropriate locations. It is fill-in-the-blank type form. The form is flashed on the screen as a unit. The curser is usually positioned at the first blank. After the user responds filling in the appropriate information, the curser automatically moves to next line, and so on until the for is completed. During this routine, user may move the curser up, down, right, or left to various locations making changes in the response. The system requests information about the customer's name address, renewal date, and so on. The user fills out the information on the dotted lines.

The Menu

 A menu is a selection list that siQ1plifies computer data access or entry. Instead of remembering what to enter, the user chooses from a list of options and types the option letter associated with it. For example, A curser blinking in the space reserved for ( ) YOUR CHOICE requests the user to type the letter that represents the option wanted. Other menus require the user to position the curser in front of a menu choice to make a selection.

A menu limits a user's choice of responses but reduces the chances for error in data entry.

Online Data Entry

We live in the age of the microcomputer and at a time where marc and more CRT screens are used for online data entry. As terminal prices decline­ and microcomputers become more popular, entering data directly through the keyboard will become a way of life. The number of applications that rely on direct data entry is too long to list. Two examples are automated teller machines (ATMs) in banking and point of sale (POS) in retailing.

Online data entry makes use of a processor that accepts commands and data from the operator through a keyboard or a device such as a touch­ sensitive screen or voice input. The input received is analyzed by the processor. It is then accepted or rejected, or further input is requested. The request for input is in the form of a message displayed on the screen or by audio output.

Most keyboards have keys for alphabetic, numeric, as well as special function. CRT screens display 24} 40, or 80 characters simultaneousIy or one line at a time, depending on the application and options offered by the vendor. Care must be taken that the hardware facilitates easy data entry into the system.

There are three major approaches for entering data into the computer: menus, formatted forms, and prompts.
 

Input Media And Devies

Source data are input into the system in a variety of ways. The following media and devices are suitable for operation:

1. Punch cards are either 80 or 96 columns wide. Data are arranged in a sequential and logical order. Operators use a keypunch to copy data from source documents onto cards. This means that the source document and card design must be considered simultaneously.

2. Key-to-diskette is modeled after the keypunch process. A diskette re­ places the card and stores up to 325,000 characters of data-equivalent to the data stored in 4,050 cards. Like cards, data on diskettes are stored in sequence and in batches. The approach to source document and diskette design is similar to that of the punch card. Data must be in sequence and logically cohesive.

3. MICR translates the special fonts printed in magnetic ink on checks into direct computer input.

4. Mark-sensing readers automatically convert pencil marks in predetermined locations on a card to punched holes on the same card.

5. Optical character recognition (OCR) readers are similar to MICR readers except that they recognize pencil, ink, or characters by their configuration (shape) rather than their magnetic pattern. They are often used in remote locations as freestanding input preparation devices or direct input media to the system.

6. Optical bar code readers detect combination of marks that represent data. Which codes retail items in stores. Automatic tag reading is a major breakthrough in speeding up 'customer service and eliminating costly data input errors at the point of sale. It is virtually impossible for the sales clerk to enter incorrect merchandise information such as department and class type data. Automatic tag reading is the ideal way to collect unit inventory information fast, accurately, and economically.

7. Cathode-ray tube (CRT) screens are used for online data entry. CRT screens display 20, 40, or 80 characters simultaneously on a television-like screen. They show as many as 24 lines of data.

In addition to determining record media, the analyst must decide on the method of input and the speed of capture and entry into the system. Processing may be batched (a group of records handled as a unit), online (records processed directly), sequential (sorted records), or random (un­ sorted). For example, magnetic tape may be suitable for batch sequential processing} whereas diskettes are ideal for online processing and random inquiries.

Source Documents

Source data are captured initially on original paper or a source document. For example, a check written against an account is a source document. When it reaches the bank, it is encoded with special magnetic ink character recognition (MICR) so that it can be processed by a reader that is pal1 of the information system of the bank, Therefore, source documents initiate a processing cycle as soon as they are entered into the system.

Source documents may be entered into the system from punch cards, from diskettes, or even directly through the keyboard. A source document mayor may not be retained in the candidate system. Thus, each source document may be evaluated in terms of (1) its continued use in the candidate system, (2) the extent of modification for the candidate system, and (3) replacement by an alternative source document.

A source document should be logical and easy to understand. Each area in the form should be clearly identified and should specify for the user what to write and where to write it. For example, a field as simple as date of birth may be written in four different ways:
   1. 19 September 1935
   2. Sept. 19, 1935
   3. 9/19/35
   4. 19/9/35 (European style)

Unless it is clear in a source document that two digits are allowed for the month, day, and year (MM/DDNY), we could expect such combinations of responses.

In source documents where the user chooses from a list of options, it is more efficient to direct the person to check the appropriate box than to enter a character. 


Input Dtaa

The goal of designing input data is to make data entry as easy, logical, and free from errors as possible. In entering date, operators need to know the following:

   1. The allocated space for each field.

   2. Field sequence, which must match that in the source document.

   3. The format in which data fields are entered, for example, filling out the date field is required through the edited format mm/dd/yy.

 When we approach input data design, we design the source documents that capture the data and then-select the media used to enter them into the computer. Let us elaborate on each step.

Input Design

Inaccurate input data are the most common cause of errors in data processing. Errors entered by data entry operators can be controlled by input design. Input design is the process of converting user-originated inputs to a computer-based format. In the system design phase, the expanded data flow diagram identifies logical data flows, data stores, sources, and destinations. A systems flowchart specifies master files (data base), transaction files, and computer programs. Input data are collected and organized into groups of similar data. Once identified, appropriate input media are selected for processing.