This action might not be possible to undo. Are you sure you want to continue?
TOPIC PAGE NO.
1. INTRODUCTION TO SYSTEM CONCEPT
2. GENERAL PHASES OF SDLC
3. REQUIREMENT AND STRUCTRED ANALYSIS
4. DATABASE DESIGN AND IMPLEMENTATION TECHNIQUE
5. USER INTERFACE DESIGN
INTRODUCTION TO SYSTEMS CONCEPT Introduction
Scholars in various disciplines who are concerned about the tendency toward the fragmentation of knowledge and the increasing complexity of phenomena have sought a unifying approach to knowledge. Ludwig von Bertalanffy, a biologist, developed a general systems theory that applies to any arrangement of elements such as cells, people, societies, or even planets. Norbert Wiener, a mathematician, observed that information and communications provide connecting links for unifying fragments or elements. His systems concept of information theory, which shows the parallel between the functioning of human beings and electronic systems, laid the foundation for today's computer systems. Herbert A. Simon, a political scientist, related the systems concept to the study of organizations by viewing an ongoing system as a processor of information for making decisions. Systems analysis and design for information systems were founded in general systems theory, which emphasizes a close look at all parts of a system. Too, often analysts focus on only one component and overlook other equally important components. General systems theory is concerned with "developing, a systematic, theoretical framework upon which to make decisions.” It discourage thinking in vacuum and encourages consideration of all activities of the organization and its external environment Pioneering work in general systems theory emphasized that organizations be viewed as total systems. The idea of systems has become most practical and necessary in conceptualizing the interrelationships and integration of operations, especially when using computers. Thus, a system is a way of thinking about organizations and their problems. so involves a set of techniques that helps in solving problems. . Definition The term system is derived from the Greek word systema, which means an organized relationship among functioning units or components. A system exists because it is designed to achieve one or' more objectives. We come into daily contact with the transportation system, the telephone system, the accounting system, the production system, and for over two decades, the computer system. Similarly, we talk of the business system and of the organization as a system consisting of interrelated departments (sub systems such as production, sales, personnel, and an information system. None of these subsystems is of much use as a single, independent unit. When they are properly coordinated, however, the firm can work effectively and profitably. There are more than a hundred definitions of the word system, but most seem to have a common thread that suggests that a system is an orderly grouping of interdependent components linked together according to a plan to
achieve a specific objective. The word component may refer to physical parts (engines, wings of aircraft, wheels of a cal'), managerial steps (planning, organizing, directing, and controlling) or a subsystem in a multilevel structure. The components may be simple or complex, basic or advanced. They may be a single computer with a keyboard, memory, and printer or a series of intelligent terminals linked to a mainframe. In either' case, each component is part of the total system and has to do its share of work for the system to achieve the intended goal. This Orientation requires an orderly grouping of the components for the design of a successful system. The study of systems concepts, then, has three basic implications: 1. A system must be designed to achieve a predetermined objective. 2. Interrelationships and interdependence must exist among the components. 3. The objectives of the organization as a whole have a higher priority than the objectives of its subsystems. For example, computerizing personnel applications must conform to the organization's policy' on privacy, confidentiality, and security, as well as making selected data (e.g., pay;' roll available to the accounting division on request. CHARACTERISTICS OF SYSTEM Our definition of a system suggests some characteristics that are present in all systems. These are 1. Organization (order) 2. Interaction, 3. Interdependence, 4. Integration, 5. Central objective. 1) Organization Organization implies structure and order. It is the arrangement of components that helps to achieve objectives. In the design of a business system, for example, the Hierarchical relationships starting with the president on top and leading downward to the blue-coller workers represents the organization structure. Such an arrangement portrays a system-subsystem relationship, defines the authority structure, specifies the formal flow of communication, and formalizes the chain of command (see Figure 1-1). Like wise, a computer system is designed around an input device, a central processing unit, an output device, and one or more storage units. When linked together they work as a whole system for producing information.
health and safety. the main memory holds programs and data that the arithmetic unit uses for computation. One subsystem depends on the input of another subsystem for proper functioning that is. advertising with sales. In turn. Fig 1-1: Organization Structure 3) Interdependence Interdependence means that parts of the organization or computer system depend on one another. may be viewed as a system that consists of subsystems such as benefits. The personnel subsystem. in turn. In a computer system. They are coordinated and linked together according to a plan. Health and safety as a key personnel subsystem consists of lowerlevel elements that are considered vital in personnel operation.2) Interaction Interaction refers to the manner in which each component functions with other components of the system. purchasing must interact with production. In an organization. the central processing unit must interact with the input device to solve a problem. Figure 1-2 shows three levels of subsystems. and employment. the output of one subsystem is the required input for another subsystem. This interdependence is crucial in systems work. and payroll with personnel. for example. The interrelationship between these components enables the computer to perform. Each of the top inner circles represents a major subsystem of a production firm. Each element 4 . To illustrate these system characteristics.
in isolation because it is dependent on the data (inputs) It receives from other subsystems to perform its required tasks. programmers. and the like. 5 . Fig1-2: Major Subsystems Of Production Dept. insurance benefits. In summary.may be represented by a computer-based package or is part of a human resource data base that provides information on unemployment. Interdependence is further illustrated by the activities and support of systems analysts. and the operations staff in a computer center. no subsystem can function.
Successful integration will typically produce a synergistic effect and greater total impact than if each component works separately. Environment. 2. 6. or a computer system. It means that parts of the system work together within the system even though each part performs a unique function. 5. the following key elements must be considered: 1. Later in the book. ELEMENTS OF A SYSTEM In most cases. analyzed and' designed by the analyst. programmed and tested by the programmer. This means that the analyst must work around such obstacles to identify the real objective of the proposed change. a business application. Outputs and inputs. It is more than sharing a physical part or location. Boundaries and interlace. Synthesis follows analysis to achieve the central objective of the organization. Feedback. Integration is concerned with how a system is tied together. The environment may be a business firm. 6 . Objectives may be real or stated. Although a stated objective may be the real objective. The important point is that users must know the central objective of a computer application early in the analysis for a successful design and conversion. Central Objective The last characteristic of a system is its central objective. 4. it is not uncommon for an organization to state one objective and operates to achieve another. 3. we will show that political as well as organizational considerations often cloud the real objective. Processor(s). and run by the computer operator. Integration Integration refers to the holism of systems. To reconstruct a system. Control.A decision to computerize an application is initiated by the user. systems analysts operate in a dynamic environment where change is a way of life.
A system feeds on input to produce output in much the same way that a business brings in human. amount. Fig 1-3: Inputs and Outputs in a Business Organization 7 . information) that enter the system for processing. and material resources to produce goods and services. specification of the output that the computer is expected to provide for meeting user requirements. Output is the outcome of processing. services. For example. Whatever the nature of the output (goods. human resources. and regularity of the input needed to operate a system. Inputs are the elements (material. in systems analysis. the first concern is to determine the user's requirements of a proposed computer system-that is. it must be in line with the expectations of the intended user.Outputs and Inputs A major objective of a system is to produce an output that has value to its user. Input and processing design follow (see Figure 1-3). It is important to point out here that determining the output is a first step in specifying the nature. or information). financial.
Feedback measures output against a standard in some form of cybernetic procedure that includes communication and control. After the output is compared against performance standards. and outflow of activities that affect the welfare of the business. 8 . In Figure 1-3. The user informs the analyst about the performance of the new installation. Feedback Control in a dynamic system is achieved by feedback. This feedback often results in enhancements to meet the user's requirements. This means that as the output specifications change. Management support is required for securing control and supporting the objective of the proposed change. feedback is important in different ways. routine or informational. It is the operational component of a system. During analysis. It is routine in nature. Output specifications determine what and how much input is needed to keep the system in balance (see Figure 13) In systems analysis. Negative feedback generally provides the controller with information for action. In systems analysis. Control The control element guides the system. output information is fed back to the input and/or to management (controller) for deliberation. Processors may modify the input totally or partially. and output. input is also modified to enable the processor to handle the transformation. Feedback may be positive or negative. Positive feedback reinforces the performance of the system. consequently. knowing the attitudes of the individual who controls the area for which a computer is being considered can make a difference between the success and failure of the installation. so does the processing. It is the decision-making subsystem that controls the pattern of activities governing input. In an organizational context. handling. In a computer system. the user may be told that the problems in a given application verify his/her initial concerns and justify the need for change: Another form of feedback comes after the system is implemented. depending on the specifications of the output. changes can result in the input or processing and. processing. In some cases. the output.Processor(s) The processor is the element of a system that involves the actual transformation of input into output. management as a decision-making body controls the inflow. the operating system and accompanying software influence the behavior of the system.
open or closed. it often determines how a system must function.Environment The environment is the "suprasystem" within which an organization operates. knowledge of the boundaries of a given system is crucial in determining the nature of its interface with other systems for successful design. 2. and the like. 3. trust activities. This means that in systems analysis. influence the actual performance of the business. and others. the organization's environment. although in an integrated banking-wide computer system design. 9 . Each system has boundaries that determine its sphere of influence and control. As shown in Figure 1-3. TYPES OF SYSTIMS The frame of reference within which one views a system is related to the use of the systems approach for analysis. a customer who has a mortgage and a checking account with the same bank may write a check through the "teller system" to pay the premium that is later processed by the "mortgage loan system. Physical or abstract. It is the source of external elements that impinge on the system. For example. regardless of distance or location. competitors. withdrawals. Systems have been classified in different ways. consisting of vendors. and interrelationships when it interfaces with another system. In fact. Boundaries and Interface System should be defined by its boundaries-the limits that identify its components. consequently. may provide constraints and.”Man-made" information systems. and related activities of customers' checking and savings accounts. system design has been successful in allowing the automatic transfer of funds from a bank account to pay bills and other obligations to creditors. processes. Common classifications are: 1." Recently. a teller system in a commercial bank is restricted to the deposits. It may exclude mortgage foreclosures.
Flow Models. a programmed computer is a dynamic system. Data.Physical or Abstract Systems Physical systems are tangible entities that may be static or dynamic in operation. Schematic Models. Schematic Models. Static Models. The probability of completion within a time period is considered in connection with time. and the like. programs. The objective is to point out. 10 . They may be as straightforward as formulas of relationships among sets of variables or modelsthe abstract conceptualization of physical situations.) with which the system is concerned. There is an. Systems Models In no field are models used more widely and with greater variety than in systems analysis. and chairs that facilitate operation of the computer. The significant elements and the key interrelationships of a complex system. orderly flow of logic in such models. telephone handsets. and information that hold the system together. conference calls. The use of models makes it easier for the analyst to visualize relationships in the system under study. and applications change as the user's demands or the priority of the information requested changes. the physical parts of the computer center are the offices. manipulate specific values to determine the critical path. Dynamic system models. and relay them back as a control. Every computer system deals with the real world. etc. 4. desks. A widely known example is PERT (Program Evaluation and Review Technique) It is used to abstract a real world system in mo el form. A model is a representation of a real or a planned 'System. they are static. relationships. The analyst begins by modeling this reality before considering the functions that the system is to perform. 3. energy. resources. Various business system models are 1. The analyst begins by creating a model of the reality (facts. A schematic model is a two-dimensional chart depicting system elements and their linkages. or a reality outside itself. output. Flow System Models. In contrast. interpret the relationships. Abstract systems are conceptual or nonphysical entities. procedures. A flow system model shows the flow of the material. a telephone switching system is made up of subscribers. and performance specification. For example. 2. For example. They can be seen and counted. a problem area. dialing.
In reality. Open or Closed Systems Another classification of systems is based on their degree of independence An open system has many interfaces with its environment. it receives inputs from and delivers outputs to the outside. (2) the processor through which transformation takes place. applications. it consists of (1) inputs that enter the system. An information system falls into this category. since it must adapt to the changing demands of the user. dynamic systems influenced by their environment. a closed system is isolated from environment8I influences. It depicts an ongoing. and (4) the output(s) that result from processing (see figure 1-3). organizations. Static System Models. In -contrast. As mentioned earlier. In systems analysis. (3) the program(s) required for processing. This type of model exhibits one pair of relationships such as activity-time or cost-quantity. arid computers are invariably open. a completely closed system is rare. It permits interaction across its boundary. A dynamic/model approximates the type of organization or applications that analysts deal with. 11 .Fig 1-4: PERT Example. constantly changing system. Dynamic System Modals. Business organizations are dynamic systems.
no reaction to increase in cost of merchandise makes the business unprofitable which could force it into insolvency-a state of disorganization. the roles of people and machines tend toward greater specialization and greater interaction. and to environmental factors that must be considered before a new system is finally approved. invasion of privacy. systems analysis as an open system tends to expand the scope of analysis to relationships between the user area and other users. In our example. and ethics in computing. Analysts are themselves part of the organization. They have opportunities to adapt the organization to changes through computerized applications so that the system does not "run down. resulting in entropy Or loss of energy. 12 . 2. output. An increase in the cost of goods forces a comparable increase in prices or decrease in operating costs. Equifinality. Entropy. a steady state exists when goods are purchased and sold without being either out of stock or overstocked. Furthermore. being open to suggestions implies that the analyst has to be flexible and the system being designed has to be responsive to the changing needs of the user and the environment. there is more of a consensus on goals than on paths to reach the goals. and cycles.A focus on the characteristics of an open system is particularly timely in the light of present -day business concerns with computer fraud. Five important characteristics of open systems can be identified. 4. for example. This characteristic offers a compelling reason for the increasing value of the concept of systems in the systems analyst's thinking. In business. security controls. The term implies that goals are achieved through differing courses of action and a variety of paths. following a continuous flow path. Open systems produce useful output and operate in cycles. In most systems. In a retail firm." A key to this process is information feed hack from the prime user the new system as well as from top management. Differentiation. All dynamic systems tend to run down over time. This response gives the firm its steady state. Open systems have a tendency toward an increasing specialization of functions and a greater differentiation of their components. 1. Open systems are self-adjusting and self-regulating. an open system reaches a steady state or equilibrium. 5. When functioning properly. Input from outside. Whereas the technical aspects of systems analysis deal with internal routines within the user's application area. Process. Open systems resist entropy by seeking new inputs or modifying the processes to return to a steady state. Understanding system characteristics helps analysts to identify their role and relate their activities to the attainment of the firm's objectives as they undertake a system project. 3.
which relates to long-range planning policies that are of direct interest to upper management. it may he viewed as a decision center for personnel at all levels. Information such as population growth. It determines the nature of the relationships among decision making. The output represents employee performance.The first level is strategic information. memos. it is important to keep in mind that considering an alternative system means improving one or more of these criteria. From this has is. For example. The chart is a map of positions and their authority relationships.Man-Made Information Systems Ideally. decision making.based criteria to produce information and communicate it to the user for planning. Categories of Information. information reduces uncertainty about a state or event. Policies are generalizations that specify what an organization ought to do. trends in financial investment. This structure also allows feedback up the chain of command for follow-up. It is concerned with the pattern of authority. indicated by boxes and connected by straight lines. Policies are translated into directives. and annual financial statements. information that the wind is calm reduces the uncertainty that the boat trip will 1m pleasant. Examples are sales analysis. communication. It provides instructions. In Figure 1-1 input from the environment provides impetus for policy decisions by top management. This type of information is achieved with the aid of decision support systems (DSS). informal. procedures. The second level of information is managerial information. In systems analysis. It is of direct use to middle management and department heads for implementation and control. or reports from top management to the intended user in organization. rules. In fact. cash flow projections. an feedback. each is designed for a purpose and works to accommodate data flow. Formal Information Systems A formal information system is based on the organization represented by the organization chart. control. Many practitioners fail to recognize that a business has several information systems. There are three categories of information related to managerial levels and the decisions managers make . and work flow. and effectiveness. an information system may he defined as a set of devices. Information is formally disseminated in instructions. The major information systems are formal. An information system is the basis for interaction between user and the analyst. and regulations and transmitted to lower-level management for implementation. and performance. commands. and operating systems' designed around user. and human resources changes would be of interest to top company officials who are responsible for developing policies and determining long-range goals. This information is of use in short. communications.and intermediate range planning- 13 . and computer based. control.
Operational information is established by data processing systems (OPS). how it is structured. In contrast. and current stocks available foil sale. 14 . which is short-term. (Fig: 1-5) Fig: 1-5 : Management and Information Levels in a Organization. the level of the information. daily information used to operate departments and enforce the day to-day rules and regulations of the business. The nature of the information and managerial levels is also related to the major types of decision making: structured and unstructured decision making. stable. open.that is. and mechanistic tends to be more structured. the analyst needs to determine the type of information needed. months rather than years. computational. adaptive. Examples are daily employee absence sheets. Therefore. Such decision making is related to lower level management and is readily supported with computer systems. and relies on routine decision making for planning and control. dynamic processes increase the uncertainty associated with decision making and are generally evidenced by a lack of structure in the decision-making process. It is maintained with the aid of management information systems (MIS). An organizational process that is closed. Lack of structure as well as extra organizational and incomplete information makes it difficult to secure computer support. overdue purchase orders. Table 1-1 summarizes the characteristics of decision making and the information required at different managerial levels. This is another reason for having a background in systems theory and organizations. The third information level is operational information. and in what format it is before deciding on the system needed to produce it. in designing an information system.
The computer is now a required source of information. however. It is-an employee based system designed to meet personnel and vocational needs and to help solve. Employee cooperation and participation are crucial in preventing sabotage and training users. As a result. It also funnels information upward through indirect channels.Table 1-1: Information required at various Managerial Levels Informal Information Systems The formal information system is a power structure designed to achieve company goals. a proper interlace with the informal communication channels could mean the difference between the success and failure of new systems. Computer-Based information Systems A third class of information system relies on the computer for handling business applications. knowledge about the inner workings of the employee-based system is useful during the exploratory phase of analysis. and how decisions are made to get a feel for how much support can be expected for prospective installation. an informal information system develops. Systems analysis relies heavily on computers for problem solving. In this respect. Furthermore. the analyst should have knowledge of the chain of command. the power-authority-influence network. work-related problems. In doing a systems study. it is a useful system because it works within the framework of the business and its stated policies. This suggests 15 . An organization's emphasis on control to ensure performance tends to restrict the communication flow among employees. Since computers cannot provide reliable information without user staff support.
Management information must also be available early enough to affect a decision. requires summarized information from a variety of sources to attain goals. data redundancy (duplication) and the time it takes to duplicate data are kept to a minimum.that the analyst must be familiar with computer technology and have experience in handling people in an organizational context. 2. There are several advantages to a data base system: 1. relevant. thus insuring that data are kept current at all times. It is actually a combination of information systems. for whom long-range objectives are the primary concerns. Within MIS. 3. 16 . and timely. In either case. handling inquiries as quickly as they are received. The computer has had a significant impact on the techniques used by management to operate a business. file maintenance and updating. relatively structured control decisions. concise. MIS is a person-machine system and a highly integrated grouping of information-processing functions designed to provide management with a comprehensive picture of specific operations. A key element of MIS is the data base a non redundant collection of interrelated data items that can be processed through application programs and available to many users. complete. Operationally. Storage space duplication is eliminated. Information is accessed through a data base management system (DBMS)' It is a part of the software that handles virtually every activity involving the physical data base. Management Information Systems (MIS). it should operate in real time. Processing time and the number of programs written are substantially reduced. Sharing common data means that many programs can use the same files or records. and one or more data bases linked to an organizational data base.-To do the job. a single transaction can simultaneously update all related data files in the system. management action is based on information that is accurate. The level of the manager in the organization is also a factor in Determining the kind of information needed to solve problem Lower-level management needs detailed internal information to make day-to-day. In so doing. Higher-level management. transaction and inquiry processing. All applications share centralized files. MIS should provide for file definition. All records must be related in some way. MIS has been successful in meeting these information criteria quickly and responsively.
A major problem encountered in MIS design is obtaining the acceptance and support of those who will interface with the system. The support staff finds MIS useful for the special analysis of information and reports to help management in planning and control. The two primary drawbacks of a data base are the cost of specialized personnel and the need to protect sensitive data from unauthorized access.4. Decision Support Systems (DSS) One reason cited in the literature for management's frustration with MIS is the limited support it provides top management for decision making. DSS. Once entered into the system. long-range plans. Another problem is that many installations have data bases that are not in line with user requirements. Data are stored once in the data base and are easily accessible when needed. Finally. The primary users of MIS are middle and top management. 17 . retrieval.and support staff.advances the capabilities of MIS. the information is no longer owned by the initiating user but becomes available to all authorized users. Middle and top management use MIS for preparing forecasts.. Personnel who perceive that their jobs are threatened may resist the implementation of MIS. the analyst faces the challenge of selling change to the right people for a successful installation. It is actually a continually evolving model that relies heavily on operations research. operational managers. the literature has been bursting with controversy. In understanding both technology and human behavior. Since Gorry and Morton coined the term decision support system (DDS) in their seminal article. Operational managers use MIS primarily for short-range planning and periodic and exception reports. Support--requires computer-adided decision situations with enough "structure" to permit computer support. and periodic reports. Today's typical MIS poses several problems. This means that many MIS environments have not been congruent with the real world of the user. Most MIS reports are historical and tend to be dated. not information processing. It assists management in making decisions. Providing data for use in MIS is the function of most levels of personnel in the organization. requests for analysis. The origin of the term is simple: Decision--emphasizes decision making in problem situations. or reporting. special. an inadequate or incomplete update of the data base jeopardizes the reliability for all users.
Fig 1-6 :Decision Making Process Beginning with management decision systems in the early 1970s. or MIS as a subset of DSS. It is a system with the intrinsic capability to support ad hoc data analysis as well as decision-modeling activities. consider how they differ from MIS design. and interactive query capabilities. systems analysts will need to upgrade their knowledge to meet the changing demands of users and organizations alike. DSS . in dealing with "what if" unstructured problem situations. The outcome is a system designed to serve all levels of management. A typical early definition required an interactive computer-based system to help users use data and models to solve unstructured problems. and decision environment. The commonly accepted view in the literature views DSS as a second-generation MIS. the concept of interactive computer based systems supporting unstructured decision making has been expanded to include everything but transaction processing systems. suggesting a combined "man. report generation. The field of DSS is young and evolving. MIS is generated when we add predefined managerial reports that are spun out of the transaction processing. There are authors today who view DSS as an extension of MIS. and learns more about the methodology needed to provide a proper fit between DSS as a future-oriented system and management requirements for various levels of decision making. DSS as independent of MIS. capabilities. their attributes. and top management in particular. Since DSS appears to be the wave of the future (evidenced by the surge of DSS software packages and the technology that supports them).System--accentuates the integrated nature of problem solving." machine.results from adding external data sources. 18 . The analyst's present role is to look at existing DSS packages. and design considerations. and online inquiry capabilities-all integrated with a given functions area such as production MIS or personnel MIS. accounting and statistical models.
virtually all firms process transactions as a major part of their daily business activities. However. A DSS can provide intelligence through information retrieval and statistical packages. A transaction is any event or activity that affects the organization. it requires a closer look at the problem and a thorough evaluation of the variables and their relationships. DSS plays a major role in decision design under uncertainty. hiring employees. computer-based deterministic or stochastic models may be used for decision design. the set of procedures for handling the transactions. The resulting decision is then directed as solving the problem. For example. billing customers. the better is the likelihood of designing a good decision. The types of transactions that occur vary from organization to organization. The intelligence phase of decision making involves the awareness of a problem at symptomatic level. Transaction processing. During this phase. and depositing checks. has an inadequate police force. but the actual cause of the problem turns out to be that the state discontinued auto inspections. Common transactions include placing orders. often includes these activities: Calculation Storage and retrieval Classification Summarization Sorting 19 . the symptom of a problem is a large number of auto accidents. The output of the model(s) is the basis for the choice phase of decision making. The design phase of decision making focuses on the evaluation of decision alternatives. Transaction Processing Systems The most fundamental computer-based system in an organization pertains to the processing of business transactions.Herbert Simon described decision making as a three phases continuous process model beginning with intelligence and moving toward design choice. lowered the minimum drinking age. The more intelligence management has about the cause of a problem. or a combination of all these factors. The process is invoked by the recognition of a problem. Transaction processing systems (TPS) are aimed at improving the routine business activities on which all organizations depend. The most successful firms carry out this work in an orderly and efficient manner.
3. The procedures for processing the transaction are well understood and can be described in detail. Dispense money. Few exceptions to the normal procedures occur. Enter password. Record transaction in ledger. The routines associated with general banking transactions typify the use of standard operating procedures for the handling of deposits and withdrawals. when customers make withdrawals at automated teller machines. Verify that amount is within limits set by the bank. the software used to operate the system ensures that the proper procedure is followed: CUSTOMERACTIVITY Enter account number. Transaction processing procedures are often called standard operating procedures. SYSTEM ACTIVITY Verify that account number is acceptable. These characteristics allow routines to be established for handling the transactions. Similarly. what steps to take and procedures to follow. Verify that password is valid for account. Enter withdrawal amount. The routines describe what to look for in each transaction. 4. and what to do when exceptions occur.Studying a sample of organizations will show that similar characteristics exist in each firm: 1. 20 . Each transaction is similar. Verify that amount is within account balance. Automated teller systems allow the teller to use a computer terminal to enter details of the transaction while the customer is at the bank window. The procedures are built into the computer software that runs the system. 2. and other processes. cashing of checks. There is a high volume of transactions.
(This is as true for small organizations as it is for large firms. and storage and presentation of data and information. Prepare for next transaction. and can be programmed to follow routines without any variance. as well as the ability for managers to develop specific procedures for handling them. The high volume of well-understood transactions associated with the operating level of an organization.Issue receipt for transaction. Systems analysts design the systems and the processes to handle activities such as the banking activities discussed in this example. Remove receipt and money. Transaction processing systems provide speed and accuracy.) The procedures are embedded in computer programs that control the entry of data. This activity will be repeated many times in a single day at most automated teller machines. often leads to the implementation of computer assistance. Most firms begin to seek computer assistance because of the need to develop more effective and efficient ways to process transaction data. processing of details. 21 .
IT projects may be initiated as a result of business process improvement activities.GENERAL PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE The systems development life cycle (SDLC) is a conceptual model used in system development that describes the stages involved in an information system development project. from an initial feasibility study through maintenance of the completed application. The purposes of the Initiation Phase are to: Identify and validate an opportunity to improve business accomplishments of the organization or a deficiency related to a business need. or 22 . Phases are 1 2 3 4 5 6 7 8 9 Initiation Phase System Concept Development Phase Planning Phase Requirements Analysis Phase Design Phase Development Phase Integration and Test Phase Implementation Phase Operations and Maintenance Phase 1 Initiation Phase The Initiation Phase begins when management determines that it is necessary to enhance a business process through the application of information technology. Identify significant assumptions and constraints on solutions to that need. and Recommend the exploration of alternative concepts and methods to satisfy the need. advances in information technology. SDLC is the Nine Phases Process. changes in business functions.
the general public or state/local agencies.requiring the hiring and reassignment of many technical and business specialists. For small efforts.may arise from external sources. 1. During this phase. Identify the Opportunity to Improve Business Functions Identify why a business process is necessary and what business benefits can be expected by implementing this improvement. 3. the Project Manager documents these opportunities in the Concept Proposal. 23 . Each project shall have an individual designated to lead the effort. and availability to lead the project. A business scenario and context must be established in which a business problem is clearly expressed in purely business terms. For new. or product. Identify a Project Sponsor The Project Sponsor is the principle authority on matters regarding the expression of business needs. tool. TASKS AND ACTIVITIES The following activities are performed as part of the Initiation Phase. experience. a Project Manager is appointed who prepares a Statement of Need or Concept Proposal. issues and customer service opportunities that can be realized through improvements to business processes with the potential support of IT. The Project Sponsor articulates this need within the organization to initiate the project life cycle. scope and domain of business requirement. major projects. 2. credibility. the agency should designate a responsible organization and assign that organization sufficient resource to execute the project. this may only involve assigning a project to a manager within an existing organization that already has an inherent support structure. Clearly defined authority and responsibility must be provided to the Project Manager. such as public law. When an opportunity to improve business/mission accomplishments or to address a deficiency is identified. Form (or appoint) a Project Organization This activity involves the appointment of a project manager who carries both the responsibility and accountability for project execution. The results of these activities are captured in the Concept Proposal. For every IT project. This background information must not offer or predetermine any specific automated solution. The individual selected will have appropriate skills. and the mediation of issues regarding the priority. Provide background information at a level of detail sufficient to familiarize senior managers to the history. the interpretation of functional requirements language. a completely new organizational element may be formed .
The review and approval of the Concept Proposal begins the formal studies and analysis of the need in the System Concept Development Phase and begins the life cycle of an identifiable project. and scheduled availability. Study and Analyze the Business Need The project team. ROLES AND RESPONSIBILITIES Project Manager. The appointed project manager is charged with leading the efforts to ensure that all business aspects of the process improvement effort are identified in the Concept Proposal. and commercial alternatives to meeting the business need. The results of these studies should show a range of feasible alternatives based on life cycle cost. 2. System Concept Development Phase System Concept Development begins when the Concept Proposal has been formally approved and requires study and analysis that may lead to system development activities. 24 . technical capability. Typically. should analyze all feasible technical. 5. 2. and performance measures which are summarized in the System Boundary Document. cost. desirable solutions that should proceed into the subsequent life cycle phases. This includes establishing detailed project plans and schedules.4. these studies should narrow the system technical approaches to only a few potential. if needed. 1. These alternatives should then be analyzed from a life cycle cost perspective. Document the Phase Efforts The results of the phase efforts are documented in the Concept Proposal. business process. Plan the Project The project team should develop high-level (baseline) schedule. supplemented by enterprise architecture or other technical experts. Review and Approval to Proceed The approval of the Concept Proposal identifies the end of the Initiation Phase. These high-level estimates are further refined in subsequent phases.
such as reuse or Commercial Offthe-Shelf and potential contract types. (2) the plans for the next life-cycle phase. The results of the review should be documented reflecting the decision on the recommended action. Cost Benefit Analysis. 25 . or (3) terminate the project. Form the Project Acquisition Strategy The acquisition strategy should be included in the SBD. The project team should determine the strategies to be used during the remainder of the project concurrently with the development of the CBA and Feasibility Study. submit requests for. Obtain Project Funding. and obtain resources to execute the project in the format of the Capital Asset Plan and Justification. The risks associated with further development should also be studied. Will the work be accomplished with available staff or do contractors need to be hired? Discuss available and projected technologies. (2) continue additional conceptual phase activities. 7. The review also addresses the availability of resources to execute the subsequent life-cycle phases. and Risk Management Plan. justify. Document the Phase Efforts The results of the phase efforts are documented in the System Boundary Document. Staff and Resources Estimate. The results of these assessments should be summarized in the SBD and documented in the Risk Management Plan and CBA. The Project Manager is also responsible for reviewing the deliverables for accuracy. Feasibility Study. approving deliverables and providing status reports to management. 4. The emphasis of the review should be on (1) the successful accomplishment of the phase objectives. Study and Analyze the Risks Identify any programmatic or technical risks. and (3) the risks associated with moving into the next life-cycle phase. 6. 5.3. Review and Approval to Proceed The results of the phase efforts are presented to project stakeholders and decision makers together with a recommendation to (1) proceed into the next lifecycle phase. ROLES AND RESPONSIBILITIES Project Manager: The appointed project manager is charged with leading the efforts to accomplish the System Concept Development Phase tasks discussed above.
up-front acquisition planning is essential. the created plans are then reviewed and updated throughout the remaining SDLC phases. In this case. Develop a detailed schedule for the Requirements Analysis Phase and subsequent phases. and reviews are defined. In the Planning Phase.Component. one strategy option would include active participation of system contractors in the Requirements Analysis Phase. If contractors will be used to complete the required documents. TASKS AND ACTIVITIES The following tasks are performed as part of the Planning Phase. To ensure the products and/or services provide the required capability on-time and within budget. taking into account risks and resource availability. Refine Acquisition Strategy in System Boundary Document Refine the role of system development contractors during the subsequent phases. Approval allows the project to enter the Planning Phase. the Planning Phase must include complete planning. The results of these activities are captured in various project plans and solicitation documents. 3 Planning Phase Many of the plans essential to the success of the entire project are created in this phase. and source selection of the participating contractors (awarding the actual contract may be the first activity of the next phase). project resources. Additionally. security certification and accreditation activities begin with identification of system security requirements and the completion of a high-level vulnerability assessment. 2. schedules. For example. 26 . activities. solicitation preparation. 1. the concept is further developed to describe how the business will operate once the approved system is implemented and to assess how the system will impact employee and customer privacy. Chief Information Officer (CIO) and Executive Review Board (ERB): The CIO/ERB approves the Systems Boundary Document. tools. Analyze Project Schedule Analyze and refine the project schedule.
Select Technical Review Board members and document roles and responsibilities. solicit and award support contracts to provide needed non-personal services that are not available through agency resources. Confirm the continued validity of the need (SBD). These organizations may include agency and DOJ oversight offices. etc). 5. and agency resource providers (people. articulate. and gain approval of the strategy to execute the technical management aspects of the project (SEMP).. articulate and gain approval of the strategy to execute the management aspects of the project (Project Management Plan). quality assurance. engineering. Develop the Project Management Plan Plan. changes control). 6. office equipment. and contract management internal processes that will be used by the project office for all subsequent life-cycle phases. configuration management. Develop the Systems Engineering Management Plan Plan. and gain approval for the resulting processes. and/or adopt the internal management. 8. Develop a detailed system work breakdown structure. adapt. gather. space. Review Feasibility of System Alternatives Review and validate the feasibility of the system alternatives developed during the previous phase (CBA. agency personnel offices. communications. 9. business management.g. Feasibility Study). Staff Project Office Further staff the project office with needed skills across the broad range of technical and business disciplines. 4. Establish Agreements with Stakeholders Establish relationships and agreements with internal and external organizations that will be involved with the project. If needed. Plan. (e. Create Internal Processes Create. internal and external audit organizations. 7. articulate. Develop a detailed project work breakdown structure. This could result in the establishment of teams or working groups for specific tasks. Study and Analyze Security Implications 27 .3. agency finance offices.
11. Selection and Award During this phase or subsequent phases. Obtain approvals to contract from appropriate authorities (Acquisition Plan). selection and award of contracted efforts based on the selected strategies in the SBD. The project manager is responsible and accountable for the successful execution of the Planning Phase. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.Study and analyze the security implications of the technical alternatives and ensure the alternatives address all aspects or constraints imposed by security requirements (System Security Plan). The project manager is also responsible for reviewing deliverables for accuracy. 12. judgments. including the IRM office. Revise Previous Documentation Review previous phase documents and update if necessary. Agency oversight activities. approving deliverables. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. Project Team. Additionally. 10. and recommendations to the agency decision makers during project reviews and in support of project decision milestones. oversight activities provide information. operated. ROLES AND RESPONSIBILITIES Project Manager. execute the solicitation and selection of support and system contractors for the subsequent phases. provide advice and counsel to the project manager on the conduct and requirements of the planning effort. and maintained. Plan the Solicitation. As appropriate. plan the solicitation. as required by the Federal Acquisition Regulation (FAR). and providing status reports to management. Develop the CONOPS Based on the system alternatives and with inputs from the end-user community. This is the Concept of Operations. 28 . Oversight Activities. develop the concepts of how the system will be used. The project manager is responsible for leading the team that accomplishes the tasks shown above. Contracting Officer.
Requirements Analysis Phase
The Requirements Analysis Phase will begin when the previous phase documentation has been approved or by management direction. Documentation related to user requirements from the Planning Phase shall be used as the basis for further user needs analysis and the development of detailed user requirements. The analysis may reveal new insights into the overall information systems requirements, and, in such instances, all deliverables should be revised to reflect this analysis. During the Requirements Analysis Phase, the system shall be defined in more detail with regard to system inputs, processes, outputs, and interfaces. This definition process occurs at the functional level. The system shall be described in terms of the functions to be performed, not in terms of computer programs, files, and data streams. The emphasis in this phase is on determining what functions must be performed rather than how to perform those functions. TASKS AND ACTIVITIES The following tasks are performed during the Requirements Analysis Phase. 1 Analyze and Document Requirements. Include all possible requirements including those for: functional and capability specifications, including performance, physical characteristics, and environmental conditions under which the software item is to perform; interfaces external to the software item; qualification requirements safety specifications, including those related to methods of operation and maintenance, environmental influences, and personnel injury; security specifications, including those related to compromise of sensitive information human-factors engineering (ergonomics), including those related to manual operations, human-equipment interactions, constraints on personnel, and areas needed concentrated human attention, that are sensitive to human errors and training data definition and database requirements; installation and acceptance requirements of the delivered software product at the operation and maintenance site(s) user documentation user operation and execution requirements user maintenance requirements
Develop Test Criteria and Plans
Establish the test criteria and begin test planning. Include all areas where testing will take place and who is responsible for the testing. Identify the testing environment, what tests will be performed, test procedures; and traceability back to the requirements. 3 Develop an Interface Control Document
The project team responsible for the development of this system needs to articulate the other systems (if any) this system will interface with. Identify any interfaces and the exchange of data or functionality that occurs. All areas that connect need to be documented for security as well as information flow purposes. 4 Conduct Functional Review
The Functional and Data Requirements Review is conducted in the Requirements Analysis Phase by the technical review board. 5 Revise Previous Documentation
Review and update previous phase documentation if necessary before moving to the next phase. ROLES AND RESPONSIBILITIES Project Manager. The project manager is responsible and accountable for the successful execution of the Requirements Analysis Phase. The project manager is responsible for leading the team that accomplishes the tasks shown above. The Project Manager is also responsible for reviewing deliverables for accuracy, approving deliverables and providing status reports to managers. Technical Review Board. Formally established board that examines the functional requirements documented in the FRD for accuracy, completeness, clarity, attainability, and traceability to the high-level requirements identified in the Concept of Operations. Project Team.
The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.
The objective of the Design Phase is to transform the detailed, defined requirements into complete, detailed specifications for the system to guide the work of the Development Phase. The decisions made in this phase address, in detail, how the system will meet the defined functional, physical, interface, and data requirements. Design Phase activities may be conducted in an iterative fashion, producing first a general system design that emphasizes the functional features of the system, then a more detailed system design that expands the general design by providing all the technical detail. TASKS AND ACTIVITIES The following tasks are performed during the Design Phase. 1 Establish the Application Environment
Identify/specify the target, the development and the design and testing environment. How and where will the application reside. Describe the architecture where this application will be developed and tested and who is responsible for this activity. 2 Design the Application
In the system design, first the general system characteristics are defined. The data storage and access for the database layer need to be designed. The user interface at the desktop layer needs to be designed. The business rules layer or the application logic needs to be designed. Establish a top-level architecture of the system and document it. The architecture shall identify items of hardware, software, and manual-operations. All the system requirements should be allocated among the hardware configuration items, software configuration items, and manual operations. Transform the requirements for the software item into an architecture that describes its top-level structure and identifies the software components. Ensure that all the requirements for the software item are allocated to its software
security. 8 Conduct a Security Risk Assessment Conduct a security risk assessment by addressing the following components: assets. likelihood. identifies threats and vulnerabilities. plans need to be designed for those purposes.components and further refined to facilitate detailed design. 9 Conduct Critical Design Review The Project Manager and System Proponent conduct the critical design review and approve/disapprove the project into the Development Phase. 6 Design Human Performance Support (Training) Identify the users and how they will be trained on the new system. 7 Design Conversion/Migration/Transition Strategies If current information needs to be converted/migrated/transitioned to the new system. threats. 5 Conduct Preliminary Design Review This is an ongoing interim review of the system design as it evolves through the Design Phase. consequences and safeguards. 4 Develop Operations Manual Develop the Operations Manual for mainframe systems/applications and the System Administration Manual for client/server systems/applications. This review is conducted at the end of the Design Phase and verifies that the final 32 . and technical requirements in the Functional Requirements Document. This review determines whether the initial design concept is consistent with the overall architecture and satisfies the functional. 3 Develop Maintenance Manual Develop the maintenance manual to ensure continued operation of the system once it is completed. The risk assessment evaluates compliance with baseline security requirements. Be sure to address the Americans with Disabilities Act (ADA) requirements to ensure equal access to all individuals. and assesses alternatives for mitigating or accepting residual risks. vulnerabilities. Develop and document a top-level design for the interfaces external to the software item and between the software components of the software item. especially if converting means re-engineering existing processes.
33 . and technical requirements and is consistent with the overall architecture. this phase also puts in place the hardware. The contracting officer is responsible and accountable for procurement activities and signs contract awards. Agency oversight activities. oversight activities provide information. judgments. security. Although much of the activity in the Development Phase addresses the computer programs that make up the system. Contracting Officer. ROLES AND RESPONSIBILITIES Project Manager.system design adequately addresses all functional. The project manager is responsible for leading the team that accomplishes the tasks shown above. The project manager is responsible and accountable for the successful execution of the Design Phase. and communications environment for the system and other important elements of the overall system. provide advice and counsel to the project manager on the conduct and requirements of the Design Phase. The updates should by signed off by the Project Manager. 6 Development Phase The objective of the Development Phase will be to convert the deliverables of the Design Phase into a complete information system. 10 Revise Previous Documentation Review documents from the previous phases and assess the need to revise them during the Design Phase. and recommendations to the agency decision makers during project reviews and in support of project decision milestones. approving deliverables and providing status reports to management. Additionally. Oversight Activities. software. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. Project Team. The Project Manager is also responsible for reviewing deliverables for accuracy. including the IRM office.
testing the system. the system will be ready for the activities of the Integration and Test Phase. The aggregates shall be tested. 34 . and other systems as necessary. Ensure that each module satisfies the requirements of the software at the conclusion of the integration activity. manual operations.The activities of this phase translate the system design produced in the Design Phase into a working information system capable of addressing the information system requirements. 3 Conduct Software Qualification Testing. into the system. The development phase contains activities for building the system. to ensure the system functional processes satisfy the functional process requirements in the Functional Requirements Document (FRD). TASKS AND ACTIVITIES 1 Code and Test Software Code each module according to established standards. 2 Integrate Software Integrate the software units. 5 Conduct System Qualification Testing. Support audit(s) which could be conducted to ensure that: As-coded software products (such as software item) reflect the design documentation The acceptance review and testing requirements prescribed by the documentation are adequate for the acceptance of the software products Test data comply with the specification Software products were successfully tested and meet their specifications Test reports are correct and discrepancies between actual and expected results have been resolved User documentation complies with standards as specified 4 Integrate System Integrate the software configuration items with hardware configuration items. components and modules. Ensure that the implementation of each software requirement is tested for compliance. as they are developed. Integrate the software units and software components and test in accordance with the integration plan. against their requirements. and conducting functional qualification testing. Conduct qualification testing in accordance with the qualification requirements for the software item. At the end of this phase.
6 Install Software Install the software product in the target environment as designed and in accordance with the Installation Plan. The results of the acceptance review and testing shall be documented. Additionally. and System Qualification Testing (if performed). The contracting officer is responsible and accountable for the procurement activities and signs contract awards. including the IRM office. 35 .Conduct system qualification testing in accordance with the qualification requirements specified for the system. provide advice and counsel to the project manager on the conduct and requirements of the Development Phase. The Project Manager is also responsible for reviewing deliverables for accuracy. Agency oversight activities. oversight activities provide information. approving deliverables and providing status reports to management. The project Manager is responsible for leading the team that accomplishes the tasks shown above. Software Qualification Testing. Audits. 8 Revise Previous Documentation Review and update previous phase documentation. Oversight Activities. The resources and information necessary to install the software product shall be determined and be available. Acceptance review and testing shall consider the results of the Joint Reviews. The project Manager is responsible and accountable for the successful execution of the Development Phase. 7 Document Software Acceptance Support. ROLES AND RESPONSIBILITIES Project Manager. as needed. Contracting Officer. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. Project Team.
2 Conduct Integration Tests The test and evaluation team is responsible for creating/loading the test database(s) and executing the integration test(s). 1 Establish the Test Environment Establish the various test teams and ensure the test system(s) are ready. Developer. The developer is responsible for the development activities to include coding. and recommendations to the agency decision makers during project reviews and in support of project decision milestones. documenting and delivering the completed system. Next. Several types of tests will be conducted in this phase. First.judgments. 3 Conduct Subsystem/System Testing The test and evaluation team is responsible for creating/loading the test database(s) and executing the system test(s). 7 Integration and Test Phase The objective of this phase is to prove that the developed system satisfies the requirements defined in the FRD. 4 Conduct Security Testing 36 . testing. users participate in acceptance testing to confirm that the developed system meets all user requirements as stated in the FRD. the testing team conducts and evaluates system tests to ensure the developed system meets all technical requirements. Next. subsystem integration tests shall be executed and evaluated by the development team to prove that the program components integrate properly into the subsystems and that the subsystems integrate properly into an application. Acceptance testing shall be done in a simulated “real” user environment with the users using simulated or real target platforms and infrastructures. the testing team and the Security Program Manager conduct security tests to validate that the access and data security requirements are met. including performance requirements. TASKS AND ACTIVITIES The tasks and activities actually performed depend on the nature of the project. Finally.
judgments. similar to those above. and passed components will migrate ahead for implementation. The contracting officer is responsible and accountable for the procurement activities and signs contract awards. Failed components will be migrated back to the development phase for rework. the Systems Technical Lead or the Developers will finalize the Software Development Document from the Development Phase. Additionally. 5 Conduct Acceptance Testing The test and evaluation team will create/load the test database(s) and execute the acceptance test(s). All tests will be documented. The project manager is responsible for leading the team that accomplishes the tasks shown above. 6 Revise previous documentation During this phase. 37 . and recommendations to the agency decision makers during project reviews and in support of project decision milestones. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. Project Team. The Project Manager is also responsible for reviewing deliverables for accuracy. provide advice and counsel for the project manager on the conduct and requirements of the Integration and Test Phase. Oversight Activities. The project manager is responsible and accountable for the successful execution of the Integration and Test Phase. oversight activities provide information. This includes establishing the test environment. approving deliverables and providing status reports to management. All tests will be documented.The test and evaluation team will again create or load the test database(s) and execute security (penetration) test(s). ROLES AND RESPONSIBILITIES Project Manager. including the IRM office. similar to those above. Agency oversight activities. Contracting Officer.
all aspects of the implementation phase should be followed. including contact names and phone numbers. the difference between the old and new system. Regardless of the type of system. and voice tree messages. Users participate in acceptance testing to ensure systems perform as expected. Additionally. Activities in this phase include notification of implementation to end users. The phase is initiated after the system has been tested and accepted by the user and Project Manager. replacement of a legacy system. Because there has been a previously designed 38 . execution of the previously defined training plan.A description of these tasks and activities is provided below. a brief synopsis of the benefits of the new system. TASKS AND ACTIVITIES . or upgrade to an existing system.User. data entry or conversion. and The process to obtain system support. it is good policy to make internal organizations not directly affected by the implementation aware of the schedule so that allowances can be made for a disruption in the normal activities of that section. 2 Execute training plan It is always a good business practice to provide training before the end user uses the new system. The notice should include: The schedule of the implementation. The new system can fall into three categories. Some notification methods are email. and post implementation review. This will ensure the smoothest possible transition to the organization’s desired goal. replacement of a manual process. 1 Notify users of new implementation The implementation notice should be sent to all users and organizations affected by the implementation. the system or system modifications are installed and made operational in a production environment. This phase continues until the system is operating in production in accordance with the defined user requirements. internal memo to heads of departments. 8 Implementation Phase In this phase. responsibilities of end user affected by the implementation during this phase.
Good budgeting should prevent this from happening. System Software and the Integration Document are also revised and finalized during the Implementation Phase. data input and data verification. the ICD is revised from the Requirements Analysis Phase. 3 Perform data entry or conversion With the implementation of any system. This data can be in a manual or an automated form. 6 Revise previous documentation During this phase. Security Risk Assessment. The CONOPS. the execution of the plan should be relatively simple. The project manager is responsible for leading the team that accomplishes the tasks shown above. Regardless of the format of the data. typically there is old data which is to be included in the new system. The project manager is responsible and accountable for the successful execution of the Implementation Phase. Typically what prevents a plan from being implemented is lack of funding. The purpose of this review is to document implementation experiences to recommend system enhancements and provide guidance for future projects. Software Development Document. 4 Install System To ensure that the system is fully operational. 5 Conduct post-implementation review After the system has been fielded a post-implementation review is conducted to determine the success of the project through it’s implementation phase. The project manager is also responsible for reviewing deliverables for accuracy. Project Team. the tasks in this section are two fold. install the system in a production environment. complete with the system user manual. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. ROLES AND RESPONSIBILITIES Project Manager. System Security Plan. approving deliverables and providing status reports to management.training plan established. 39 .
Additionally. 9 Operations and Maintenance Phase More than half of the life cycle costs are attributed to the operations and maintenance of systems. contingency). Implement non-emergency requests during scheduled Outages. The contracting officer is responsible and accountable for the procurement activities and signs contract awards. provide advice and counsel for the project manager on the conduct and requirements of the Implementation Phase. Agency oversight activities. oversight activities provide information. judgments. paper. The system is being used and scrutinized to ensure that it meets the needs initially stated in the planning phase. 40 . including the IRM office. new code to be developed and/or hardware configuration changes. as operations and maintenance personnel monitor the current system they may become aware of better ways to improve the system and therefore make recommendations. as prescribed in the Operations Manual. These processes should comply with the system documentation. The emphasis of this phase will be to ensure that the users needs are met and the system continues to perform as specified in the operational environment. Additionally. New users will require training and others will require training as well. Oversight Activities. possibly add features and make improvements to the system. Providing user support is an ongoing activity. This phase will continue as long as the system is in use. Changes will be required to fix problems.e. Perform backups (day-to-day protection. manual and automated. TASKS AND ACTIVITIES 1 Identify Systems Operations Ensure that systems and networks are running and available during the defined hours of Operations. tapes. toner. Acquisition and storage of supplies (i. Problems are detected and new needs arise. This may require modification to existing code. Ensure all processes. it is essential that all facets of operations and maintenance are performed.Contracting Officer. In this phase. and recommendations to the agency decision makers during project reviews and in support of project decision milestones. are documented in the operating procedures. removable disk).
Performing configuration/design audits to ensure software. order and type of operations. Personnel have proper security clearances and proper access privileges etc.Perform the physical security functions including ensuring adequate UPS. checking and corrections). can be designed and distributed to obtain feedback on operational systems to help determine if the systems are accurate and reliable. For small in-house systems. Users need an avenue to suggest change and identified problems. and objects (usually shown in diagrams). Developing and performing data / data base backup and recovery routines for data integrity and recoverability. modification requests may be addressed in the Requirements document and may take the form of a change package or a formal Change Implementation Notice (Appendix C-32) and may require justification and 41 . Ensure documented properly in the Operations Manual. For large integrated systems. architecture and streamlining processes. upgrading and maintaining data base(s). Maintain performance measurements. Ensure contingency planning for disaster recovery is current and tested . configuring. report the results and escalate problems when they occur. Monitor the performance statistics. data flows. Installing. Interfacing with other functional areas for Day-to-day checking / corrections. Ensure users are trained on current processes and new processes. Examples of performance measures include volume and frequency of data to be processed in each mode. statistics. Performing production control and quality control functions (Job submission. system. and system logs. Developing and maintaining a performance and tuning plan for online process and data bases. This includes updating processes. parameter configuration are correct. 3 Identify Problem and Modification Process One fact of life with any system is that change is inevitable. Systems administrators and operators need to be able to make recommendations for upgrade of hardware. Ensure that service level objectives are kept accurate and are monitored. 2 Maintain Data / Software Administration A checklist of Data / Software Administration tasks and activities are: Performing a periodic Verification / Validation of data. A User Satisfaction Review (Appendix C-37 ) which can include a Customer Satisfaction Survey. modification requests can be handled by an in-house process.. correct data related problems.
Personnel which proved technical support to the program. A request for modifications to a system may also generate a new project and require a new project initiation plan. Also modifications may be needed to provide new capabilities or to take advantage of hardware upgrades or new releases of system software and application software used to operate the system. Daily maintenance activities for the system. To provide for an avenue of problem reporting and customer satisfaction. Systems Manager. the Systems Manager should create and discuss communications instructions with the systems customers. Technical support personnel may be involved with issuing user ids or login names and passwords.cost benefits analysis for approval by a review board. Setup of workstations or terminals to access the system. 5 Revise Previous Documentation At this phase of the SDLC all security activities have been completed. Maintaining the operating system for both server and workstation. Maintenance personnel may determine that modifications to the system and databases are needed to resolve errors or performance problems. Technical Support. In a Client server 42 . New capabilities may take the form of routine maintenance or may constitute enhancements to the system or database as a response to user requests for new/improved capabilities. takes place to ensure that any previously undetected errors are fixed. 4 Maintain System / Software Daily operations of the system /software may necessitate that maintenance personnel identify potential modifications needed to ensure that the system continues to operate as intended and produces quality data. The Systems Manager develops documents and executes plans and procedures for conducting activities and tasks of the Maintenance Process. This support may involve granting access rights to the program. The Requirements document for the project may call for a modification cut-off and rollout of the system as a first version and all subsequent changes addressed as a new or enhanced version of the system. New capabilities needs may begin a new problem modification process described above. ROLES AND RESPONSIBILITIES This list briefly outlines some of the roles and responsibilities for key maintenance personnel.
Program Analysts or Programmer. Operators may be involved with issuing user ids or login names and passwords for the system. In particular. Users Group or Team. Customers may feel that change will be slow or disruptive. and security issues. backup etc). User changes. 43 . communications. The proposed system is designed.environment technical support may perform systems scheduled backups and operating system maintenance during downtime. Some users live with a situation or problem because they feel they must. operating systems. Some feel the need to create work-around. The customer needs to be able to share with the systems manager the need for improvements or the existence of problems. This can be done by interviewing users of the system and consulting with support personnel. The operator performs scheduled backup. start tasks. enhancements may be discussed in Joint Application Design sessions. debugs the program and tests program design. Analysts programs for errors. share programs and can provide expert knowledge for a system under consideration for change. Plans are laid out concerning the physical construction. The existing system is evaluated. hardware. 2. performs maintenance during downtime and is responsible to ensure the system is online and available for users. the deficiencies in the existing system must be addressed with specific proposals for improvement. an SDLC methodology follows the following steps: 1. They usually meet to exchange information. In general. The new system requirements are defined. 3. Customers. improvements. Deficiencies are identified. Interprets user requirements. programming. A customer has the responsibility to report problems or make recommendations for changes to a system. A group of computer users who share knowledge they have gained concerning a program or system. technical support for a program is provided by an operator. For many mainframe systems. Operations or Operators (Turn on/off systems. designs and writes the code for specialized programs.
4. System/Information Engineering and Modeling 3. 6. it may be more cost-effective to shut down the old system and implement the new system all at once. The system is put into use. Once the new system is up and running for a while. System Development Life Cycle Models (SDLC Models) 1. according to application or location. The new system is developed. and all aspects of performance must be tested. adjustments must be made at this stage. The new components and programs must be obtained and installed. The new system can phased in. Code Generation 6. and the old system gradually replaced. Systems Analysis and Design 5. 5. In some cases. Maintenance must be kept up rigorously at all times. 1. Maintenance 44 . Users of the system must be trained in its use. If necessary. This can be done in various ways. Users of the system should be kept up-to-date concerning the latest modifications and procedures. Waterfall Model or Classic Life Cycle Model (or) Linear Sequential Model: This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or) Waterfall Method. This has the following activities. Software Requirements Analysis 4. Testing 7. Feasibility 2. it should be exhaustively evaluated.
people and other resources. If the project is to proceed then a project plan and budget estimate for the other stages of development will be produced. System is the basic and very critical requirement for the existence of software in any entity.Feasibility The feasibility study determines whether a particular development project should go ahead. to extract the maximum output. the development team studies the software requirement for the system. In some cases. So if the system is not in place. This system view is essential when software must interface with other elements such as hardware. Once the ideal system is engineered or tuned. the system should be re-engineered and spruced up. System/Information Engineering and Modeling As software is always of a large system (or business). Figure 1: The Waterfall Model of Software Development 45 . the system should be engineered and put in place. work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software.
and Java are used for coding. Different high level programming languages like C. System Analysis and Design In this phase. the database design. and Debuggers are used to generate the code. It also includes the personnel assignments. the software program testing begins. behavior. Code Generation The design must be translated into a machine-readable form. With respect to the type of application. the number of tiers needed for the package architecture. A software development model is created. C++. and target dates. project schedule. code generation can be accomplished without much complication. the development team visits the customer and studies their system. Interpreters. the team furnishes a document that holds the different specific recommendations for the candidate system. The code generation step performs this task. as well as required function. Different testing methodologies are available to unravel the bugs that were committed during the previous phases. performance and interfacing. Analysis and Design are very crucial in the whole development cycle.Software Requirement Analysis This is also known as feasibility study. Much care is taken during this phase. The logical system of the product is developed in this phase. Different testing tools and methodologies are already available. If the design is performed in a detailed manner. By the end of the feasibility study. the software development process. costs. Programming tools like Compilers. the software's overall structure and its nuances are defined. They investigate the need for possible software automation in the given system. Testing Once the code is generated. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. the data structure design etc are all defined in this phase. Pascal. The essential purpose of this phase is to find the need and to define the problem that needs to be solved. In terms of the client/server technology. the system engineer ("analyst") must understand the information domain for the software. the right programming language is chosen. 46 . Some companies build their own testing tools that are tailor made for their own development operations. The requirements gathering process is intensified and focused specially on software. To understand the nature of the program(s) to be built. In this phase.
Maintenance Software will definitely undergo change once it is delivered to the customer. After a finite number of iterations. The software should be developed to accommodate changes that could happen during the post implementation period. Spiral Model: The spiral model. Once the prototype is created. the changes in the system could directly affect the software operations. Using the spiral model. Most of the successful software products have been developed using this model . 6lYPically. A spiral model is divided into a number of framework activities. There are many reasons for the change. the development process gets started. increasingly more complete versions of the engineered system are produced. This is the most popular development model in the contemporary IT industry. Figure 2. During early iterations. In addition. The customer tests the package and gives his/her feed back to the developer who refines the product according to the customer's exact expectation. the final software package is given to the customer. the incremental release might be a paper model or prototype. In this model. During later iterations. there are between three and six task regions. original1y proposed by Boehm is an evolutionary software process model that couples the iterative nature of proto typing with the controlled and systematic aspects of the linear sequential model. Customer communication-tasks required to establish effective communication between developer and customer. 2. There are many variations of this model skewed with respect to the project management styles of the companies. also called task regions. software is developed in a series of incremental releases. Change could happen because of some unexpected input values into the system.as it is very difficult (even for a whiz kid!) to comprehend all the requirements of a customer in one shot. it is given to the customer for evaluation. In this methodology. the software is evolved as a result of periodic shuttling of information between the customer and developer. New versions of a software product evolve as a result of prototyping. 47 .8 depicts a spiral model that contains six task regions: . Prototyping Model: This is a cyclic version of the linear model. 3. It provides the potential for rapid development of incremental versions of the software. once the requirement analysis is done and the design for a prototype is made.
the number of work tasks and their formality is low.. also shown in Figure. subsequent passes around the spiral might be used to develop prototype andthen progressively more sophisticated versions of the software. . timelines. As this evolutionary process begins. Construction and release-tasks required to construct. each task region contains more work tasks that are defined to achieve a higher level of formality. beginning at the center. Each pass through the planning region results in adjustments to the project plan. the spiral model can be adapted to apply throughout the life of the computer software. more critical projects. . documentation and training). install. the project manager adjusts the planned number of iterations required to complete the software.g. For small projects. Planning-tasks required defining resources. Customer evaluation-tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage. Each cube placed along the axis can be used to represent the starting point for 48 . Unlike classical process models that end when software is delivered. and other project related information. For larger. The first circuit around the spiral might result in the development of a product specification. Cost and schedule are adjusted based on feedback derived from customer evaluation. Engineering-tasks required building one or more representations of the application. . the software engineering team moves around the spiral in a clockwise direction. and provide user support (e. that are adapted to the characteristics of the project to be undertaken.. test. An alternative view of the spiral model can be considered by examining the project entry point axis. called a task set. Each of the regions is populated by a set of work tasks. Risk analysis-tasks required to assess both technical and management risks. In addition.
In essence. product enhancement). the spiral. the process starts at the appropriate entry point (e.Different types of projects. The spiral model' uses prototyping as a risk reduction mechanism but. the developer and' customer better understand and react to risks at each evolutionary level.g. 49 . a "new development project" is initiated. The spiral model is a realistic approach to the development large-scale systems.. enables the developer to apply the prototyping approach at any stage in the evolution of the product. process is dormant. more important. remains operative until the software is retired. and software. the process proceeds through the next cube (new product development project entry point) and. There are times when the. Because software evolves as the process progresses. If the concept is to be developed into an actual product. Following the path that bounds the region that hast somewhat lighter shading than the core. The new product will evolve through a number of iterations around the spiral. when characterized! in this way. but whenever a change is initiated. A "concept development project" starts at the core of the spiral and will continue (multiple iterations occur along the spiral path that bounds the central shaded region) until concept development is complete.
develop meaningful documentation. There is some merit in the claims of both sides and it is possible to summarize the current state of 4GT approaches: 50 . report generation. 4GT begins with a requirements gathering step. the 4GT developed software must be built in a manner that enables maintenance to be performed expeditiously. and automated generation of HTML and similar languages used for Web-site creation using advanced software tools. and perform all other solution integration activities that are required in other software engineering paradigms. the developer must conduct thorough testing. Obviously. the customer/developer dialog described for other process models remains an essential part of the 4GT approach. Implementation using a 4GL enables the software developer to represent desired results in a manner that leads to automatic generation of code to create those results. many of the tools noted previously were available only for very specific application domains. To transform a 4GT implementation into a product. The 4GT paradigm for software engineering I focus on the ability to specify software using specialized language forms or a graphic notation that describes the problem to be solved in terms that the customer can understand. The tool then automatically generates source code based on the developer's specification. Like other paradigms. Initially. screen interaction and definition. In addition. may be ambiguous in specifying facts that are known. the customer would describe requirements and these would be directly translated into an operational prototype. a data structure with relevant information must exist and be readily accessible by the 4GL. but today 4GT environments have been extended to address most software application categories. a software development environment that supports the 4GT paradigm includes some or all of the following tools: nonprocedural languages for database query.4. high-level graphics capability. the faster a program can be built. There is little debate that the higher the level at which software can be specified to a machine. spreadsheet capability. code generation. and may be unable or unwilling to specify information in a manner that a 4GT tool can consume. Ideally. Each enables the software engineer to specify some characteristic of software at a high level. But this is unworkable. data manipulation. The customer may be unsure of what is required. Currently. Fourth Generation Technique: The term fourth generation techniques (4GT) encompass a broad array of software tools that have one thing in common. For this reason.
Specifically. Interpersonal Skill 2. 2. resolving conflict. Technical skills Both are required for system development. determine procedures by which these objectives can be gained. 51 . and testing (software engineering activities) to achieve substantial time savings that result from the elimination of coding. the use of 4GT for large software development efforts demands as much or more analysis. Interpersonal skills deal with relationships and the interface of the analyst with people business. 3. and communicating information. 4GT offers a credible solution to many software problems.” A similar: definition is offered by Nicholas: "The task of the systems analyst is to elicit needs and resource constraints and to translate these into a viable operation.. they may be divided into two categories: 1. focus on procedures and techniques for operations analysis. systems analysis. A representative definition is the Random House Dictionary: "a person who conducts a methodical study and evaluation of an activity such as a business to identify its desired objectives in order to.Coupled with computer-aided software engineering tools and code generators. Data collected from companies that use 4GT indicate that the time required to produce software is greatly reduced for small and intermediate applications and that the amount of design and analysis for small applications is also reduced. and computer science.1." Skills Required for System Analyst: An analyst must possess various skills to effectively carry out the job. The literature suggests several definitions of analyst. fourth generation techniques have already become an important part of software engineering. The use of 4GT is a viable approach for many different application areas . design. on the other hand. System Analyst The role of the analyst has been emerging with changing technology. However. They are useful in establishing trust. When coupled with component-based development approaches the 4GT paradigm may become the dominant approach to software development. but there seems to be a common thread. To summarize. Technical skills.
2. 3. It is people talking. telephone conversations. 4. and delineating the pros and cons of candidate systems. and interviews. developing alternative solutions to a given problem. opening communication channels are a must for system development. Selling Selling ideas and promoting innovations in problem solving using computers. 52 . 2. Teaching Educating people in use of computer systems. Communication is no just reports. and showing sensitivity to the impact of the system on people at work. Therefore. selling the system to the user and giving support when needed.The interpersonal skills relevant to systems work include the following 1. having a grasp of company goals and objectives. a "flare" for mediation. and a knack for working wit virtually all managerial levels in the organization. Understanding Identifying problems and assessing their ramifications. Communication Having the ability to articulate and speak the Language of the user. listening. Creativity Helping user’s model ideas into concrete plans and developing candidate systems to match user requirements. and reacting to one another. Technical skills include: 1. Problem solving Reducing problems to their elemental levels for analysis. excessive correspondence. feeling. Some indicators of a climate of closed communication a defensive memos. and a failure to speak u for fear of being identified. their experience and reactions.
3. Project management Scheduling, performing well under time constraints, coordinating team efforts, and managing costs and expenditures. 4. Dynamic interface Blending technical and non technical considerations in functional specifications and general design. 5. Questioning attitude and inquiring mind Knowing the what, when, why, where, who, and how a system works. . 6. Knowledge of the basics of the computer and the business Function. Systems analysts require interpersonal as well as technical skills, although the necessity for both skills depends on the stages of system development. Fig illustrates the skills expected across the phases of system development: analysis, design, implementation, and maintenance. During analysis, there is greater need for interpersonal skills-working with the user to determine requirements and translate them into design criteria. During design, the major thrust is to develop a detailed design of candidate system-highly technical procedures and methodologies. Even then, there is some emphasis on the interpersonal factor-the user interface and user participation as a step toward training and implementation. During program construction, coding and testing are carried out with some user 'participation. During system implementation, technical and interpersonal skills converge. The technical aspects focus on "proving" the software and preparing for the final conversion of files and documentation. The interpersonal aspects deal with user training and selling the user on the benefits and potential of the candidate system. During the maintenance stage the role of the analyst drops off, except when unanticipated problems develop. Overall, it can be seen that a successful analyst blends the realities of the human factor with the structured techniques and procedures that permit problem solution through the computer. Both skills are required for a lasting interface. Academic and Personal Qualifications How does the analyst acquire these skills? The answer is in education, experience, and personality. Most of today's analysts are college graduates with majors in accounting, management, or information systems. The latter major is becoming so popular that more and more universities have programs that include courses in systems analysis, project management, and data base design. More than 30 universities offer doctorates in the field. 53
The background and experience of analysts include: 1. A background in systems theory and organization behavior. 2. Familiarity with the makeup and inner workings of major application areas such as financial accounting, personnel administration, marketing and sales, operations management, model building, and production control. 3. Competence in system tools and methodologies and a practical knowledge of one or more programming and data base languages. 4. Experience in hardware and software specifications, which is important for selection. Fig: Interpersonal and Technical Skills Necessary in System Development
Roles of the Analyst: Among the roles an analyst performs are change agent, monitor, architect, psychologist, salesperson, motivator, and politician. Let's briefly describe I each role.
Change Agent The analyst may be viewed as an agent of change. A candidate system is designed’ to introduce change and reorientation in how the user organization handles information or makes decisions. It is important, then; that change be accepted by the user.' The way to secure user acceptance is through user participation during design and implementation. The knowledge that people inherently resist change, and can become ineffective because of excessive change should alert us to carefully plan, monitor, and implement change into the user domain. In the role of a change agent, the systems analyst may select various styles to introduce change to the user organization. Investigator and Monitor In defining a: problem, the analyst pieces together the information gathered to determine why the present system does not work well and what changes will correct the problem, In one respect, this work is similar to that of an investigatorextracting ,the real problems from existing systems and creating information structures that uncover previously unknown trends that may have a dimctimp4ct on the Organization. Related to the role of investigator' is that of monitor, To undertake and successfully complete a project, the analyst must monitor programs in relation to time, cost, and quality. Of these resources, time is the most Important. If time "gets away," the project suffers from increased costs and wasted human resources. Implementation delays also mean the system will not be ready on time, which frustrates users and customers alike. Architect The architect's primary function as liaison between the client's abstract: design requirements and the contractor's detailed building plan may mi compared to the analyst's role as liaison between the user's logical designs Requirements and the detailed physical system design. As architect, tire analyst also creates a detailed physical design. of candidate systems. He/she aids users in formalizing abstract ideas and provides details to build the. End product-the candidate system.15
Psychologist In systems development, systems are built around people. This is perhaps a bit exaggerated, but the analyst plays the role of a psychologist in the way he,/she
In' implementing a candidate system. however. then. Selling the system actually takes place at each step in the system life cycle. Inasmuch as a politician must have the support of his/her constituency.. Motivator A candidate system must be well designed and acceptable to the user. Salesperson Selling change be as crucial as initiating change. the amount of dedication it takes to motivate users often taxes the analysts abilities to maintain the pace. are crucial to the-success of the system. the analyst tries to appease all parties involved. assesses their behavior. Understanding interventional relationships is important. effective user training. and draws conclusions from these interactions. so is the analyst's goal to have the support of the users' staff. System acceptance is achieved through user participation in its development. Politician Related to the role of motivator is that of politician. 56 . What was once viewed as a challenge can easily become a frustration if the user's staff continues to resist the system.reaches people. He/she represents their 'thinking and tries to achieve their goals through computerization. selling the user on the system. The oral presentation of the system proposal has one objective. As can be seen. it is important that the analyst be aware of people's feelings and be prepared to get around things in a graceful way. Diplomacy and finesse in dealing with people can improve acceptance of the system. The ar1of listening is important in evaluating responses and feedback. and proper motivation to use the system. Sales skills and persuasiveness. interprets their thoughts. The analyst's role as a motivator becomes obvious during the first few weeks after implementation and during times when turnover results in new people being trained to work with the candidate system.
3. a important rule is that information must be acquired accurately. textbooks. This means that the analyst must decide on the information gathering tool and how it must. . There are four fact finding tools are there. the analyst. a search of the literature through professional references and procedures manuals. 2. Although there are no standard rules for specifying their use. methodically. or consultant studies may prove invaluable. publications may be expensive. . be used. Unfortunately. If additional information is needed. in many cases. 2. and the information. 'Each tool has a special function. Therefore. manuals do not exist or are seriously out of date. The primary drawback of this search is time.REQIREMENT AND STRUCTURED ANALYSIS Fact Finding Technique No two projects are ever the same.on-site observation or a questionnaire may be considered. They describe the format and functions of the present system. we need to be familiar with various information-gathering tools. as a first step. 1. depending on the Information needed. Printed forms are wider used for capturing and providing information. and with minimum interruption to user personnel. then interviewing is unnecessary except where the manual is not up to date. Included in most manuals are systems requirements that help determine how well various objectives are met. Therefore. Included in the study of procedures and manuals is a close look. The increasing number of software packages suggests that problem solutions are becoming standardized. 4.company studies. At existing. For example. forms. Review of Written Documents On Site observation Interviews Questionnaires 1. if the analyst needs only information available in existing manuals. under the right conditions. Often it is difficult to get certain reports. government publications. On Site Observation 57 . Up-to-date manuals save hours of information-gathering time. Review of Written Documents Very few system problems are unique. may be outdated due to a time lag in publication. Procedures manuals and forms are useful sources for.
The emphasis is not on giving advice or passing moral judgment on what is observed. It is the process of recognizing and noting people. When human observers are used. For example. a contrived observation is set up by the observer in a place like a laboratory. Apart from its formal function. One needs to know as much as possible about the modes of communication available through the organization structure and the aspects of the physical layout that might adversely affect communication. This role permits participation with the user staff openly and freely. objects. what kind of system is inn comparison with other systems in the organization? Is it a primary or a secondary contributor to the organization? Is it fast paced or is it a leisurely system that responds slowly to external crises? As an observer. care is taken not to argue with the persons being observed or to show hostility toward one person and undue friendliness toward another. the analyst follows a set of rules. and occurrences to obtain information. What kind of system is it? What does it do? 2.Another information-gathering tool used in system studies is on-site observation. he/she is more likely to listen than talk and to listen with a sympathetic and genuine interest when information is conveyed. The following questions can serve as a guide for on-site observations: 1. While making observations. Natural or contrived: A natural observation occurs in a setting such as the employee's place of work. Furthermore. 2. The major objective of on-site observation is to get as close as possible to the "real" system being studied. . four alternative observation method are considered: 1. Obtrusive or unobtrusive: 58 . The analyst’ role is that of an information seeker who is expected to be detached (therefore unbiased) from the system being observed. ' . For this reason it is important that analyst is knowledgeable about the general makeup and activities of the system. Who runs the system? Who are the important people in it? 3. if the focus of the analysis is communication. What is the history of the system? How did it get to its present stage of development? 4.
For example. On-site observations are not without problems: 1. contrived situations are used to test or debug a candidate system. Natural. the daily routine of a bank teller may be observed indirectly via a video camera. These and other electronic methods expedite the information-gathering process in systems analysis. 4. The degree of obtrusiveness may decrease when one wants to observe the tasks that make up a given job. analyzes. the number of hours an engine was idle in a day. Indirect observations could be used in a similar manner. The degree of structure is increased when observations have a specific purpose. direct. Electronic observation and monitoring methods are becoming widely used information-gathering tools because of their speed. Intruding into the user's area often results in adverse reactions by the staff. Any of these methods may be used in information gathering.An obtrusive observation takes place w!1en the respondent knows he/she is being observed. 2. In an indirect observation. and unstructured observations are frequently used to get an overview of an operation. and reports information (online) about the hours and minutes a vehicle was driven faster than 60 miles per hour. An example is tracing the route of a sales invoice through a system. Attitudes and motivations of subjects cannot be readily observed-only the actions that result from them. the observer looks for and records a specific action such as the number of soup cans a shopper picks up before choosing one. For instance. Direct or indirect: A direct observation takes place when the analyst actually observes the subject or the system at work. Therefore adequate preparation and training are important. Unstructured methods place the observer in a situation to observe whatever might be pertinent at the time. Finally. some truck fleets use an electronic recorder system that records. Structured or unstructured: In a structured observation. 3. and how much out-of-service time a vehicle had. 59 . an unobtrusive observation takes place in a contrived way such as behind a one-way mirror. the analyst may want to create a list of the activities of a production supervisor by observing him/her from a remote location. For example. They are also used in training programs to help evaluate the progress of trainees. obtrusive. efficiency and low cost. the analyst uses mechanical devices such as cameras and videotapes to capture information.
interview is the oldest and most often used device for gathering information in systems work. Special pains are taken to eliminate interview bias. Such an assumption stresses the voluntary character of the interview as a relationship freely and willingly entered into by the respondent. long hours are often spent in an attempt to observe specific. Validity is no small problem. Observations are subject to error due to the observer's misinterpretation and subjective selection of what to observe. and (2) to 'capture information as it exits. the interviewer might gain the respondent’s time and attention. but cannot be certain of the accuracy of the information gathered during the interview. one-time activities or events. Interviews The interview is a face-to-face interpersonal role situation in which a person called the interviewer asks a person being interviewed questions designed to gather information about a problem area. Proper sampling procedures must be used to ascertain The stability of the behavior being observed Without a knowledge of stability inferences drawn from small samples of behavior (small time slices) can be inaccurate. In deciding to use an on-site observation. How much skill is required and available for the actual observation? For on-site observation to be done properly in a complex situation it can be very time-consuming. the more freely it is given. The.3. What interpretation needs to be made about observational data to avoid being misled by the obvious? 5. It can be used for two main purposes: (1) as an exploratory device to identify relations or verify information.be given. We assume that information is more valid. that the observation process. several questions are considered: 1. What behavior can be observed that cannot be described in other ways? 2. What data can be obtained more easily or more reliably by observation than by other means? 3. Unproductive. 3. If the interview is considered a requirement. as well as the s4bjects' altered work pattern during observation. It has qualities that behavioral and on-site observations do not possess. What assurances can. 60 . is not seriously affecting the system or the behavior being observed? 4. 5. .
easy to follow. It offers a better opportunity than the questionnaire to evaluate the validity of the information gathered. Respondents' opinions are offered with no fear of being criticized by others. The major drawback of the interview is the long preparation time. Attractively designed questionnaires that are simple to return. and order of interviewing assure privacy and minimal interruption. the interview is generally not used. Appointments should be made well in advance and a fixed time period adhered 61 . . but most of them develop expertise through' experience. 2. In contrast. Few analysts learn it in school. Interviews also take a lot of time to conduct. The Art of Interviewing: Interviewing is an art. They usually cooperate in a study when all they have to do is talk. The interviewer can observe not only what subjects say but also how they say it. Then the interview proceeds with asking questions properly. So whenever a more economical alternative captures the same information. which means time and money. since the analyst (interviewer) and the person interviewed meet face-to face. Its flexibility makes the interview a superior technique for exploring areas where not much is known about what questions to ask or how to formulate questions.In an interview. The interviewer's art consists of creating a permissive situation in which the answers offered a reliable. Usually a neutral location that is no threatening to the respondent is preferred. . there is an opportunity for flexibility in eliciting information. There are four primary advantages of the interview: 1. and presented in a context that inspires cooperation improve the return rate. the percentage of returns to a questionnaire is relatively low: often less than 20 percent. obtaining reliable responses. The analyst is also in a position to observe the subject. Arranging the Interview: The interview should be arranged so that the physical location. and recording them accurately and completely. 4. Many people enjoy being interviewed. regardless of the subject. In contrast. time of the interview. Primary requirements for a successful interview are to create a friendly atmosphere and to put the respondent at ease. 3. the information obtained through a questionnaire is limited to the subject's written responses to predefined questions. It is an effective technique for eliciting information about complex subjects and for probing the sentiments underlying expressed opinions.
Interviewing should be approached as logically as programming. Do not deliberately mislead the user staff about the purpose of the study. many staff members are reluctant to participate. 3. The job of the analyst should be that of a reporter rather than a debater. Assure interviewees confidentiality that no information they offer will be released to unauthorized person el. Set the stage for the interview. data collection is an imposition on user staff time and an intrusion into their privacy. and (c) the confidential nature of the interview. b. there are pitfalls 'to avoid. During stage setting the interviewer evaluates the cooperation of the interviewee. who bombards the analyst with opinions disguised as facts. a. Evaluate the outcome of the interview. Phrase questions clearly and succinctly. regardless of their credentials. 1. Stage setting: This is an "ice breaking. the timid type who needs to be coaxed to talk. There is seldom a direct advantage in supplying information to outsiders. 2. This factor makes it important to gain and maintain rapport with the user staff. (b) why the subject was selected.to as closely as possible. put the interviewee at ease. the analyst asks the first question and the respondent answers it and goes right through the interview. The promise of anonymity is very important. The investigation is an art. well-thought-out briefing of participants should not provide any more detail than is necessary. Interview schedules generally begin at the top of the organization structure and work down So as not to offend anyone. informal phase where the analyst opens the interview by focusing on (a) the purpose of the interview. or the resident expert. the following steps should be taken: 1. Too much technical detail may tend to confuse people. 4. Establishing rapport: In one respect. 2. A careful. 5. Be a good listener avoid arguments. Both the content and tone of the responses are evaluated: How well the interview goes depends on whether the interviewee is the friendly type." relaxed. Guides to a Successful Interview. The briefing should be consistent for all participants to avoid rumors. After a favorable introduction. Even though the procedure is authorized by management in advance. Although there are no ground rules to follow. 62 . There is a strong perception that it may do them harm. The direction of the interview is controlled by discouraging distracting conversation. In an interview. Establish rapport.
3. Obtaining and recording the response: Interviewers must be prepared to coax respondents to elicit further information when necessary. e. Can you tell me more about that? These statements indicate that the analyst is listening. has already answered the next one. Could you elaborate further on that? b. Avoid showing off your knowledge or sharing information received from other sources. Asking the questions: Except in unstructured interviews. Let him/her finish talking. d. I'm not sure. Sometimes I think that we have to take this route eventually. Avoid acting like an expert consultant or confidant. Analyst: I see. g. for example: a. subordinates might. f.c. such as advice or feedback. Rewording or impromptu explanation may provoke a different answer or bias the response. Avoid personal involvement in the affairs of the user's department or identification with one faction at the cost of another. Respect the time schedules and preoccupations of your subjects. Do not interrupt the interviewee. Analyst (interviewer): How do you feel about. Do not make an extended social event out of the meeting. i. each question must be asked unless the respondent. Interviewer: I see what you mean. separating the present loan division into commercial and loan departments? Financial vice president (respondent): Well. This may be difficult when several groups are involved in the study. it is important that each question is asked exactly as it is worded. h. is interested. especially if they are waiting to see the subject (boss). Do not promise anything you cannot or should not deliver. Reversing the sequence could destroy the comparability of the interviews. in answering a previous question. The "probing" technique enables the interviewer to act as a catalyst. Dress and behave appropriately for the setting and the circumstances of the user contact. and is making an effort to gain 63 . 4. This can reduce the objectivity of the approach and discourage people from freely giving information. understands what the respondent is trying to say. If the subject does not complain. The questions must also be asked in the same order as they appear on the interview schedule. Finally.
which generally questions one subject at time. or other identification. If there is no record of a . and the time of collection. Another disadvantage is that many people have difficulty expressing themselves in writing. especially when responding to essay (open) questions. It is economical and requires less skill to administer than the interview. Questionnaires In contrast to the interview is the questionnaire. The standardized wording and order of the questions and the standardized instructions for reporting responses ensure uniformity of questions. the interview is probably superior to the questionnaire.conversation. The questionnaire places less pressure on subjects for immediate responses.items of the closed or fixed alternative type. 5. the interview situation is rarely uniform from one interview to the next. Unlike the interview. job function. In contrast. 2. With a questionnaire. The information received during the interview is recorded for later analysis. Because of these disadvantages. attributing them to the wrong source. By its nature. their source. respondents give opinions without fear that the answer will be connected to their names.more information. Many dislike writing. 6. Data recording and the notebook: Many system studies fail because of poor data recording. The advantages of the self-administered questionnaire outweigh disadvantages especially when cost is a consideration. the analyst usually knows the user staff by name. The' principal disadvantage is a low percentage of returns. the analyst runs the risk of not remembering enough details. This usually associated with self-administered tools with . or otherwise distorting the data. 4. Care must be taken to record the data. Respondents have time to think the questions over and do calculations to provide more accurate data. a questionnaire offers the following advantages: 1. The respondents feel greater confidence in the anonymity of a questionnaire than in that of an interview. questionnaire can be administered to large nuP1bers of individuals simultaneously. In an interview. 3. 4. which is a term used for almost any tool that has questions to which individuals respond. 64 .
If the analyst asks subject. Some variation within this range is possible. Second. The Unstructured Alternative. The unstructured interview is a relatively nondirective information gathering technique. 2.receivable?" the response may not be the same even though the subjects both have the same opinion. the questions are presented with exactly the same wording and the same order to all subjects. the study often presupposes that when the feasibility document is being prepared. Feasibility Study Many feasibility studies are disillusioning for both users and analysts. First. What are the costs and savings of the alternative(s)? 65 . where neither the questions nor the respective responses are specified in advance. it must answer three key questions: 1. This is best achieved in a permissive atmosphere in which the subjects have no feeling of disapproval. "How do you feel about computers handling accounts . 1.Types of Interviews and Questionnaires Interviews and questionnaires vary widely in form and structure. Standardized questions improve 'the reliability of the responses by ensuring that all subjects are responding to the same questions. The role of the analyst as an interviewer is to encourage the respondent to talk freely and serve as a catalyst to the expression of feelings and opinions. The responses are spontaneous rather than forced. Is there a new and better way to do the job that will benefit the user? 2. the analyst is in a position to evaluate solutions. The Structured Alternative In the structured approach. It allows respondents to answer questions freely in their own words. They are self-revealing and personal rather than general and superficial. Interviews range from the highly unstructured. most studies tend to overlook the confusion inherent in system development the constraints and the assumed attitudes. If the feasibility study is to serve as a decision document. to the highly structured alternative in which the questions and responses are fixed. "Would you like to see a compute e approach to solving your accounts receivable problem?" and asks another subject.
Therefore. transfers. 1. sell. This involves financial considerations to accommodate technical enhancements. and computers have been known to facilitate change. and train the staff on new ways of conducting business. More commonly known as cost/benefit analysis. if the current computer is operating at 80 percent capacity-an arbitrary ceiling-then running another application could overload the system or require additional hardware. 66 . Technical Feasibility Technical feasibility centers on the existing computer system (hardware. Let's briefly review each consideration and how it relates to the systems effort. software. For example. and changes in employee job status. Otherwise. 2. the procedure is to determine t e benefits and savings that are expected from a candidate system and compare them with costs. further justification or alterations in the proposed system will have to be made if it is to have a chance of being approved. Economic Feasibility Economic analysis is the most frequently used method for evaluating the effectiveness of a candidate system. An estimate should be made of how strong a reaction the user staff is likely to have toward the development of a computerized system. If benefits outweigh costs. retraining. If the budget is a serious constraint.) and to what extent it can support the proposed addition. It is common knowledge that computer installations have something to do with turnover. then the decision is made to design and implement the system. Feasibility Considerations Three key considerations are involved in the feasibility analysis: economic. More projects fail because of inflated expectations than for any other reason. it is understandable that the introduction of a candidate system requires special effort to educate. technical. What is recommended? The most successful system projects are not necessarily the biggest or most visible in a business but rather those that truly meet user expectations. This is ongoing effort that improves in accuracy at each phase of the system life cycle. 3. behavioral. then the project is judged not feasible. Behavioral Feasibil1ty People are inherently resistant to change. etc.3.
8. Regarding the safe deposit case. Projects are planned to occupy a specific time period. Select the best candidate system. Enumerate potential candidate systems. Form a project team and appoint a project leader. 4. A record is kept of the progress made in each meeting. The team consists of analysts and user staff-enough collective expertise to devise a solution to the problem. the analyst handled most of the work. however. Determine and evaluate performance and cost effectiveness of each candidate system. 2. Their knowledge and experience in the operations are essential to the success of the system. an outside consultant and an information specialist join the team until the job is completed. Prepare system flowcharts. Regular meetings take place to keep up the momentum and accomplish the mission-selection of the best candidate system. He/she is usually the most experienced analyst in the team. The senior systems analyst is generally appointed as project leader. more complex studies require a project team. Prepare and report final project directive to management. 7. The appointment is temporary lasting as long as the project. Prepare System Flowcharts 67 .Steps in Feasibility Analysis Feasibility analysis involves eight steps: 1. ranging from several weeks to months. 6. 3. since the whole user area consists of five employees. In many cases. For small projects. 5. Form a Project Team and Appoint a Project Leader The concept behind a project team is that future system users should be involved in its design and implementatiol1. Weight system performance and cost data. Describe and identify characteristics of candidate systems. the analyst and an assistant usually suffice.
change has to be made through the software house. a relatively new language. Digital. These packages were the result of a preliminary evaluation of more than 15 other packages-all purporting to meet the requirements of the safe deposit billing system. There are a large number of computers with differing processing sizes. Technical knowledge and expertise in the hardware/software area are critical for determining what each candidate system can and cannot do. the team begins a preliminary evaluation in an attempt to reduce them to a manageable number. Another aspect of this step is consideration of the hardware that can handle the total system requirements.The next step in the feasibility study is to prepare generalized system flowcharts for the system. actual processing is handled by the microcomputer. The project team may contact vendors for information on the processing capabilities of the system available. and software support. The question here is: Which microcomputer (IBM. In case of enhancements. An important aspect of hardware is processing and main memory. it was found that virtually any microcomputer system with more than 128K -byte memory an dual disk drive will do the job. outputs.) should be selected? This is taken up in step 6 of the study. The charts bring up the importance of inputs. When the number is reduced to three key packages. Information-oriented charts and data flow diagrams prepared in the initial investigation are also reviewed at this time. For example. This requires a transformation from logical to physical system models. All other flowcharts needed for detailed evaluation are completed at this point. the first candidate system runs on an IBM PC with minimum of 128K-bytes of memory. The software is written in Pascal. The first package was installed in Jan 1982. main memory capabilities. whereas information such as payments and credits are transmitted to the main computer files for proper adjustment through the customer's checking account. Apple. Describe and Identify Characteristics of Candidate Systems From the candidate systems considered. and data flow among key points in the existing system. Enumerate Potential Candidate Systems This step identifies the candidate systems that are capable of producing the outputs included in the generalized flowcharts. the next step is to describe in some detail the characteristics of each package. More than 200 packages have been installed to date. In the safe deposit case. It was also learned that a microcomputer can be designed to interlace with the bank's mainframe. In this design. since the source code is not available to the user. etc. Determine and Evaluate Performance and Cost Effectiveness of Each Candidate System 68 .
250 2790 $8470 Weight System Performance and Cost Data In some cases. however. expandable main and auxiliary storage. Table: Project cost Estimation of final system Study phase (4 days) Analyst Design phase (6 days) Analyst Charges(Per day) $400 Total $1600 400 Programmer 250 Development phase (9 days) Data entry operator 80 Programmer 250 $2.) based on the subjective judgment of the project team.500 3. They are usually evaluated in qualitative terms (excellent. It include user training.Each candidate system's performance is evaluated against the system performance requirements set prior to the feasibility study. The cost encompasses both designing and installing the system. the criteria chosen in advance were accuracy. good. System performance criteria are evaluated against the cost of each system to determine which system is likely to be the most cost effective and also meets the performance requirements. there has to be as close a match as practicable. An additional factor to consider is the cost of the study design and development. Many times. and documenting. Costs are more easily determined when the benefits of the system are tangible and measurable.900 720 2. and response time less than five seconds. the performance and cost data for each candidate system show which system is the best choice. Assign a weighting factor to each evaluation criterion based on the criterion's effect on the success of the system. etc. In the safe deposit case. This outcome terminates the feasibility study. although trade-off's are often necessary to select the best system. Often these characteristics do not lend themselves to quantitative measures. The procedure for weighting candidate systems is simple: 1. For example. updating the physical facilities. and user friendly software. Whatever the criteria. growth potential. The safe deposit problem is easy. the situation is not so clear-cut. if the usability criterion is twice 69 .40 0 1.
4. For example. 3. are encouraged. Most feasibility studies select from more candidate systems than we used in our safe deposit example.rating of each evaluation criterion is accurate. Multiply the weight assigned to each category by the relative rating to determine the score.as important as the accuracy factor. Select the Best Candidate System The system with the highest total score is judged the best system. 2. Assign a quantitative rating to each criterion's qualitative rating. In any case. good. user training was judged superior for the PC than for other candidate systems. usability is assigned weight 4 and accuracy is assigned weight 2. the IBM PC is the best system for the job. Growth potential was the criterion that had the greatest effect on the total score. management should not make the selection without having the experience to do so. fair. very good. TABLE Weighted Candidate Evaluation Matrix IBM PC HPl00 Weightin g Evaluation Factor Rating Score Rating Criteria Performance System 3 5 15 5 accuracy Growth potential 4 4 16 3 Response time 2 4 8 4 User-friendly 2 5 10 4 Costs System 5 3 15 4 development User training 3 5 15 3 System 2 4 8 2 operation Payback 3 4 12 3 Apple III Score Rating Scor e 15 12 8 8 20 9 4 9 5 3 4 4 4 3 4 5 15 12 8 8 15 9 8 15 70 . According to our safe deposit example. The criteria chosen and the constraints are also more complex. 3. The HP 100 and the Apple III were given lower ratings than the IBM PC because they were not judged to grow as easily and quickly: Additionally. ratings (poor. 5). 2. the score column for each candidate system. Sum. 4. Management cooperation and comments. excellent) by assigned respective values (1. however. This assumes the weighting factors are fair and the .
begin with a summary of findings and recommendations followed by documented details. thereason for undertaking the feasibility study. Following the recommendations. it evaluates the impact of the proposed changes on the area(s) in question. 5. The report is a formal document for management use. 2. The system effectiveness and efficiency as well as operating costs are emphasized. There is no standard format for preparing feasibility reports. A discussion of the output reports. and recommendations to be considered. Recommendations and conclusions suggest to management the most beneficial and cost-effective system. The report contains the following sections: 1. They are written only as a recommendation. giving management the option of reviewing the details later. Economic justification details point-by-point cost comparisons and preliminary cost estimates for the development and operation of the candidate system. general findings. Also included are the names of the persons who conducted the study. and other information that explains the circumstances surrounding study. and benefits gives management a feel for the pros and cons of the candidate system. however. Detailed findings outline the methods used in the present system. A return on investment analysis of the project is also included. Starting with summary information highlights the essence of the report. costs.99 Feasibility Report 85 90 The culmination of the feasibility study is a feasibility report directed to management. 3. Analysts usually decide on a format that suits the particular user and system. 6. not a command. Most reports. Management quickly refers to the sections that concern them. and the departments involved or affected by the candidate system. brief enough and sufficiently non technical to be understandable. when it began. any conclusions from the study may be included. yet detailed enough to provide the basis for system design. Cover letter formally presents the report and briefly indicates to management the nature. The section also provides a description of the objectives and general procedure of the candidate system. Overview is a narrative explanation of the purpose and scope of the project. Table of contents specifies the location of the various parts of the report. 71 . 4.
THEN. we begin to focus on the processes. It shows only the skeletal/aspects of the policy. ELSE. the process ORDER may have the data element ORDER-SIZE. it uses logical construction and imperative sentences designed to carry out instructions for action. And easy to update. In this respect. however. Management has the final say. but it is an authoritative one. in the sense that it does not lend itself to calculations or show logic as a set of instructions for action. 15% on orders for 50 copies or more per book title. Consider the following discount policy Example. For example. Appendixes document all memos and data compiled during the investigation. Technically. . and SO statements. When a feasibility team has maintained good rapport with the. Decision Tree and structured English Once the data elements are defined in the data dictionary. is the use of a second tool called structured English. The structured English for our publisher's discount policy is shown in Figure . user and his/her staff it makes the recommendations easier to approve. it is an excellent tool: It is easy to construct. easy to read. which defines four values: MINIMUM: 5 or fewer copies per book title SMALL: 6 to 19 copies MEDIUM: 20 to 49 copies LARGE: 50 or more copies Using these values.7. Bookstores get a trade discount of 25% . Structured English borrows heavily from structured programming. The alternative. 10% on orders for 20-49 copies per book title. As shown in fig. for orders from libraries and individu3il 5% allowed on orders of 6-19 copies per book title. a decision tree has as many branches as there are logical alternatives It simply sketches the logical structure based on the stated policy. Its approval is required before system design is initiated. We can actually make structured English more compact by using terms defined in the data dictionary. the structured English is shown in fig 72 . The analyst needs to use tools to portray the logic of the policy. They are placed at the end of the report for reference. Decisions are made through IF. the report is only a recommendation. Disapproval of the feasibility report is rare if it has been conducted properly. The first such tool is the decision tree. then. A policy statement like this can be time-consuming to describe an time confusing to implement. Note the correlation between the decision tree and structured English.
Structures are indented to reflect the logical hierarchy. it is structured English. Sentences should also be clear. THEN. and SO. Fig: Decision Tree An Example Structured English-An Example COMPUTE-DISCOUNT Add up the number of copies per book title IF order is from bookstore and-IF order is for 6 copies or more per book title THEN: Discount is 25% ELSE (order is for fewer than 6 copies per book title) So: no discount is allowed ELSE (order is from libraries or individual customers) so-IF order is for 50 copies or more per book title discount is 15% ElSE IF order is for 20 to 49 copies per book title discount is 10% 73 . In this tool. the logic of processes of the system is expressed by using the capitalized key words IF.From these examples we see that when logic is written out in English sentences using capitalization and multilevel indentation. concise and precise in wording and meaning. ELSE.
for orders from libraries and individu3il 5% allowed on orders of 6-19 copies per book title. Figure shows a decision table that represents our discount policy. It is a single representation of the relationships between conditions and actions. called the condition entry and a lower quadrant called the action entry. 15% on orders for 50 copies or more per book title. The stub part is divided into an upper quadrant called the condition stub and a lower quadrant called the action stub. A decision table consists of two parts: stub and entry. Bookstores get a trade discount of 25% . Fig : Decision Table an Example 74 . A decision table is a table of contingencies for defining a problem and the actions to be taken. This is where the decision table is useful. 10% on orders for 20-49 copies per book title. The four elements and their definitions are summarized in Figure.ElSE IF order is for 6 to 19 copies per book title discount is 5% ElSE (order is for less than 6 copies per book order) SO: no discount is allowed Decision Tables A major drawback of a decision tree is the lack of information in Its format to tell us what other combinations of conditions to test. The entry part is also divided into an upper quadrant.
In.Note in above Figure that the answers are represented by a Y to signify yes. For example. or a blank to show that the condition involved has not been tested. the action entry quadrant. each column represents decision or a rule. an X (or a check mark will do) indicates the response to the answer(s) entered in the condition entry quadrant. rule 1 states: IF customer is a bookstore and order size is 6 copies or more. Furthermore. an N to signify no. THEN allow 25% discount Fig : Elements and Definitions in a Decision Table 75 .
he/she can easily convert the pseudocode into a suitable programming language. Once the programmer is convinced that the program logic is sound. it is also called Program Design Language (PDL). Since. we have six decisions and therefore six rules. but the action takes place in the order in which the events occur. on developing the logic of the program. these programs 76 . a programmer can concentrate solely. which is used for planning program logic. Hence. pseudocode emphasizes the design of the program. Duplication of terms or meanings should be eliminated.So. and many times even for the developer after a lapse of few months. Standardized language must be used consistently. is an imitation of actual computer instructions. where possible. The logic of the decision table is independent of the sequence in which the condition rules are written. etc.g. pseudocode uses a structure. 3. 4. which resembles computer instructions.. Understanding the logic of such programs was very difficult for someone other than the developer. Pseudocodes for Basic Logic (Control) Structures During the early days of program development. many programmers developed program logics for large programs with mazes of branches Uumps from one portion of the program to another). When pseudocode is used for program planning. according to the decision table. which altered the sequence of processing operations. which can be r1. The following rules should be followed in constructing decision tables: 1. therefore. French. "Pseudo" means imitation or false. because their program flowcharts appeared more like a plate of spaghetti than like logical analyses of programming problems. Pseudocode. Instead of using symbols to describe the logic steps of a program. 2.\l1 on a computer. These pseudo:-instructions are phrases written in ordinary natural language (e. because pseudocode does not have any syntax rules for formulating instructions. shown in the top left of the table. English.). which cannot be understood by the computer. Pseudocode: Pseudocode is another programming analysis tool. as in flowcharting. A look at the table provides each decision (answer) immediately. A decision should be given a name. without worrying about the syntax for writing the program instructions. German. and "Code" refers to the instructions written in a programming language. Such programs are now referred to as "spaghetti code".
each action on a line by itself. After realizing the advantages of structured programming technique. by conceptualizing the logic of a program in the form of these three logic structures. That is. The actions are performed in the sequence (top to bottom) that they are written. Selection logic.were very difficult to modify for incorporating suggested enhancements. could be expressed by using only the following three simple logic (control) structures: 1. The use of these three basic control structures resulted in a more scientific approach to solving a programming problem. and was later termed as structured programming technique. which are easy to understand and maintain. and quickly became nightmares for those responsible for their maintenance. in the discussion below. Iteration (or looping) logic. we will see the pseudocodes for the three basic logic structures (flowcharts of these logic structures have also been shown for those who are more comfortable with flowcharts). programmers can avoid writing spaghetti code. no matter how complex. Example (non-computer) Brush teeth Wash face Comb hair Smile in mirror Example 77 . they can be read from top to bottom. and 3. It is generally advised as good programming practices to develop program logics. 2. Sequential control is indicated by writing one action after another. It was found that when programs are structured by using only these three logic structures. and the time spent in program testing. SEQUENCE Sequence is a linear progression where one task is performed sequentially after another. and produce programs. and write programs using the three basic logic structures. It was found that this also helped in reducing program errors. and all actions aligned with the same indent. Hence. It was later discovered that any program logic. and are easier to understand. Sequence logic. many organizations now impose the use of the three basic logic structures in all their programs.
The general form is: IF condition THEN sequence 1 ELSE sequence 2 ENDIF The ELSE keyword and "sequence 2" are optional. The general form is: 78 . The beginning and ending of the loop are indicated by two keywords WHILE and ENDWHILE. CALCULATE. OBTAIN. output. SHOW Compute: COMPUTE. ELSE.READ height of rectangle READ width of rectangle COMPUTE area as height times width Common Action Keywords Several keywords are often used to indicate common input. DISPLAY. otherwise sequence 2 is performed. If the condition is true. Example IF HoursWorked > NormalMax THEN Display overtime message ELSE Display regular time message ENDIF WHILE WHILE is a loop (repetition) with a simple conditional test at its beginning. GET Output: PRINT. and processing operations. The WHILE construct is used to specify a loop with a test at the top. THEN. and ENDIF.Binary choice on a given Boolean condition is indicated by the use of four keywords: IF. DETERMINE Initialize: SET. Input: READ. BUMP IF-THEN-ELSE IF-THEN-ELSE is a decision (selection) in which a choice is made between two alternative courses of action. INIT Add one: INCREMENT. sequence 1 is performed.
Conditions are normally numbers or characters indicating the value of "expression". and conditions are used to indicate the various alternatives.Deaths ENDWHILE Example WHILE employee.type NOT EQUAL manager AND personCount < numEmployees INCREMENT personCount CALL employeeList.WHILE condition Sequence ENDWHILE The loop is entered only if the condition is true.. but they can be English statements or some other notation that specifies the condition under which the given sequence is to 79 . Example WHILE Population < Limit Compute Population as Population + Births . OF. Four keywords. The "sequence" is performed for each iteration. OTHERS. CASE is a generalization of IF-THEN-ELSE. condition n : sequence n OTHERS: default sequence ENDCASE The OTHERS clause with its default sequence is optional. At the conclusion of each iteration. The general form is: CASE expression OF condition 1 : sequence 1 condition 2 : sequence 2 .getPerson with personCount RETURNING employee ENDWHILE CASE CASE is a multiway branch (decision) based on the value of an expression. A CASE construct indicates a multiway branch based on conditions that are mutually exclusive. the condition is evaluated and the loop continues as long as the condition is true. CASE.. and ENDCASE.
be performed. A certain sequence may be associated with more than one condition. FOR 80 . Example CASE Title OF Mr : Print "Mister" Mrs : Print "Missus" Miss : Print "Miss" Ms : Print "Mizz" Dr : Print "Doctor" ENDCASE Example CASE grade OF A : points = 4 B : points = 3 C : points = 2 D : points = 1 F : points = 0 ENDCASE REPEAT-UNTIL REPEAT-UNTIL is a loop with a simple conditional test at the bottom. because the test is performed after the sequence is executed. The general form is: REPEAT Sequence UNTIL condition The "sequence" in this type of loop is always performed at least once. This loop is similar to the WHILE loop except that the test is performed at the bottom of the loop instead of at the top. Two keywords. At the conclusion of each iteration. the condition is evaluated. REPEAT-UNTIL is a loop with a simple conditional test at the bottom. The loop terminates when the condition becomes true. REPEAT and UNTIL are used. and the loop repeats if the condition is false.
Dataflow Diagram 81 . FOR and ENDFOR are used. often called a "counting" loop. Example FOR each month of the year (good) FOR month = 1 to 12 (ok) FOR each employee in the list (good) FOR empno = 1 to listsize (ok) NESTED CONSTRUCTS The constructs can be embedded within each other. and this is made clear by use of indenting. The general form is: FOR iteration bounds sequence ENDFOR In cases where the loop constraints can be obviously inferred it is best to describe the loop using problem domain vocabulary. Two keywords.This loop is a specialized construct for iterating a specific number of times. Nested constructs should be clearly indented from their surrounding constructs. Example SET total to zero REPEAT READ Temperature IF Temperature > Freezing THEN INCREMENT total END IF UNTIL Temperature < zero Print total In the above example. the IF construct is nested within the REPEAT construct. and therefore is indented.
the original developer of structured design. Physical DFD's represent physical files and transactions. These are: Data Flow (represented by an arrow) Data Process (represented by a circle or rounded rectangle) External Entity (represented by a square or oval. It is generally agreed that each data flow should be uniquely labeled in the Dataflow Diagram. also called a 'Source/Sink') Data Store (represented by two parallel lines. sometimes connected by a vertical line) Data flow A data flow is the core of the data flow diagram. Four diagrammatical components are used to develop a DFD. such as a limitation on two-sided arrows.A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. Depending on the notation used. while later DFD's may model a solution to the problem being analyzed. It is common practice for a designer to first draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then "exploded" to show more detail of the system being modeled. and external entities in a business or other system and the data flows between these things. several sets of DFD's are drawn. based on Martin and Estrin's "data flow graph" model of computation. In analyzing a business. A data flow diagram can also be used for the visualization of data processing (structured design). several rules apply to data flows. Each data flow in the system should be unique and demonstrate data flowing between two other elements in the system. while logical or conceptual DFD's can be used to represent business functions or processes. Label the arrows with the name of the data that moves through it. Data flow diagrams were invented by Larry Constantine. 82 . Dataflow are pipelines through which packets of information flow. data stores. Initial DFD's might model the existing system (flaws and all). For these solution DFD's a logical and physical DFD is drawn. Symbols used in the DFD A data flow diagram illustrates the processes.
Datastores are repositories of data in the system. such as 'students' or 'employees'. Data flowing out of a data store is considered a read.Dataflow Notations Data process A data process represents the transformation of data in the system. while data flowing into a data store is considered a write or update. Datastore Notations 83 . Data stores generally store data on a specific category. Data that flows into a process should be different than the data that flows out of the process. this represents something that happens in the system. such as 'student enrollment'. A process transforms incoming data flow into outgoing data flow Yourdon and Coad Process Notations Gane and Sarson Process Notation Data store An data store represents 'data at rest'. Generally. They are sometimes also referred to as files.
the designer is not interested in the inner workings of the external entity. with which the system communicates.Yourdon and Coad Datastore Notation Gane and Sarson Datastore Notations External entities External entities are objects outside the system. External Entity Notations 84 . but only what data is produced/needed by the entity. External entities are sources and destinations of the system's inputs and outputs.An external entity represents the source or sink of data external to the system. When modeling a DFD.
The nesting of data flow layers Context Diagrams A context diagram is a top level (also known as Level 0) data flow diagram. Context Level Diagram 2. A single process node on a high level diagram can be expanded to show a more detailed data flow diagram. 2nd Level Diagram Draw data flow diagrams in several nested layers. 85 . 1st Level Diagram 3. It only contains one process node (process 0) that generalizes the function of the entire system in relationship to external entities. followed by various layers of data flow diagrams. Draw the context diagram first.Data Flow Diagram Layers There are mainly three levels 1.
and destinations are written in capital letters. Beyond that. sources. it is marked with a short diagonal in the lower right corner. Each of these processes can be broken into further processes in second level Diagram.2 etc. Data traditionally flow from the source (upper left comer) to the destination lower right comer). so that the next sublevel does not exceed 10 processes. 7.2 are the sub processes of process. 3. Direction of flow is from top to bottom and from left to right. Each external entity must be involved with at least one data flow. One way to indicate this is to draw a long flow line back to the source. it is best to take 86 . Like 1.1. the DFD is designed to aid communication. where 1. 8. Drawing DFD: There are several common modeling rules that I follow when creating DFDs: 1. A data flow must be attached to at least one process. The rule of thumb is to explode the DFD to a functional level. If it contains dozens of processes and data stores. In Second level we can divide processes into sub processes until you reach pseudocode. 9. Each data store must be involved with at least one data flow. 4. All processes should modify the incoming data. The names of data stores. producing new forms of outgoing data.1 and 1. Each name should be representative of the process. Since it is used more than once in the DFD. 5. When a process is exploded into lower-level details. 1. they are numbered. Processes should be named and numbered for easy reference. An alternative " way is to repeat the source symbol as a destination. Process and data flow names have the first letter of each word capitalized. Second level Diagram: The first level DFD shows the main processes within the system. How detailed should a DFD be? As mentioned earlier. 6. All processes must have at least one data flow in and one data flow out. although they may flow back to a source. 2.First level Diagram: The first level DFD shows the main processes within the system. it gets too unwieldy.
A DFD typically shows the minimum contents of data stores. redundancies. Interest rate depends upon the period as follows. missing interfaces. The DFD methodology is quite effective. and the like are then accounted for often through interviews.5% 14% 15. Fixed Deposit Period 30 to 180 Days 181 to 364 Days 1 to 2 Years 2 to 3 Years More than 3 years (These are the sample Fixed Deposit rates) The Depositor may choose to renew the FD for another time period. The interest payable on the loan is slightly higher than the interest payable by the bank. Example : Fixed Deposit System Banks provide schemes through which people can deposit the money with a bank as a fixed deposit for a certain period of time. may be shown. Each data store should contain all the data elements that flow in and out. period. Interest Rates 10 % 11% 12. FD amount. 2. Inputs Expected From the Fixed Deposit System DFD applications containing the details of depositor.each function separately and expand it to show the explosion of the single process. If a user wants to know what happens within a given process. then the detailed explosion of that process. The DFD is easy to understand after a brief orientation. Instruction from the depositor for renewal! closure is another input. All discrepancies. Depositor may get loan against the deposits. A maximum of 75 % of the deposit amount is allowed as the loan amount. The banks pay interest for this period and return the money when the fixed deposit period is over. date of issue etc. 3. Questionnaires can be used to provide information for a first cut. especially when required design is unclear and the user and the analyst need a notational language for communication.5 % 87 . Loan application details.
Covering letter for interest. Repayment details of loan.4. certificate etc. 5. Interest cheques & counterfoils. Outputs Expected From the Fixed Deposit System 1. 3. etc. Loan-interest statement. Fig: Context Level Diagram Fig: First Level DFD for Fixed deposit system 88 . 4. FD Certificate. 2. FD Maturity details.
Fig : Second level DFD for Interest Rate Maintenance Fig : Second level DFD for FD Account opening 89 .
Fig : Second level DFD for FD Account closing Fig : Second level DFD for FD Loan Sanction and Payment Fig : Second level DFD for Repayment 90 .
91 .Fig : Second level DFD for Reports.
places. or events which have relevance to the database. An entity is analogous to a table in the relational model. The constructs used in the ER model can easily be transformed into relational tables. PROJECTS. the model can be used as a design plan by the database developer to implement a data model in a specific database management software. In addition. INVOICES. Entities are usually recognizable concepts. A basic component of the model is the EntityRelationship diagram which is used to visually represents data objects. Some specific examples of entities are EMPLOYEES. things. the model can be used by the database designer to communicate the design to the end user. the utility of the ER model is: It maps well to the relational model.DATABASE DESIGN AND DOCUMENTATION TECHNIQUE The Entity-Relationship Diagram The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a way to unify the network and relational database views. Since Chen wrote his paper the model has been extended and today it is commonly used for database design For the database designer. Entity Weak Entity 92 . Therefore. Entities Entities are the principal data object about which information is to be collected. It is simple and easy to understand with a minimum of training. such as person. Simply stated the ER model is a conceptual data model that views the real world as entities and relationships. Basic Constructs of E-R Modeling The ER model views the real world as a construct of entities and association between entities. either concrete or abstract.
and existence. Relationship names should be verbs 93 . the terms used are strong and weak. Entity names should be singular nouns.Entities are classified as independent or dependent (in some methodologies. The label is the name of the entity. entities are represented by labeled rectangles. respectively). cardinality. A dependent entity is one that relies on another for identification. An occurrence is analogous to a row in the relational table. Relationships illustrate how two entities share information in the database structure. connectivity. Relationships are represented by a solid line connecting two entities. Relationship Weak Relationship An example of a relationship would be: employees are assigned to projects projects have subtasks departments manage one or more projects Relationships are classified in terms of degree. The name of the relationship is written above the line. An independent entity is one that does not rely on another for identification. Relationships A Relationship represents an association between two or more entities. Following is the notation for Relationship. An entity occurrence (also called an instance) is an individual occurrence of an entity.
The domain of Name is a character string. where the degree is 2. A recursive binary relationship occurs when an entity is related to itself. are listed inside the entity rectangle. The n-ary relationship is the general form for degree n. Degree of a Relationship The degree of a relationship is the number of entities associated with the relationship. Many modeling approaches recognize only binary relationships. A ternary relationship involves three entities and is used when a binary relationship is inadequate. Connectivity and Cardinality The connectivity of a relationship describes the mapping of associated entity instances in the relationship. connectivity. A particular instance of an attribute is a value. uniquely identify an instance of an entity. The 94 . type. Attribute Attributes can be classified as identifiers or descriptors. direction. Attribute names should be singular nouns. Special cases are the binary. the association between two entities are the most common type in the real world. Not all modeling methodologies use all these classifications. respectively. Hathaway" is one value of the attribute Name.Attributes Attributes describe the entity of which they are associated. cardinality. An example might be "some employees are married to other employees". when included. more commonly called keys. Binary relationships. Attributes which are identifiers are underlined. Ternary or n-ary relationships are decomposed into two or more binary relationships. and existence. and ternary. For example. The domain of an attribute is the collection of all possible values an attribute can have. Classifying Relationships Relationships are classified by their degree. The values of connectivity are "one" or "many". Attributes. and 3. Identifiers. "Jane R.
one. a single project can have assigned to it many employee. the cardinality is one. conversely. If the crow's foot is omitted. A one-to-one (1:1) relationship is when at most one instance of a entity A is associated with one instance of entity B. there are zero. or many instances of entity B. An example is: Employees can be assigned to no more than two projects at the same time. or many instances of entity A. A one-to-many (1:N) relationships is when for one instance of entity A. 3. many-to-many. sometimes called non-specific. The basic types of connectivity for relations are: 1. An example of a 1:N relationships is A department has many employees Each employee is assigned to one department A many-to-many (M:N) relationship. or many instances of entity B and for one instance of entity B there are zero. Here the cardinality for the relationship between employees and projects is two and the cardinality between project and employee is three. is when for one instance of entity A. but for one instance of entity B. For example. "employees in the company are each assigned their own office. For each employee there exists a unique office and for each office there exists a unique employee.cardinality of a relationship is the actual number of related occurrences for each of the two entities. 95 . 2. there is only one instance of entity A. one-to-many. one. Projects must have assigned at least three employees A single employee can be assigned to many projects. one. one-to-one. Cardinality of many is represented by a line ending in a crow's foot. Many-to-many relationships cannot be directly translated to relational tables but instead must be transformed into two or more one-to-many relationships using associative entities. there are zero.
Type An identifying relationship is one in which one of the child entities is also a dependent entity. Find the natural associations between pairs of entities using a relationship matrix. With one-tomany relationships. The existence of an entity in a relationship is defined as either mandatory or optional. The direction of a relationship is determined by its connectivity. The direction of many-to-many relationships is arbitrary. If the instance of the entity is not required. Put entities in rectangles and relationships on line segments connecting the entities. An example of mandatory existence is the statement "every project must be managed by a single department". Identify the data attribute(s) that uniquely identify one and only one occurrence 96 . Determine the number of occurrences of one entity for a single occurrence of the related entity. Identify Entities 2. Existence is represented by placing a circle or a perpendicular bar on the line. tangible things or concepts about which the end-users want to store data. Mandatory existence is shown by the bar (looks like a 1) next to the entity for an instance is required.Direction The direction of a relationship indicates the originating entity of a binary relationship. entity instance. the entity where the relationship terminates is the child entity. If an instance of an entity must always occur for an entity to be included in a relationship. AN ENTITY RELATIONSHIP DIAGRAM METHODOLOGY: (One way of doing it) 1. Optional existence is shown by placing a circle next to the entity that is optional. Define Primary Keys Identify the roles. Draw Rough ERD 4. events. then it is mandatory. the direction is arbitrary. If both entities are independent. locations. Existence Existence denotes whether the existence of an entity instance is dependent upon the existence of another. the entity occurring once is the parent. A non-identifying relationship is one in which both entities are independent. it is optional. Fill in Cardinality 5. In a oneto-one relationship the direction is from the independent entity to a dependent entity. Find Relationships 3. "employees may be assigned to work on projects". The entity from which a relationship originates is the parent entity. related. An example of optional existence is the statement.
8. One is tempted to make Company an entity. Map Attributes For each attribute. supervisors and employees. Identify Attributes development. 1. Each department has a supervisor and at least one employee. Draw fully attributed ERD in step 8. Find Relationships We construct the following Entity Relationship Matrix: Department Department Employee Supervisor Project belongs to runs uses Employee is assigned Supervisor run by Project works on 3. The important data fields are the names of the departments. Employee. 2. Draw Key-Based ERD each entity.of each entity. but possibly more departments. Identify Entities The entities in this system are Department. Supervisor and Project. 97 . match it with exactly one entity that it describes. Employees must be assigned to at least one. but it is a false entity because it has only one instance in this problem. Name the information details (fields) which are essential to the system under 7. Adjust the ERD from step 6 to account for entities or relationships discovered 9. but an employee may be on vacation and not assigned to any projects. Check Results Does the final Entity Relationship Diagram accurately depict the system data? A SIMPLE EXAMPLE A company has several departments. 10. At least one employee is assigned to a project. as well as the supervisor and employee number and a unique project number. projects. Draw Rough ERD We connect the entities whenever a relationship is shown in the entity Relationship Matrix. Eliminate Many-to-Many relationships and include primary and foreign keys in 6. True entities must have more than one instance.
5. Each department is assigned at least one employee. Fill in Cardinality From the description of the problem we see that: Each department has exactly one supervisor. Define Primary Keys 98 . Each project has at least one employee working on it. An employee is assigned to 0 or more projects. Each employee works for at least one department. A supervisor is in charge of one and only one department.4.
Employee Number. Supervisor Number. Identify Attributes 99 . 6. Project Number. The primary key for Employee-Project is the concatenated key Employee Number and Project Number. The primary key for Department-Employee is the concatenated key Department Name and Employee Number. 7. between Department and Employee and between Employee and Project. Draw Key-Based ERD There are two many-to-many relationships in the rough ERD above.The primary keys are Department Name. Thus we need the associative entities Department-Employee and Employee-Project.
8. projects. Draw Fully Attributed ERD 100 .The only attributes indicated are the names of the departments. supervisors and employees. as well as the supervisor and employee NUMBER and a unique project number. Map Attributes Attribute Department Name Employee Number Employee Name Entity Department Employee Employee Attribute Supervisor Number Supervisor Name Project Name Project Number Entity Supervisor Supervisor Project Project 9.
Another source for identifying entities is to study the forms. store and produce information. tangible things. Each row and column should have at least one relationship listed or else the entity associated with that row or column does not interact with the rest of the system. and reports generated by the current system. For example. but also Course (an event). The first symbol is either 0 to indicate that it is possible for no instances of the entity joining the connector to be related to a given instance of the entity on the other side of the relationship.10. Step 2. Step 4. or concepts. Find Relationships There are natural associations between pairs of entities. Advisor (a role). a student registration form would refer to Student (a role). Check Results The final ERD appears to model the data in this system well. more than one student must be 101 . etc. Fill in Cardinality At each end of each connector joining rectangles. The placement of these numbers is often confusing. E. The best way to identify entities is to ask the system owners and users to identify things about which they would like to capture. . A student is enrolled in one or more courses subject verb objects Step 3. we can form a relationship matrix by filling in an active verb at the intersection of two entities which are related. FURTHER DISCUSSION: Step 1. locations. Entity types fall into five classes: roles. In this case. events.g. Room (a location). we need to place a symbol indicating the minimum and maximum number of instances of the adjacent rectangle there are for one instance of the rectangle at the other end of the relationship line. Listing the entities down the left column and across the top of a table. Draw Rough ERD Using rectangles for entities and lines for relationships. we can draw an Entity Relationship Diagram (ERD). Instructor (a role). files. you should question whether it makes sense to include that entity in the system. 1 if at least one instance is necessary or it is omitted if more than one instance is required. Identify Entities A data entity is anything real or abstract about which we want to store data.
there are crows feet on both ends of the relationship line. If there is only one such instance.g. we may see some relationships which are nonspecific or many-to-many. I.. If you read it like a sentence. Such relationships spell trouble later when we try to implement the related entities as data stores or data files.e. If more than 1. the symbol is a crows foot opening towards the rectangle. a Room needs a Building Name and a Room Number). It will have a 1-1 relationship with each of its parent entities and each parent will have the same relationship with the associative entity that they had with each other before we introduced the associative entity. called an associative entity for each many-to-many relationship. Draw Key-Based ERD Looking at the Rough Draft ERD. the first entity is the subject. but it is possible for no students to have a particular instructor (if they are on leave). this symbol is 1. When the entity is written with all its attributes. Step 6. It will have a concatenated key consisting of the keys of these two entities. The new associative entity's name will be the hyphenation of the names of the two originating entities. the cardinality after the relationship tells how many direct objects (second entity) there are. the relationship is the verb. since each record will need an indefinite number of fields to maintain the many-to-many relationship.enrolled in a course for it to run. a Student ID). a course needs a department identifier. The original relationship between the parents will be deleted from the diagram. Other times the identifier is a set of fields or attributes (e. we can solve this problem. and often a section number.g. the primary key is underlined. Define Primary Keys For each entity we must find a unique primary key so that instances of that entity can be distinguished from one another. a course number.e. Fortunately. The second symbol gives the maximum number of instances of the entity joining the connector for each instance of the entity on the other side of the relationship. The key-based ERD has no many-to-many relationships and each entity has its primary and foreign keys listed below the entity name in its rectangle. by introducing an extra entity. I. Step 7. Identify Attributes 102 . Often a single field or property is a primary key (e. A student is enrolled in one or more courses subject verb objects Step 5.
Identify these missed entities and add them to the relationship matrix now. look over the list of attributes associated with each entity to see if anything has been omitted. Draw Fully-Attributed ERD If you introduced new entities and attributes in step 8. etc. try to rearrange it so no lines cross by putting the entities with the most relationships in the middle. so when we use the entity to design the new system.) Step 8. Step 10. extraneous items such as signatures. Also. redrawing the diagram is relatively easy. Often it seems like an attribute should go with more than one entity (e. If you use a tool like Systems Architect. you still need to add the attributes to the Non-Key Data section of each rectangle.g. Map Attributes For each attribute we need to match it with exactly one entity. The best way to do this is to study the forms. you may have missed an entity and its corresponding relationships. your company name and address).g.) or determine which entity an attribute "best' describes. Even if you have no new entities to add to the Key-Based ERD. Check Results Look at your diagram from the point of view of a system owner or user.A data attribute is a characteristic common to all or most instances of a particular entity. In this step we try to identify and name all the attributes essential to the system we are studying without trying to match them to particular entities. FLOWCHARTS THEIR PURPOSE 103 . files and reports currently kept by the users of the system and circle each data item on the paper copy. all its attributes will be available. You should always verify these with your system users. Employee Name. When you do so. and constant information which is the same for all instances of the form (e. Step 9. The remaining circled items should represent the attributes you need. Cross out those which will not be transferred to the new system. If you have attributes left over without corresponding entities. Is everything clear? Check through the Cardinality pairs. Adding these attributes automatically puts them in the repository. you need to redraw the entity relationship diagram. Customer Name. Name). (Sometimes forms or reports are out of date. In this case you need to add a modifier to the attribute name to make it unique (e.g.
have become more and more specialized as the areas using them became better defined. It is much easier and faster to try an idea with a flowchart than to write a program and test it on a computer. In other words. computer operators and users. but to the persons schooled and working in electronics they are highly meaningful. and control flow . the ideas as to how to organize the sequence of steps or events necessary to solve a problem with a computer. They help avoid the possibility of overlooking important details. We do not understand these charts. which have been in use for many years. students. Facilitate coding.and processing logic in information processing. Flowcharts are a quick method of illustrating program flow. Aid in algorithm development and experimentation. They quickly and clearly impart ideas and descriptions of algorithms to other programmers. Provide an overview. It documents the steps followed in an 104 . The symbols used are simple and easy to learn. Provide program revision. All details in program logic must be clarified and specified. flowcharts are symbolic diagrams of operation sequence. They Provide communication Flowcharts are an excellent means of communication. In the same way. Flowcharts. the data processing industry has developed its own set of special symbols for use in picturing the activities in the processing of data. Check program logic. data flow. This is a valuable check for maintaining accuracy in logic flow. leaving incomplete branches. The first formal flowchart is attributed to John Von Neumann in 1945. very important planning and working tools in programming. The flowchart specifies all the steps to be coded and helps to prevent omissions or errors. Provide program documentation. they are an indispensable guide in inserting changes and alterations without disrupting program flow. teachers.Flowcharts. A form of charting we all recognize is the diagram of electrical circuits. etc. Experimenting with alternative algorithms is facilitated with flowcharts. twodimensional format. from the upper left-hand corner of a page. left to right and top to bottom. The charts are read in the same manner that we learned to read a page. A programmer can code the programming instructions in a computer language (code) with more ease with a comprehensive flowchart as a guide. The flowchart provides a permanent recording of program logic. have many purposes. A flowchart is simply a method of assisting the programmer to layout in visual. Flowcharts show all major parts of a program. Flowcharts provide a clear overview of the entire problem and its algorithm for solution. They show all major elements and their relationships. Flowcharts facilitate modification of running programs.
If there is a program instruction to input data from the disk tape. It is the first symbol and the last symbol in the program logic. multiplying and dividing are shown by a processing symbol. In addition. magnetic disk. the condition upon which each of the possible exit paths will be executed should be identified. They are shown in Figure and their functions are discussed below. When more than one arithmetic and data movement instructions are to be executed consecutively. Terminal The terminal symbol is used to indicate the beginning (Start). 2. and all the 105 . Three different ways in which a decision symbol can be used. whether it is ou!l2l!LQn a printer. The decision symbol is used in a flowchart to indicate a point at which a decision has to be made. The input/output symbol is used to denote any function of an input/output device in the program. or any other type of input device. or any output device. Hence. all arithmetic processes of adding. A pause is normally used in the program logic under some error conditions or if forms had to be changed in the computer's line printer during the processing that program. magnetic tape. terminal screen. Decision. are indicated in the flowchart with an input/output symbol. The logical process of moving data from one location of the main memory to another is also denoted by this symbol. It may be noted from these examples that the criterion for making the decision should be indicated clearly within the decision box. subtracting. and pauses (Halt) in the program logic flow. the pause is also indicated by a terminal symbol. if the program logic calls for a pause in the program. that step will be indicated in the flowchart with an input/output symbol. end (Stop). carefully drawn flowchart indi5tpensable part of documentation for each program. all output instructions. Processing. terminal. 1. These basic flowchart symbols have been standardized by the American National Standards Institute (ANSI). 3. A processing symbol is used in a flowchart to represent arithmetic and data movement instructions. Input/Output. 4. Moreover. A comprehensive. is an Basic Flowchart Symbols Only a few symbols are needed to indicate the necessary operations in a flowchart.algorithm. and a branch one of two or more alternative points is possible. Similarly. they are normally placed in the same processing box and they are assumed to be executed in the order of their appearance.
5. However. two connectors with identical labels serve the same function as a long flow line. flow lines are usually drawn with an arrowhead at the point of entry to a symbol. or it spreads over more than one page. A pair of identically labeled connector symbols is commonly used to indicate a continued flow. and a letter or digit is placed within the circle to indicate the link. How is it possible to determine if a connector is used as 106 . it is useful to utilize the connector symbol as a substitute for flow lines. Flow lines Flow lines with arrowheads are used to indicate the flow of operation. the appropriate path is followed depending upon the result of the decision. they show an exit to some other chart section. Good practice also dictates that flow lines should not cross each other. Hence. 6. That is. The normal flow of flowchart is from top to bottom and left to right. and to avoid ambiguity. the exact sequence in which the instructions are to be executed. or they indicate an entry from another part of the chart. Connectors Whenever a flowchart becomes complex enough that the number and direction of flow lines is confusing. A connector symbol is-represented by a circle. This symbol represents an entry from.possible paths should be accounted for. as a good practice. During execution. . when the use of a line is confusing. Arrowheads are required only when the normal top to bottom flow is not to be followed. and that such intersections should be avoided whenever possible. that is. or an exit to another part of the flowchart.
storing. and removing mistakes (bugs) in a program in a systematic manner. it is easier for a programmer to explain the logic of a program to some other programmer. because programmers find it easier to follow the logic of the Flowchart. rather than the program itself. Better Communication. 107 . The process of removing errors (bugs) in a program is known as debugging. Efficient Coding. and does not disappear with the departure (resignation/retirement) of a programmer. which does have an outlet. programmers find it very easy to write the corresponding program. developed at a faster rate. Hence. Good documentation is needed for the following reasons: Documented knowledge belongs to an organization. ensuring that no steps are omitted. 2. because the flowchart acts as a road map for them. . Systematic Debugging. 3. Advantages and Limitations of Flowcharts Advantages The following benefits may be obtained when flowcharts are used for the purpose of program planning: 1. Flowcharts often provide valuable documentation support. 4. Proper Program Documentation. The ultimate result is an error-free program. If projects are postponed. It guides them to go from the starting point of the program to the final point. documented work will not have to be duplicated. locating.an entry or an exit point? It is very simple .if an arrow enters. or to his/her boss through a flowchart. but does not leave a connector. different sets of data are fed as input to that program to test the different paths in the program logic. A flowchart is a pictorial representation of a program. For testing a program. Testing is the process of confirming whether a program will successfully do all the jobs for which it has been designed under the specified constraints. 5. and otherwise maintaining a complete historical record of programs. It may be noted that connectors do not represent any operation. Once a flowchart is ready. and their use in a flowchart is only for the sake of convenience and clarity. and program control is transferred to the identically labeled connector. A flowchart is very helpful in detecting. Program documentation involves collecting. If programs are modified in future. and the other documents associated with a system. organizing. Systematic Testing. the programmer will have a more understandable record of what was originally done. it is an exit point.
Flowcharts are very time consuming. and laborious to draw with proper symbols and spacing.000 statements. These software tools read the program's instructions and draw a flowchart of its logic. and that shown in its flowchart. Limitations In spite of their many obvious advantages. especially for large complex programs. That is. developed for relatively small programs. Plan the solution 4. flowcharts have some limitations.A flowchart proves to be very helpful in designing the test data for systematic testing of programs. 7. Draw a detailed program flowchart for each program. any changes or modifications in the program logic will usually require a completely new flowchart. Check the program flowchart 8. There are no standards determining the amount of detail that should be included in a flowchart. This defeats the purpose of use of flowcharts as documentation support for programs. 2. Outline the system by drawing the system flowchart 5. This leaves the program and its flowchart in an inconsistent state. Test the program flowchart and system flowchart by using data that has been prepared. As preparation and planning proceed. this is a backward approach in which flowcharts are drawn from program codes mainly for documentation purpose. which are as follows: 1. Research the problem 2. the logic used in the program. To take care of this problem. In this chapter. Decide on the method of solution 3. That is. more information may be needed. which automatically generate flowcharts directly from the program code. Owing to the symbol-string nature of flowcharting. These steps may not be treated as an absolute rule: they are intended only as 108 . Check the system flowchart 6. do not match. many programmers do not redraw or modify the corresponding flowchart when they modify their programs. many companies use software tools. you have seen examples of small program flowcharts. Redrawing a flowchart being a tedious task. 3. CONSTRUCTING FLOWCHARTS Eight steps that will insure complete preparation and execution of a flowchart are: 1. You can very well imagine how difficult it would be to develop a detailed program flowchart for a program containing over 50.
'C'. 5. 6. The flowchart is part of the program documentation. and the symbol description should be meaningful to any programmer: 3. 'B'. BASIC Marks. and COBOL Marks. Print clearly and use a flowcharting template. It also gives the printout of the total number of males. and must be treated as such. connectors should be used to reduce the number of flow lines. Stopping condition is Roll Number 9999. FORTRAN. When constructing flowcharts. When possible. Use meaningful descriptions in the symbols. The flow of the flowchart should be from top to bottom and from left to right. Total students in Grade 'A'. Input is Roll Number. Legibility is important. If the flowchart is complex. Total number of students failed? Rules for evaluation: If average mark is = 80 then grade is 'A' If average mark is = 70 and 80 then grade is 'B' If average mark is = 60 and 70 then grade is 'C' If average mark is = 50 and 60 then grade is 'D' Otherwise grade is 'FAIL" Subjects are BASIC. you should attempt to observe the following guidelines: 1.guidelines. 4. A void intersecting flow lines. Pascal Marks and FORTRAN Marks. Suppose we are required to write a flowchart to calculate marks and grade obtained by each student in a class and also find out: 1. dbase IV. construct flowcharts on special flowcharting forms that allow symbols to be' placed n fixed Example: Find out how many males and females are present in a seminar. dBase IV Marks. 2. Marks for each subject is 100. total class strength ? 2. total number of females and total number of persons present. COBOL. 109 . Pascal. 'D'? 3.
but the sub-system's flow-chart should have cross reference points that demonstrate the sub-system interrelationships. using specialized and uniform symbols. processing and outputs. The following criteria are therefore required: 1. Internal Controls 111 . Style The Skinner and Anderson style. 2. 3. This technique allows the reader to identify clearly changes in responsibility as the documents flow through the system. Arrowheads are used to indicate the direction of flow. a means of processing and an output. Each sub-system is an individual function or process in its own right. which describes the flow of documents. Following are the features of system flowcharts: the sources from which data is generated and device used for this purpose various processing steps involved the intermediate and final output prepared and the devices used for their storage The system to be flow-charted must be identified. It is essential that flow-charting techniques within the Section are standardized so that all flow-charts produced can be followed by all staff. Separation of Duties Areas of responsibility are established on flow-charts as vertical columns or sections through which the flow of documents takes place. It also reflects the relationship between inputs. In preparing flow-charts the flow-lines should cross as infrequently as possible.System Flow-chart System flowchart describes the data flow for a data processing system. 4. Before beginning the flowchart drawing it is necessary to break the system down into relevant subsystems. the operations performed in data processing system. Flow-lines Flow-lines are used to show how documents and records are related. Systems usually have some sort of input. It provides a logical diagram of how the system operates. It represents the flow of documents.
Examples include authorizations. Written Comments The use of comments and explanations is encouraged whenever it will make a flow-chart easier to understand. Identification Each flow-chart should also include details of: date of drawing. 7. Disposition of Documents Indicate the final user or storage location of every document and record contained in the flow-chart. relevant system's name. resources involved in processing. 112 . Process Symbol Use a process symbol for every document or record prepared: Every document must result from some type of action. external to the system being flow-charted or external to the department. sub-system name.The inclusion of significant internal controls in a flow-chart aids the auditor in evaluating internal control. 6. Internal controls can normally be identified most effectively by written comments. 5. internal verification and reconciliations. 9. whether from within the system being flow-charted. and volume of items processed. sub-system objective. The action should be shown by the use of a process symbol. Document Source Show the source of every document in the flow-chart. who drew the flow-chart. 8.
System Flow-chart symbols The following is a list of basic flow-charting symbols: Example of System Flow-chart The following is a simplified version of a flowchart for College Admission System to demonstrate the use of forms. and general layout required: 113 .
The form of the iteration symbol clearly shows the scope of the iteration. The left-hand portion of the symbol shows the path of repetition to follow until the conditions controlling the iteration are satisfied. They show the equivalent of the IF-THEN-ELSE structures discussed previously under structured English and common in many programming languages. Organization responsibilities vary. This symbol represents initialization of values. (There are many similarities between these elements and the components used in structured English. In either case. The succession of steps is shown using several process boxes. also called Nassi-Schneiderman charts. Iteration The iteration symbol represents looping and repetition of operations while a certain condition exists or until a condition exists. the decision symbol may show actions for more than two alternatives at the same time. and iteration. are graphic tools that force the designer to structure software that is both modular and topdown. In some organizations. including all processes and decisions that are contained within the loop. while in others that responsibility is delegated to the programmer. the programmer should be well versed in the use of structured flowcharts. Decision The decision symbol represents alternative conditions that can occur and that the program must have a manner of handling. A name or brief description written in the box states the purpose of the process. and calls to execute other procedures. They provide a structure that can be retained by programmers who develop the application software.Structured Flow Charts Structured flowcharts. the process symbol. Basic Elements There are three basic elements used in developing structured flowcharts: process. ) Process Simple processes or steps in a program are represented by a rectangular box. As examples will show. input and output activities. 115 . decision. analysts are responsible for developing module logic.
each condition is clearly shown. debit. there is a single exit from the process. Fig :Stuctured Flow Chart 116 . But individual modules are referenced to handle the processing for each type of transaction. When designing a structured flowchart the systems analyst specifies the logic in a top-down fashion. In addition. The fact that the structure chart is easy to read will enable the analyst to determine whether the debit adjustment transaction. For example. Each process is named. payment. An important use of structured flowcharts for the designer concerned about verifying systems specifications against planned software logic is to identify conditions and procedures followed when the conditions exist. has been added by the programmer or is a part of the original systems specifications. and credit transactions are identified in the module described in Figure. Similarly. for example. The analyst begins with a major process and introduces other symbols to subdivide the process. The structure chart reads from top to bottom and left to right. The second in sequence is the next one shown. the purchase. but. Figure shows the steps needed to produce customer invoices during a monthly processing cycle. This simple convention makes it possible to link together easily different procedures that are performed to complete an entire activity. The first consideration in a process or decision is the top element. and so forth. it is a reference to some other diagram or description. if the name is not underlined. Individual parts of processes are often further described in lower level diagrams. Each structured flowchart is shown on a single sheet of paper (or single display screen. Each activity is nested within the iteration and alternative processes of which it is a part. if developed online).Using Structured Flowcharts Structured flowcharts use no arrows or continuations on separate pages.
but rather the hierarchical organization of functions and the processes that they include. The process of starting at a high level and moving into smaller and smaller subsystems is called decomposition. Then we describe the way in which 117 . it is helpful to first understand the business functions that the organization needs to perform. This is a top-down approach to systems development.Functional Decomposition Diagram Before an analyst can plan what systems to build for the organization. Then it is much easier to identify processes that occur within the business functions. The functional decomposition diagram (FDD) is a planning tool for identifying business functions and the processes that comprise them. and ultimately the systems that will support those processes. we first explain how to read functional decomposition diagrams and describe their basic syntax. In this supplement. The functional decomposition diagram itself does not depict process flows.
Licensing. which correspond to the main functional areas within the 118 . an analyst can understand the high-level functions that the DMV performs and the system that is needed to support each function. you should note that there is no particular order implied by the boxes.FDDs are built: identifying the functions of the organization and identifying their respective processes.e. Take a moment and examine the diagram before reading the next paragraph.. rectangles) correspond to the departments within the DMV: Registration. and finally into sub processes. which represents the organization under analysis. however. How much do you understand? Figure : Department of Motor Vehicles Functional Decomposition Diagram D epa rtmen t o f M o t o r V eh icles R eg ist ra t io n D epa rtmen t Licen sin g D epa rtmen t M o t o r V eh icle R eg u la t io n D epa rtmen t R eg ist ra t io n S y st em D riv er's Licen sing S y st em R eg u la t io n S y st em Issue D riv in g Tests Issue Licen se Get Ph o to g ra p h C rea te Licen se U pda te D M V D a ta b a se Most people start reading in the top center of the FDD. Instead. and then processes. By examining this FDD. Notice that it depicts a more traditional view of the organization in that the primary functions (i. Reading a Functional Decomposition Diagram Figure shows a functional decomposition diagram of the Department of Motor Vehicles1. Beneath this function are three sub functions. The first item at the top of the FDD in Figure 1 is the Department of Motor Vehicles function. the FDD depicts a hierarchy whereby top-level functions are organized into decomposed functions. and Regulation.
and Update DMV Database. Also. If a function only has one child. Notice how lines are drawn to show subprocesses that correspond to the processes. Syntax Function A functional decomposition diagram is composed of functions. the current trend is for functions to represent major organizational processes that may cross departmental boundaries. which are crossorganizational collections of activities . Notice that the rectangles on the third level of the FDD have rounded corners. and the use of subfunctions allows analysts to break down functions into simpler components that are easier to understand and plan. Organizations are very complex. For example. representing processes. most FDDs are much more complex.. the child usually is not included on the FDD because it adds little to the meaning of the diagram. and ultimately they are used to guide the analysts who need to determine what systems are needed within the organization to support the business. and how they are usually recorded in CASE tools. These are functions that are drawn below a function on the FDD and connected with a straight line. In practice. Figure shows the basic elements of a function. such as order fulfillment or inventory management. A process is activity that needs to be performed to support some function. and a description. This diagram is an example of the beginning of a basic FDD. however. which in turn includes three subprocesses: Get Photograph. Functions may include a variety of subfunctions.DMV. and marketing. A function is a parent to a subfunction. Functions are denoted by rectangles with square corners representing collections of both manual and automated processes. a child can have only one parent. Every function has a name. connectors) that communicate the hierarchical relationships among parts of the diagram. 119 . and a subfunction is a child of a function. the Driver's License process includes an Issue License subprocess.e. A traditional view is that functions correspond to departments within an organization. which is described in the CASE repository. purchasing. such as research and development. Create License. Descriptions clearly and precisely describe the collection of activities within the function. They are connected by lines (i.
one that is entirely up to you. you can break down functions into processes. A process represents a tangible activity that occurs within the organization. In general. A process is an activity that is performed for some specific business reason. yet contain enough information so that the reader can easily understand exactly what they do. each process performs 120 . and it is denoted by a rectangle with rounded corners The conceptual dividing point is somewhat arbitrary. but you can usually differentiate a process from a function by the amount of activity that it represents. such as issuing a driving test or creating a license.Figure : FDD Elements FDD Element Every Function has A name Zero or more than one children Zero or one parent Every Process has A name Zero or more than one children One parent Every Connector Has no name Connect any two of the above elements An Off-page connector Is denoted by the hexagon Has a title Is used when the diagram is too large to fit everything on the same page Symbol Typical CASE Fields Label (Name) Type (Function) Description (What it is) Notes Label (Name) Type (Process) Description (What it is) Notes None Name Name None NAME Process The FDD can include several levels of functions that are broken down into finer gradations. Names should be short. At some point.
the next step is to learn how to put them together to form an effective planning tool for the new system. Unlike processes and functions. A hexagon is used to continue the diagram on another page. it is important to identify the processes that are needed to support the functions that exist on the FDD. Building the Structure Chart Now that you understand the individual components of the functional decomposition diagram. processes include actions that must be performed no matter how the system is implemented. and the second level includes the major activities that the system will perform. the analyst will have to learn more details about how the business performs its functions. and it is usually 121 . Identify Functions To create the functional decomposition diagram. the Driver's Licensing System process consists of the Issue Driving Tests and Issue License subprocesses. Every component on an FDD should be connected to at least one other component. For example. and they can be broken down into smaller parts called subprocesses. You then add rectangles on the next line to represent the primary functions of the business. When creating this portion of the diagram. connectors are not named.g. the Driver's License System). You likely will get the information to create this diagram from the business leaders of the organizations. and a child process can only have one parent. processes. The first level of processes usually represents the overall system that supports the function (e. you simply draw one function symbol for the business being modeled and place this at the top center of the diagram. Identify Processes Next. especially when depicting a large or complex program.only one activity. in the case of the DMV. so most system analysts avoid using the word "and" in process names because it suggests that the process performs several activities. Another similarity with functions is that child processes can be a parent of more than one subprocess. A related symbol found on the FDD is the off-page connector FDDs can become quite unwieldy. particularly members of the top management team. the Driver's License system includes two main processes – issuing the driving tests and issuing the driver's licenses. Connectors Connectors are lines between functions. and from a function to a process.. Like functions. They specify hierarchical relationships among the components of the FDD. but instead their presence implies the phrase "consists of." For example.
helpful to gather information from people in the company who are actually involved with the processes. Again, interviews and JAD sessions are the requirements gathering techniques of choice. The steps of identifying functions and processes are iterative. As the analysts gather more and more information about the business and its processes, the FDD will be changed and refined. Balance with Process Models Once the analyst is far enough along with the FDD, he or she can use the diagram as a starting point for process modeling. In fact, components of the FDD directly correspond to components on data flow diagrams. Each process on the first level of processes on the FDD is placed within its own Context diagram. Thus, the Driver's License System process on the FDD in Figure becomes the main process on the context diagram describing that system. Similarly, the FDD's first level of sub processes are the processes that exist on the Level 0 DFD. Based on Figure 1, the Level 0 DFD for the Driver's License System will include two processes: 1. Issue Driving Tests and 2. Issue License. Below Figure presents a checklist that summarizes the rules of FDDs that have been described in the last few sections.
Figure : Checklist for Functional Decomposition Diagram Quality All functions and processes are connected to at least one other function or process Every parent has at least two children Every child only has one parent Labels are descriptive Connectors are not named (assumed to be "consists of") Each process on the first level of a FDD becomes a system on a context diagram Each subprocess on the second level of an FDD becomes a process on the Level 0 data flow diagram Applying Concepts at CD Selections Now that you are familiar with the basic components of the functional decomposition diagram, the best way to learn how to build the diagram is to step through an example that shows how to create one. Creating a decomposition diagram is usually a three-step iterative process. First, the analyst identifies the top-level functions and then decomposes them into lower levels or subfunctions. Second, the analyst adds the processes and subprocesses that support the
business functions. Finally, the analyst reviews the FDD and revises it again and again until it is complete, making sure that the diagram balances with its related process models (i.e., DFDs). Identifying Business Functions CD Selections is a CD company that has both brick-and-mortar retail stores, as well as an interest in moving towards Internet sales. Before embarking upon the project for a new Internet Sales system, the project team felt that it would be wise to take a top-down approach and first understand the main functions of CD Selections as an organization. They then would better understand which business functions the new system should support. The project team applied a variety of different information gathering techniques. They met with the business sponsor as well as three members of the senior management team in one-on-one interviews. The first interview was with the company's President; they were given half an hour to get a feel for how he envisioned the functions of CD Selections from a strategic perspective. The next interviews were with the Vice President of Supply Chain Management and the Vice President of Marketing and Sales to better understand the actual operations of CD Selections and its functions and major processes. As each of the interviewees described the major organizational responsibilities of CD Selections, the team translated these into business functions. During the interviews, the project team learned about the CD Selections value chain, and the major functions of the organization were identified as major activities of the value chain: Inbound Logistics, Operations, Outbound Logistics, Marketing and Sales, and Service. Human Resource Management was also included as an important internal function. These functions were placed on the Decomposition Diagram as shown in Figure 3. Figure : Decomposition Diagram for CD Selections – Take 1
C D S electio n s
Inb o u nd Lo g istics
Opera tio ns
Outb o u nd Lo g istics
M a rketing a nd Sa les
Huma n R eso u rce M a na g emen t
Identify Processes Next, the project team needed to understand the activities within the organization that were performed to support the business functions, with a focus on Marketing and Sales. To do this, they again gathered requirements using interviews, and they also conducted JAD sessions with some low-level managers and supervisors who were directly in charge of some of the key processes. Ultimately, they were able to document the processes of the major functions; below Figure describes the project team's understanding of the Marketing and Sales business function. Based on the information in Figurethe project team created the FDD found in Figure .
Figure : Description of the Marketing and Sales Function The Internet sales system will have a database of basic information about the CDs that it can sell over the Internet, similar to the CD database at each of the retail stores (e.g., title, artist, id number, price, quantity in inventory). Every day, the Internet sales system will receive an update from the distribution system that that will be used to update this CD database. Some new CDs will be added, some will be deleted, and others will be revised (e.g., a new price). The Electronic Marketing (EM) Manager (a position that will need to be created) will also have the ability to update information (e.g., prices for sales). The Internet sales system will also maintain a database of marketing materials about each CD that will help Web users learn more about them. Vendors will be encouraged to e-mail marketing materials (e.g., music reviews, links to Web sites, artist information, and sample sound clips) that promote their CDs. The EM Manager will go through the e-mails and determine what information to place on the Web. He or she will add this information to a marketing materials database (or revise it or delete old information) that will be linked to the Web site. Customers will access the Internet sales system to look for CDs of interest. Some customers will search for specific CDs or CDs by specific artists, while other customers want to browse for interesting CDs in certain categories (e.g., rock, jazz, classical). When the customer has found all the CDs he or she wants, the customer will "check out" by providing personal information (e.g., name, e-mail, address, credit card), and information regarding the order (e.g., the CDs to purchase, and the quantity for each item). The system will verify the customer's credit card information with an online credit card clearance center and either accept the order or reject it.
when CDs are sent to customers (via UPS or mail). which in turn will e-mail the customer. The distribution system will handle the actual sending of CDs to customers. Figure : FDD – Take 2 C D Selectio ns Inbo und Lo g istics Opera tio ns Outbo und Lo g istics M a rketing a nd Sa les Serv ice Huma n R eso urce M a na g ement R eta il Sa les Sy stem Internet Sa les Sy stem M a inta in C D Info rma tio n M a inta in M a rketing Info rma tio n Ta ke Order M a inta in Order 125 . the orders will be pulled out of the order database and sent to the distribution system. Weekly reports can be run by the EM manager to check the order status. however.Every hour or so. the distribution system will notify the Internet sales system.
USER INTERFACE DESIGN WHAT IS AN INTERFACE? An interface is the common boundary between the user and computer system application-the point where the computer a individual interact. Its features influence the effectiveness of I of the system. Their experience with the interface forms the basis for their judging system's features. enter. 126 . as well as the frequency of mistakes and error. and in a manner they perceive as being a Natural and reasonable way to request and carry out activities includes the use of methods that will not grow tiresome or unacceptable to frequent users who become familiar with the system but that will facilitate equally effective use by novice users. or retrieve data between system functions 2. Systems analysts frequently consider the interface as a window he system. scanner. And they may have little appreciation internal and invisible technical details or the elegance of the computer code. Users. a view of a portion of the entire system's features. Facilitate use of the system: Allow users to accomplish processing actions or activity efficiently and effectively. tend to view the interface window as the entire system. in contrast. Purpose of Interface The systems analyst's objective is to design an interface I Accomplish the following purposes: 1. Common interface devices in online systems are the keyboard mouse. we cannot expect users and others affected by the system to judge it to be acceptable. or voice. If the interface does not allow easy entry of data or the initiation of actions. Avoid user errors: Prevent the taking of any action that will create a processing error or interrupt the expected actions of the computer system. 3.of making serious mistakes. the dialogue which prompts and guides users. with simplicity and without . and the methods and patterns followed In display of information. as the senior analyst pointed out in the vignette at inning of this chapter. entering data or instructions. Tell the system what actions to take: Select processing actions. change. light pen. touch screen. Characteristics of Interface Characteristics of the interface in online systems include the devices used to enter and receive data.
messages received through the interface inform the user of system actions and responses. and they must know which actions are valid. We call this navigation. Third. Because the display screen. The way the physical area of a display is structured. Here are some of the questions you might ask: Where am I in the system? Where do I go next? How do I go to the beginning? How do I move backward? 127 . To see the next page of information. the interface includes features that allow users to signal the system which processing functions to perform. or somewhere in the middle. the analyst must keep the user informed about which page is being displayed. They can also tell when they are near the beginning of the multi-page report. presents only one page of information at a time. Users also react to the manner in which information is organized for display in an online system. In addition. the dialogue determines the amount of information that must pass between system and user. Users tell the system which pages of information to display or how to move between different functions.The dialogue guides the interaction between system and user. take on added importance in a computer-based application. Poor dialogue can undermine the best interface devices. they need only turn the page. For example. Users must always know or be able to find out what to do next. These actions. All these activities are necessary and the design features of a system can either impede or accommodate their performance. near the end. which seem so obvious in a manual system. Put yourself in the position of a computer user examining a display screen filled with information in a new application. they know that to begin review of a lengthy report. how to access other pages. The particular design influences the detail one must specify and the way in which it is articulated. as well as the particular methods of highlighting and signaling can enhance the readability of display information. but the right dialogue can make the boundary between user and system seems nonexistent. and how to move about. users can see how to skip through the information they have before them. As we will see. the user's window into the records and files. Actions Occurring at Interface Three types of actions occur at the system interface. they must simply flip open the cover. Navigation In a manual system of reports and documents.
we can combine the features of menus with navigation needs to fill these user requirements.. diskette. If the system is well-designed. 128 .How do I cancel the effect of my last action? How do I correct my mistake? . can be changed) at a certain moment. includes a description of each data item and its position on the display screen. Data retrieval The specification of data or records to be located and retrieved from storage for display. users are hardly aware that there is a system at all. so much so that they are not aware they are using a computer. editing. usually on secondary storage devices such as magnetic disk. You can add others. Data storage The transfer of data from the active input area to storage. a point that was emphasized in the vignette at the beginning of this chapter. Keep in mind a fundamental principle in the design of computer Information systems.e. using any of several data entry methods. Processing Actions In our design. but the point is that the answers to these important questions are not as obvious in an online system as they are in \ a manual system. The system must indicate which data items on a display screen are in edit mode (i. Data editing Changing a previously entered data item. As we will see. we have to include ways to let the user know how to take each of the following actions Data entry The input of data. The system must show the user which data item it is addressing as each character is entered. or output. The actions they take seem normal and comfortable and can be taken with little thought. or tape.
interrupt) an activity. The nature of actions occurring at the interface-navigation through a system. Dialogue charts. They also illustrate how the user can exit (i. individuals will tend to avoid the system. An easy-to-use dialogue means that conversation 129 . the status of certain events and activities. Its characteristics not only determine the "friendliness" of the system but even influence a person's decision to use the system at all. Systems analysts often build in user-assistance features in the form of "help screens". they also need to know when errors and interruptions of processing occur. Dialogue Design Decision The flow of conversation between user and system is entirely dependent on the design of the dialogue. In general. Dialogue Charts Analysts often depict the activities in an information system in the form of simple graphic illustrations. show what sequence of activities a system can perform and how to initiate the actions. a principle that was stressed throughout the vignette at the beginning of the chapter.. In a sense. they use all or part of the display screen to provide information about how to use a certain function or initiate a particular action.e. When planning online dialogue that includes help functions. at which time they can be invoked by the user. DESIGNING DIALOGUE A dialogue is the user's way to interact with the computer system and application. as they are called. Experience has shown that if a system is hard to use because of the dialogue.Receiving of Messages An important part of the interface is the communication of messages between system and user. the selection of processing actions. Individuals want to know when to initiate or take actions. even if they could be more productive or effective by using it. and the use of messages-will depend on the dialogue strategy the analyst selects when designing the application. you might say the dialogue chart is a road map through the system. and when a task is completed. help screens stay behind the scenes until they are needed. analysts show these functions residing in the background by drawing the help screen behind the primary screen. When invoked. Of course. These messages are as essential to good systems design as the layout of a display.
Menu dialogues can also be designed to use interface devices other than the keyboard. the most common dialogue strategy. Touch-sensitive screens allow users to initiate an action by touching a spot on the display screen. These decisions. Awkward designs impede system usage. Menu-Driven Dialogue Since online systems provide several input and processing options to users. To invoke any option. to initiate printing in some systems.. We will see first why novice users rate the menu form. A menu is an exhaustive list of available system functions that are displayed on the terminal or workstation so the user can choose among them. Thus. Menus serve this purpose. Dialogues that use this method of interaction are said to be menudriven. Some systems can accommodate a light pen to invoke the desired processing or allow the user to move a bar of light over the desired menu function to be selected. Still others allow users to point 10 the desired option with a mouse. For example. a small manual interface device. a method is needed to show users the available alternatives. termed a soft key. the user should be able to select and invoke any menu alternative by depressing a single key that corresponds to the desired alternative. the user need only enter the number corresponding to the description of the function. the user need only depress the 4 key.can flow easily. Menu Alternatives If the system is well designed. some systems allow users to select a function by pointing to it on the screen rather than by keying in a number. The strategy used will largely influence the user perception of the system. which the analyst must make in designing dialogues. Depressing a button on the mouse when the pointer is directed at the desired option will invoke the function. as the simplest and easiest way to access an information system. or question/answer. keyword. determine the nature of dialogue: Overall dialogue strategy Data entry dialogue Paging and scrolling Messages and comments User navigation Key assignment Help systems DIALOGUE STRATEGIES An online conversation uses one of the three general dialogue strategies: menudriven. 130 .
A complicated application may require a series of choices that progressively specify more detail about the application. In this case. This approach. This approach is commonly used in the design for electronic spreadsheet software.The menu of options can be positioned on the display screen in several ways. the decisions are made in a top. a selection from one set of choices leads to a subsequent decision about other alternatives included within the one. a menu of alternatives drops down (the mouse pulls down the menu). The advantage is that the main work area remains on the screen while permitting several alternatives to be considered very quickly. it is now common to feature pull down menus. menus are often nested. Menu choices can be presented in a single word. Nested Menus When there is an extensive set of processing alternatives to choose from. the display of a transaction or master file record (for example. In a sense. that is. Many transaction processing and reporting systems use the main part of the screen to present options. when the mouse points to a keyword at the top of the screen. In systems that use a mouse. or a display of a multiple-line report. the details of an order transaction). Menu nesting leads the user step-by-step through the choices in a way that avoids having to choose from an overwhelming or confusing number of 131 . Menus should be nested when one or more of the following conditions exist: The number of alternatives is too large to fit on a single computer screen A series of interrelated choices must be made (each choice depends on the previous choice) . the menu can be shown horizontally at the top or bottom of the screen. assumes that the user understands the purpose of a specific function so well that seeing a keyword will immediately communicate the meaning. to print a report. POI example. overwriting a portion of the screen. or vertically down the side of the display. the user may need only enter P to invoke the printing function. known as keyword dialogue. down fashion: general decisions are followed by more specific choices. Single-word menus typically require that only the first letter of the menu choice be entered. Two vertical columns can be used if needed. When the analyst wants to retain business information on the display and at the same time offer menu selections to users. although a single column should contain at most eight to ten choices. Sufficient room is available on the display screen to list a phrase identifying each choice.
thus reducing complexity and easing the number of alternatives to choose from at one time.e. users invoke processing activities by entering a command the system understands. they may want the ability to enter all choices together. Frequently the escape key is used to implement this feature: Press it to go back to the menu. However. the users apply their own vocabulary of words or operations. The user's commands are stated in plain English. 1. which allows users to instruct the system with less rigid commands. the phrase" compile.. The application. termed natural language. Press it again to go back at the main menu for exit to the operating system. and the natural language forms. For example. Good design practices allow a direct exit from the system. Mnemonic Command Form A special form of single-word command relies on the use of mnemonics. nested menus can be frustrating to users who rely on the system daily and use the same features each time. it should not be necessary to step backwards through each choice (from bottom to top). automatically translates these words and operations into instructions it understands to perform the appropriate tasks. and the system itself performs the translation. 2. Similarly. The words are commands that the analyst has built into the system and that programmers will account for in the source code. abbreviations based on longer phrases. when exiting from the system.options. not one at a time. the mnemonic. load. Natural Language Form An increasing number of systems features the natural language form. Keyword Dialogue With the keyword dialogue. 2. determining meaning from the context in which words are used). 132 . Single Command Form Under the single command form. one following the other ("go" means execute in many information systems groups). When users know what choices they want. Enter the word in some systems and the actions of three types of processing will begin. Each unique command has special meaning within the application and will invoke specific processing. relying on the technology of expert systems and artificial intelligence (i. and execute" is often represented through the simple mnemonic CLGO. The three forms of keyword dialogue include the single command. users enter the keyword that the system will associate with the performance of a specific process. Instead of using conventional command syntax.
The complexity of the system commands is embedded in the computer software and is not apparent in the procedures the user follows. highlighted spaces. users can determine the sequence of moving up and down or back and forth on the screen using the cursor control arrows. The answer guides the resulting processing. the cursor moves to the next area on the screen for entry of the item. When data are entered into one area. as selected by the analyst.Natural language systems motivate people to make use of their system without learning special commands or sequences. It requires the analyst to anticipate every possible answer a user might provide. Question/ Answer Dialogue Question/answer dialogues. a potentially difficult task. as their name suggests. the software suggests the sequence of items and the user keys the entry. The format may involve yes/no answers ("Do you wish to display the information on a property?") or narrative responses ("Which property do you wish to review?"). the template contains labels (or instructions) that identify the data to be entered. In addition to titles and headings on the screen. Templates are most useful when certain information must be collected and the details needed can be shown as an electronic form(the operator need only fill in the form). It resembles a printed form on the display screen. Each data entry area is set off by blank areas. dotted lines. field markers. Because the system must translate natural language commands into a form it can understand. Templates also offer the advantage of allowing the user to see all 133 . This section discusses the data entry strategies of using templates and question/answer prompts. Alternatively. The question/answer strategy allows the presentation of more elaborate questions and alternatives than do the other strategies. the analyst should minimize the number of words used to speed user-system interaction and to avoid possible errors). It is also the wordiest dialogue strategy (thus. In the best-designed systems. or dashes. this form of system may operate more slowly during some activities. Data Entry Templates A data entry template is a form or an outline showing the information to be entered. rely on the presentation of a question to the user. but the extra steps involved make this less desirable. " DATA ENTRY DIALOGUES The entry of data will be affected by the way the system assists users and prompts them for the data. 1.
but computer users would not want to enter thousands of such transactions in this manner. making corrections for any keying mistakes. Good design practices ensure that the order of details on the electronic form is logical and that it corresponds with the natural order in which people usually think of personal information (e..information that will be needed at once (in contrast to answering a series of questions one at a time). a new transaction containing the corrections is created and submitted for processing. several questions could be presented at one time. you are going through many of the same steps as in editing. For a single bank card transaction. 2. dots. all changes are made through the terminal or workstation. However. Editing in Online Systems In batch systems. Editing does the same thing: it allows you to key over something to change the current values. or lines on the source document. then address. 134 . It is not physically possible to show all choices on a single display line. this is acceptable. you might consider addition of new records to be a special case of editing.g. However. users will tire of a seemingly endless dialogue. offers the additional advantage of allowing full control of the sequence in which information is received. name. In other words. However. including keying in the data you want stored. and telling the system to store the data. Editing refers both to making changes to records already entered or stored or to the deletion of records. when corrections to data are necessary. perhaps as part of a batch other than the one in which the error was made. instead of blanks or dashes. dashes. Question/Answer Prompt In some systems with small displays (such as a point-of-sale terminal or a bank card terminal) the question/answer prompt is the only feasible option. then telephone number) or as it comes off the source document. in which case the user would provide the information for each one individually). Users are prompted for data by questions the system poses Notice that a question is posed and the user then keys in the data before the next question is asked (of course. The question/answer method. To understand how editing occurs in an online system. when you enter data to create a new record to store in the system. if only one question can be prompted at a time and the procedure is slow. which is simple to use. The data that are keyed in overwrite blanks. But you are keying over something. in online systems. it will be quite easy to understand. it is usually numbers or characters. If you think of online editing in this manner.
In designing the system's display screen layouts.) This method requires that the proper record first be retrieved and displayed on the screen. and paging and scrolling. since it allows the user to view the record before telling the system to delete the record. Some online systems ask for confirmation of the intended deletion before actually deleting the record from the files. Since the area on a computer display is limited. it is important louse the available area in the best possible fashion. The first allows the user to depress a key that instructs the system to delete the current record on the screen. one that is both consistent and effective. the screen is the system. Both methods are common. as described above. such a design can be desirable.Identifying Data for Editing To design an edit function. since it is too easy for the user to forget to blank out the key field. Design concerns include standardizing window usage. handling of navigation and escape sequences. And remember. 1. as well as to instruct the system that the transaction is a deletion. areas of the display screen that present information independently of other areas of the same screen. the analyst must provide for the following window areas: 135 . However. The other method for deleting procedures asks the user to identify the proper record by entering the record key (such as item number) and then depressing a key telling the system to delete the record. Screen Management Display screens should follow an overall design that provides for consistent usage of the areas or windows on the display. Having good standards for use of windows is essential in online systems and in the dialogue. Window Usage The importance of windows. It is the basis for good screen management. although the first is preferred. you must first provide a way for users to tell the system which record of data they wish to edit. (Some analysts use a design that requires the user to change a record key to blanks to delete records. Deleting Records in Online Editing Deleting records in online systems requires the analyst to provide a way for the users to indicate the proper record. for the user. Two methods are common.
typically includes a single instruction to initiate the next system action. Main text window Largest portion of screen. display screens. Thus. Several commonly used ones are shown in Figure. in actual practice a particular application should follow one standard. Instruction window Tells the user how to enter data. Instead. the message can be surrounded with a box that blinks. The blinking box will serve as an effective attention-getter. Navigation and menu area Instructs user how to move between pages of information. or menus. The contents of windows. It contains a brief explanation of system status (for example. may include system date. The location of the status line should always be consistent (usually it is the first or last line on an 80-column screen so that it is easy to find. function to be performed. their first purpose is to get the user’s attention.Title window Identifies the title of the screen. also identifies escape information. When designing error messages to appear in windows. the second is to relay the message. should page or scroll. but it will not impede viewing the message. Message window Contains information and control messages. or exit from system. includes data entry templates. or data. No one window design has been proven best. With this method. menus or processing alternatives. The guidelines for paging and scrolling design apply even though only a portion of the screen is involved. Flag window An alternative that may be used to signal current activities or instructions being processed. select a processing alternative. it indicates whether the CAPS 136 . it is essential to keep in mind their purpose: they signal the status of important events. it is important to keep in mind that the error messages themselves should not blink (that would make the message too difficult to read). Although this chapter demonstrates several different window standards. particularly the main text area. or application running. Several guidelines can improve your use of windows. Analysts often use blinking as a highlighting technique in error messages.
When only part of the information on display changes. With paging. the user can invoke the help function. to selecting customer versus item editing. 3. Coordinate the sequence of data items for online and offline usage. and finally exiting the system. to specifying the edit function. to specifying the customer identification number. to selecting a data verification alternative.key is locked on or whether the keyboard is in numeric mode). Special care should be taken to avoid losing or confusing users when they are expected to move between two levels or between display screens and printed source or reference documents: Use windows to facilitate using information that comes from several display screens. Paging and Scrolling Depending on the nature of the application. an equivalent number of lines rolls on from the bottom of the screen. occupying more than one display screen. Most users have difficulty keeping information in shortterm memory (recall how quickly you forget an unfamiliar telephone number). If additional information is needed. A page is one screen of information. 2. A display is said to scroll when individual data lines roll up or down. Consider how confused users would feel if they have to move through several levels to exit a system: from the data edit template. redisplay only the portion that changes. to the main menu. Facilitating User Navigation Users sometimes become lost and thus require a roadmap through the system. Scrolling can be useful when users need to scan individual lines of a listing. as lines roll off the top of the display. redisplaying the entire screen can confuse users and cause them to wonder if other items have changed. Applications that require comparisons of display and print versions of information should be designed so that the sequence and location of items on the two match. 137 . Paging can handle such a situation. The status line is intended for reference only. can be presented and the user can leaf forward or backward through the pages. Designing the system to display reference information simultaneously with the screen in which it will be used can overcome this human limitation. there may be too much information to show on a single display screen. a larger set of information. Page numbers (typically displayed at the top of the screen) identify which of several displays is on the screen and guide the user through the information. Deeply nested menus can preclude ease of navigation.
If the user needs the capability to quickly skim the stock number. the system may be designed to tell the user the number of records examined or the percentage of processing completed. and quantity on hand of inventory-all the data for one item will fit on a single line-scrolling is appropriate. A display of status is particularly useful when the processing requested takes place at a location away from the user. Messages and Comments Messages are the system's way of communicating with users. users may think that nothing is happening. its number will be displayed over the preceding one). Earlier in discussing dialogue strategies. Otherwise. messages serve one of the following purposes: Indicate the status of processing Indicate that an error has been detected . the messages "Report printing" or "Record transmitted" or "Connected" indicate that the actions are taking place. When designing screens for scrolling. Messages also provide the information users need to control the system. For example. a message can be displayed on the computer screen to show the record number or record key currently being examined (as the next one is examined. Otherwise computer users will wonder what is taking place and they may even initiate inappropriate actions to interrupt or change what the system does. we indicated that the systems analyst should develop the method of interaction between the user and the application so that alternative actions are obvious and the method for invoking each alternative is evident. description. Request user to select an action Verify that a selected action is correct Status Messages Display screens should never be blank. cost. Error Messages 138 . Similarly. For example. it is important to specify that only the data should scroll. In general. Status messages inform the user of the progress being made in specific processing. Headings and messages should remain fixed on the display. in searching a database in response to a query. The user will find scrolling easier and quicker than having a separate page for each item. in a network environment. Doing this minimizes the amount of explanation needed.
indexing. we have used many action request messages. When master file records will be deleted When a long-running process has been requested and it is important to verify that the user recognizes that the elapsed time will be substantial (in-memory processing. they are often not seen by the intended recipient.Error messages report mistakes or unexpected events that the system has detected. the system should tell the operator of an online system about it. but they are hardly noticeable because they are so natural. sorting. However. If data are missing. The manner in which the system prompts the user for an action is important. action request messages should be brief and unobtrusive. printing. the likelihood will increase that the user has seen the message. The strategy of requiring a response avoids that problem. Action Request Messages In our examples. Analysts should design messages to inform users of the following conditions: When large amounts of data (in memory or in files) will be deleted . A properly designed error message will accomplish this. In this way.” These action request messages tell the user what to do. to data ("Unexpected end of file encountered"). Whenever error messages are displayed. is preferred for this purpose. out of the ordinary range. and reading data from secondary storage) When termination of processing or exit from the system is requested 139 . or in incorrect format. either by the immediate initiation of the requested action or by the display of a concise message. The input validation tests discussed in the last chapter should also be linked with error messages. rather than display of a question mark or other graphic prompt. This category covers a wide range of information about the system. from hardware ("Printer not turned on or improperly connected"). Yet. If you look back through the illustrations. Messages should be designed to tell users what action to take and when. like all messages. Experience has proven that in designs where a message displayed for a specified number of seconds or written to a printed log. A brief message. you will see such messages as "Enter your selection" and "Press the enter key. the user should be required to take an action. even if it is nothing more than depressing a key. every command entered should be acknowledged. Action Verification Messages In general. requests that will produce significant changes or that may initiate long-running processes need verification. to software ("Error number 12 encountered in line 5001").
the user can request a second level of explanation. .) The latter form is more sophisticated than the others because it must keep track of system activity.When termination of communication with another location is requested Help Systems Messages and comments are intended to inform. . which can be in the form of reference responses or more in-depth explanations. the novice user may truly appreciate the support this method provides. (The help system may thus tell the user to store the changes before requesting the exit." Help Features A help system can be designed in any of several ways One form uses an index of terms and keywords. they may recognize that an exit at one level of a system is safe and will not cause the loss of data. . A second form uses dialogue to instruct the user in performing the task step-by-step: "Examine the.". . say. . expedite the accomplishment of a task Use the least amount of dialogue or conversation possible to accomplish an action by providing answers to essential questions. A list of all keywords can be displayed on request if the user is unsure of the proper keyword. Help functions. Some help systems are termed context-sensitive. they determine what the user is attempting to accomplish and provide information about the attempted action. However. If additional detail is needed. . that is. The user enters the appropriate keyword (perhaps a command to STORE) and an explanation for using the command is given. . move the. . or "What will happen if I . When it is anticipated that some users or some activities may require brief explanations about a certain activity or process. . not instruct. such as "What do I do to accomplish. in the edit portion. "How do I . Help Guidelines 140 . For example. . " This format is much wordier and thus is disliked by experienced users. . an exit before storing the data will result in the loss of all changes entered to that point. But at another level. . it may be desirable to design a help function in the system. . are intended to serve the following purposes: Aid the user in fixing a problem or completing a task as quickly as possible.". . system users.
A common key should always be designated to invoke help. Finally. or preparing a report. in an accounting application. or to which journal an entry is posted. not part of the solution. no functions should be omitted. not how to do the job. It is inappropriate to provide guidance on whether an entry should be a debit or credit. regardless of the function being performed. the help function will become part of the problem. 141 . If the individual must stop and think about which key invokes help In a certain part of the system. whether doing data entry. Help should always involve the entire system. editing. Imagine how frustrating it is to a user to ask for help and receive a response indicating that help is not available for that function. Thus. the user should be able to depress the same key (a "panic button") and receive assistance. it is appropriate for help to provide guidance on how to enter debits and credits or post entries to journals. help should teach the user about using the system. Thus.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.